The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Настройка TV-OUT на GeForce4 (nvidia video tvout xorg)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: nvidia, video, tvout, xorg,  (найти похожие документы)
From: hatred <hatred@iatp.festu.ru.> Date: Mon, 23 Feb 2004 18:21:07 +0000 (UTC) Subject: Настройка TV-OUT на GeForce4 Оригинал: http://linux.pk.ru/phorum/read.php?f=5&i=3&t=3 Долго я сидел на старой карте S3 Trio 64V+ с двумя метрами на борту - для работы ее хватало за глаза, но ведь иногда и поиграть хочеться, и вот подкопив денег купил безымянный GeForce4 с TV выходом... И тут началось... Первое с чем я столкнулся было то что со стандартными дровами GeForce не многим отличается от моей старенькой S3 :) Проблема данная решается довольно просто: на сайте nvidia.com сливаете драйвера и устанавливаете их, следуя инструкциям в README (для слабых в английском рекомендую запастись словарем). Как ставить я рассказывать не буду по двум причинам: 1. это просто и 2. про это много написано, скажу лишь то, что перед этим следует выйти их иксов! После этого, вдоволь наигравшись в UnrealTournament и Quake 3 мне захотелось нормально смотреть фильмы, т.е. развалившись на диване, на приличной диагонали и со стерео-звуком %), т.е. вы правильно поняли - подключить телевизор к видеокарте. И началась череда чтения манов, точнее для всего достаточно README от драйверов карты, но раз вы это читаете, значит вам или лень его смотреть, либо у вас действительно большие проблемы с языком :) . Первое что я решил сделать - это TwinView - т.к. просто :) Покопавшись в README нашел какими опциями в /etc/X11/XF86Config можно его включить. Мои настройки свелись к тому что TwinView включается по-дефолту, когда стартуют иксы и если подключен телевизор на Tv-выход. Все что надо для включения TvinView, это добавить следующие опции в секцию "Device" (в которой описывается ваша видео-карта, далее идентификатор этой секции будет card0), имеющее отношение к тв-выходу помечено *: Section "Device" Identifier "card0" # Идентификатор секции Driver "nvidia" # это драйвер VideoRam 65536 # сколько памяти на борту VendorName "nvidia" BoardName "GeForce 4 MX440 SDR TV-OUT" Option "AGPMode" "4" # использовать AGP 4 Option "OverclockMem" Option "HWcursor" # использовать аппаратный курсор Option "RenderAccel" "on" # включить некоторое ускорение #Option "CursorShadow" "on" # тень для курсора, баловство :) #Option "CursorShadowAlpha" "200" # насколько тень сдвинута Option "ConnectedMonitor" "TV" # * что у нас подключено как 2 монитор # TV-телевизор Option "TVOutFormat" "COMPOSITE" # * Тип выходного сигнала COMPOSITE - для # "тюльпана", для s-video - SVIDEO Option "TVStandard" "NTSC-M" # * Тип сигнала: см. README от драйверов Option "SecondMonitorHorizSync" "30-50" # * диапазон горизонтальной развертки Option "SecondMonitorVertRefresh" "60" # * Частота вертикальной развертки, почти на всех # TV 60Hz Option "TwinView" # * включаем TvinView Option "TwinViewOrientation" "Clone" # * Что будем на телевизоре показывать: Clone - # клонируем, остальные опции в README # соответствие разрешений монитора, разрешению телевизора, первое # разрешение в паре - для монитора, вторая - для телевизора Option "MetaModes" "1024x768m,512x384; 800x600,512x384; 640x480,512x384" EndSection После всех этих не хитрых манипуляций, при запуске иксов на телевизоре будет отображаться та же картинка что и на основном мониторе, для чего это надо решайте сами :) Но самое интересное не это, подключить телевизор, как второй полноценный монитор, и использовать его соответственно. И так, для начала создадим еще одну секцию "Monitor" с таким содержанием: Section "Monitor" Identifier "Monitor1" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30.0 - 50.0 VertRefresh 60.0 EndSection Я предполагаю, что основной монитор у вас имеет идентификатор Monitor0 Параметры HorizSync и VertRefresh установите такими как указано в паспорте на ваш телевизор, хотя скорее всего они будут такими же. Следующим шагом будет дублирование секции "Device", но с учетом того что все что касается TwinView брать. Всего нужно нужно будет создать еще 2 секции, с примерно таким содержанием: Section "Device" Identifier "card1" # Идентификатор карты Driver "nvidia" VideoRam 65536 VendorName "nvidia" BoardName "GeForce 4 MX440 SDR TV-OUT" Option "AGPMode" "4" Screen 0 # Это обязательно, указывает на номер экрана который будет # отображаться на мониторе (0) или телевизоре (1) EndSection Section "Device" Identifier "card2" # Идентификатор карты Driver "nvidia" VideoRam 65536 VendorName "nvidia" BoardName "GeForce 4 MX440 SDR TV-OUT" Option "AGPMode" "4" Screen 1 # Это обязательно, указывает на номер экрана который будет # отображаться на мониторе (0) или телевизоре (1) EndSection После этого создаем еще 2 секции "Screen", одну для монитора, и другую для телевизора: Section "Screen" Identifier "Screen1" # Идентификатор экрана Device "card1" # Идентификатор карты Monitor "Monitor0" # Идентификатор основного монитора DefaultDepth 16 SubSection "Display" Depth 16 # строку Modes укажите какую вам нужно Modes "1024x768" "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200" EndSubSection EndSection Section "Screen" Identifier "Screen2" Device "card2" Monitor "Monitor1" DefaultDepth 16 SubSection "Display" Depth 16 # Разрешение экрана телевизора Modes "640x480" EndSubSection # Опции ниже уже встречались при настройке TwinView Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "TV" Option "TVOutFormat" "COMPOSITE" EndSection И наконец создаем еще одну секцию "ServerLayout": Section "ServerLayout" Identifier "TV" Screen 0 "Screen1" 0 0 Screen 1 "Screen2" RightOf "Screen1" # Позицию относительно друг друга смотрите # man XF86Config InputDevice "Mouse0" "CorePointer" InputDevice "Mouse1" "SendCoreEvents" InputDevice "Keyboard0" "CoreKeyboard" EndSection Все! теперь стартуем иксы так: $ startx -- -layout TV И когда подведем курсор мыши к правому краю экрана он перескочит на экран телевизора. Чтобы запустить приложение на экране телевизора нужно передавать программам следующий параметр: -display :0.1 (это верно для всех программ для X11) Удобно покажется запустить на экране телевизора свой оконный менеджер, для этого нужно прописать, к примеру, в ~/.xinitrc следующее: exec icewm -display :0.1 & # Запустим icewm на экране телевизора exec icewm # его же, но на основном мониторе После всего этого можно спокойно запускать на телевизоре mplayer и смотреть кино, при этом набивая курсовую в OpenOffice на мониторе :) ПРИЛОЖЕНИЕ А. Пример моего XF86Config # File generated by anaconda. Section "ServerLayout" Identifier "Anaconda Configured" Screen 0 "Screen2" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Mouse1" "SendCoreEvents" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "ServerLayout" Identifier "TVR" Screen 0 "Screen3" 0 0 InputDevice "Mouse0" "CorePointer" InputDevice "Mouse1" "SendCoreEvents" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "ServerLayout" Identifier "TV" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" RightOf "Screen0" InputDevice "Mouse0" "CorePointer" InputDevice "Mouse1" "SendCoreEvents" InputDevice "Keyboard0" "CoreKeyboard" EndSection Section "Files" # The location of the RGB database. Note, this is the name of the # file minus the extension (like ".txt" or ".db"). There is normally # no need to change the default. # Multiple FontPath entries are allowed (they are concatenated together) # By default, Red Hat 6.0 and later now use a font server independent of # the X server to render fonts. RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" FontPath "inet/127.0.0.1:7101" EndSection Section "Module" Load "dbe" Load "extmod" #Load "fbdevhw" #Load "dri" Load "glx" Load "record" #Load "freetype" #Load "type1" EndSection Section "InputDevice" Option"AutoRepeat""1 500" # when using XQUEUE, comment out the above line, and uncomment the # following line #Option"Protocol""Xqueue" # Specify which keyboard LEDs can be user-controlled (eg, with xset(1)) #Option"Xleds""1 2 3" # To disable the XKEYBOARD extension, uncomment XkbDisable. #Option"XkbDisable" # To customise the XKB settings to suit your keyboard, modify the # lines below (which are the defaults). For example, for a non-U.S. # keyboard, you will probably want to use: #Option"XkbModel""pc102" # If you have a US Microsoft Natural keyboard, you can use: #Option"XkbModel""microsoft" # # Then to change the language, change the Layout setting. # For example, a german layout can be obtained with: #Option"XkbLayout""de" # or: #Option"XkbLayout""de" #Option"XkbVariant""nodeadkeys" # # If you'd like to switch the positions of your capslock and # control keys, use: #Option"XkbOptions""rwin:swapcaps" Option"XkbOptions""grp:rwin_toggle,grp_led:scroll" Identifier "Keyboard0" Driver "keyboard" #Option "XkbSymbols" "ru(winkeys)" #Option "XkbGeometry" "microsoft(natural)" Option "XkbRules" "xfree86" Option "XkbModel" "pc105" Option "XkbLayout" "ru(winkeys)" EndSection Section "InputDevice" Identifier "Mouse0" Driver "mouse" Option "Protocol" "IMPS/2" Option "Device" "/dev/psaux" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "no" EndSection Section "InputDevice" Identifier "Mouse1" Driver "mouse" Option "Device" "/dev/input/mice" Option "Protocol" "IMPS/2" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30.0 - 64.0 VertRefresh 50.0 - 100.0 Option "dpms" # my 1024x768 @ 80.84 Hz, 64.59 kHz hsync # оттюнингованная строчка моделайн: 80.84 Гц развертки против 75 Гц Modeline "1024x768m" 85.00 1024 1032 1152 1316 768 772 775 799 # 1152x864 @ 100 Hz, 89.62 kHz hsync Modeline "1152x864" 137.65 1152 1184 1312 1536 864 866 885 902 -HSync -VSync # 1152x864 @ 60 Hz, 53.5 kHz hsync Modeline "1152x864" 89.9 1152 1216 1472 1680 864 868 876 892 -HSync -VSync # 1152x864 @ 70 Hz, 62.4 kHz hsync Modeline "1152x864m" 92 1152 1208 1368 1474 864 865 875 895 # 1152x864 @ 78 Hz, 70.8 kHz hsync Modeline "1152x864" 110 1152 1240 1324 1552 864 864 876 908 # 1152x864 @ 84 Hz, 76.0 kHz hsync Modeline "1152x864" 135 1152 1464 1592 1776 864 864 876 908 EndSection Section "Monitor" Identifier "Monitor1" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30.0 - 50.0 VertRefresh 60.0 EndSection Section "Device" Identifier "card0" Driver "nvidia" VideoRam 65536 VendorName "nvidia" BoardName "GeForce 4 MX440 SDR TV-OUT" Option "AGPMode" "4" #Option "OverclockMem" Option "DRI" BusID "PCI:1:0:0" #Option "Dac8bit" "on" Option "RenderAccel" "on" Option "CursorShadow" "on" Option "CursorShadowAlpha" "200" #Option "ConnectedMonitor" "crt,tv" #Option "ConnectedMonitor" "TV" #Option "TVOutFormat" "COMPOSITE" #Option "TVStandard" "NTSC-M" #Option "SecondMonitorHorizSync" "30-50" #Option "SecondMonitorVertRefresh" "60" #Option "TwinView" #Option "TwinViewOrientation" "Clone" #Option "MetaModes" "1024x768m,512x384; 800x600,512x384; 640x480,512x384" Screen 0 EndSection Section "Device" Identifier "card1" Driver "nvidia" VideoRam 65536 VendorName "nvidia" BoardName "GeForce 4 MX440 SDR TV-OUT" Option "AGPMode" "4" #Option "DRI" BusID "PCI:1:0:0" Option "HWcursor" Option "RenderAccel" "on" #Option "CursorShadow" "on" #Option "CursorShadowAlpha" "200" Screen 1 EndSection Section "Device" Identifier "card2" Driver "nvidia" VideoRam 65536 VendorName "nvidia" BoardName "GeForce 4 MX440 SDR TV-OUT" Option "AGPMode" "4" #Option "OverclockMem" Option "DRI" BusID "PCI:1:0:0" Option "HWcursor" #Option "Dac8bit" "on" Option "RenderAccel" "on" #Option "CursorShadow" "on" #Option "CursorShadowAlpha" "200" Option "ConnectedMonitor" "crt,tv" Option "ConnectedMonitor" "TV" Option "TVOutFormat" "COMPOSITE" Option "TVStandard" "NTSC-M" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" Option "TwinView" Option "TwinViewOrientation" "Clone" Option "MetaModes" "1024x768m,512x384; 800x600,512x384; 640x480,512x384" EndSection Section "Screen" Identifier "Screen0" Device "card0" Monitor "Monitor0" DefaultDepth 16 Option "IgnoreEDID" "true" SubSection "Display" Depth 16 Modes "1024x768m" "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200" EndSubSection EndSection Section "Screen" Identifier "Screen2" Device "card2" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Depth 16 Modes "1024x768m" "800x600" "640x480" "640x400" "480x300" "400x300" "320x240" "320x200" EndSubSection EndSection # Телевизор Section "Screen" Identifier "Screen1" Device "card1" Monitor "Monitor1" #Device "card0" #Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Depth 16 Modes "640x480" #Modes "400x300" EndSubSection Option "IgnoreEDID" "true" Option "TVStandard" "NTSC-M" Option "ConnectedMonitor" "TV" Option "TVOutFormat" "COMPOSITE" EndSection Section "Screen" Identifier "Screen3" Device "card0" Monitor "Monitor0" DefaultDepth 16 SubSection "Display" Depth 16 Modes "400x300" #Modes "400x300" EndSubSection Option "IgnoreEDID" "true" Option "TVStandard" "NTSC-M" #Option "ConnectedMonitor" "crt,tv" Option "ConnectedMonitor" "TV" Option "TVOutFormat" "COMPOSITE" Option "SecondMonitorHorizSync" "30-50" Option "SecondMonitorVertRefresh" "60" EndSection Section "DRI" Mode 0666 EndSection

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру