Здравствуйте.
Решил я настроить на TVout экран по человечески, чтобы всё изображение влезало в экран (щас показывает только центр, края за горизонтом). Погуглил. Нашёл утилитку
xvidtune
. Она не заработала, говорит что я запросил моделиню которая невозможна или не поддерживается оборудованием при любой попытке чтото сдвинуть/раздвинуть. Погуглил, нашёл доку по моделиням и их редактированию.
http://citforum.univ.kiev.ua/operating_systems/linux/HOWTO/XFree86-Video-Timings-HOWTO-15.shtml - то что надо.
При этом
DISPLAY=:1.0 xvidtune -show
показывает верную моделиню
ModeLine "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -hsync +vsync
, которая прописана в xorg.conf для монитора. Сдвигаю экран вправо до опупеня, прописываю новую моделиню
ModeLine "1024x768_100.00" 113.31 1024 1028 1140 1392 768 769 772 814 -hsync +vsync
и сохраняю конфиг как xorg.conf.shift, запускаю
sudo X :1 -config xorg.conf.shift
- позиция изображения на мониторе сдвинулась вправо, как и предполагалось. То есть моделиня подействовала. Но двигать монитор не надо, надо двигать тв.
Пробую.
$ DISPLAY=:1.1 xvidtune -show
"1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
Что никоим боком не соответствует ксоргконфу - там моделиней с таким разрешениием вообще нет! Соответственно тв все мои попытки ему навредить нагло игнорирует и на все попытки скормить ему моделиню отвечает всё той же
"1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
.
Собственно вопрос: КАК скормить ему моделиню?
Данные:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder63) Fri Aug 14 17:54:58 PDT 2009
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@palmer) Sun Feb 1 20:21:04 UTC 2009
# commented out by update-manager, HAL is now used
#Section "InputDevice"
#
# # generated from default
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/psaux"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
#EndSection
# commented out by update-manager, HAL is now used
#Section "InputDevice"
# Identifier "Keyboard0"
# Driver "kbd"
# Option "CoreKeyboard"
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc105"
# Option "XkbLayout" "us,ru,pt"
# Option "XkbVariant" ",winkeys"
# Option "XkbOptions" "grp:ctrl_shift_toggle"
#EndSection
Section "ServerLayout"
# commented out by update-manager, HAL is now used
# InputDevice "Keyboard0" "CoreKeyboard"
# commented out by update-manager, HAL is now used
# InputDevice "Mouse0" "CorePointer"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" 1182 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "glx"
EndSection
Section "ServerFlags"
# Removed Option "Xinerama" "1"
Option "Xinerama" "0"
Option "DontZap" "False"
# Removed Option "Xinerama" "0"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ","
Option "XkbOptions" "grp:ctrl_shift_toggle,lv3:ralt_switch,grp_led:scroll"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
# generated from default
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 85.0
VertRefresh 50.0 - 160.0
# Норма
# ModeLine "1024x768_100.00" 113.31 1024 1096 1208 1392 768 769 772 814 -hsync +vsync
# Сдвиг вправо
ModeLine "1024x768_100.00" 113.31 1024 1028 1140 1392 768 769 772 814 -hsync +vsync
ModeLine "800x600_120.00" 83.95 800 856 944 1088 600 601 604 643 -hsync +vsync
ModeLine "640x480_160.00" 72.85 640 680 752 864 480 481 484 527 -hsync +vsync
Option "DPMS"
# 1024x768 @ 100.00 Hz (GTF) hsync: 81.40 kHz; pclk: 113.31 MHz
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "TV-0"
HorizSync 30.0 - 85.0
VertRefresh 50.0 - 160.0
# Стандартное от nvidia-config
# ModeLine "720x576_50.00" 26.50 720 744 808 896 576 579 586 596 -hsync +vsync
# ModeLine "720x576_60.00" 32.75 720 752 816 912 576 579 586 599 -hsync +vsync
# ModeLine "720x480_60.00" 26.75 720 744 808 896 480 483 493 500 -hsync +vsync
# Стандартное
# Modeline "1024x768_60.00" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
# Сдвиг влево
Modeline "1024x768_60.00" 65.00 1024 1220 1332 1344 768 771 777 806 -hsync -vsync
EndSection
Section "Device"
# Option "BackingStore" "1"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "RenderAccel" "true"
Option "UseEvents" "false"
Option "TripleBuffer" "1"
Option "DamageEvents" "1"
Option "PixmapCacheSize" "1000000"
Option "AllowSHMPixmaps" "0"
Option "OnDemandVBlankInterrupts" "true"
Option "TwinView" "0"
Option "TwinViewXineramaInfoOrder" "CRT-1"
Option "metamodes" "CRT: 1024x768_100.00"
Option "Coolbits" "1"
Option "MigrationHeuristic" "greedy"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "TwinView" "0"
# Стандартное от nvidia-config
# Option "metamodes" "TV: 720x576 +0+0; TV: 720x576_50 +0+0; TV: 720x576_60 +0+0"
Option "metamodes" "TV: 1024x768_60.00"
Option "Coolbits" "1"
# Removed Option "TwinView" "1"
Option "MigrationHeurestic" "greedy"
SubSection "Display"
Depth 24
EndSubSection
EndSection
OS - Kubuntu 9.04
Driver - 185.18.36
Kernel - Linux arago-desktop 2.6.28-13-generic #45-Ubuntu SMP Tue Jun 30 19:49:51 UTC 2009 i686 GNU/Linux
Xorg - 1.6.0
Video - Nvidia 8600GT
TVout - s-video (по композитному кабелю, смешивание проводками).
Пользователь решил продолжить мысль 05 Сентября 2009, 23:39:22:
В результате долгого и мучительного гугления и экспериментов мой xorg.conf.shift приобрёл такой вид:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 1.0 (buildmeister@builder63) Fri Aug 14 17:54:58 PDT 2009
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 1.0 (buildd@palmer) Sun Feb 1 20:21:04 UTC 2009
# commented out by update-manager, HAL is now used
#Section "InputDevice"
#
# # generated from default
# Identifier "Mouse0"
# Driver "mouse"
# Option "Protocol" "auto"
# Option "Device" "/dev/psaux"
# Option "Emulate3Buttons" "no"
# Option "ZAxisMapping" "4 5"
#EndSection
# commented out by update-manager, HAL is now used
#Section "InputDevice"
# Identifier "Keyboard0"
# Driver "kbd"
# Option "CoreKeyboard"
# Option "XkbRules" "xorg"
# Option "XkbModel" "pc105"
# Option "XkbLayout" "us,ru,pt"
# Option "XkbVariant" ",winkeys"
# Option "XkbOptions" "grp:ctrl_shift_toggle"
#EndSection
Section "ServerLayout"
# commented out by update-manager, HAL is now used
# InputDevice "Keyboard0" "CoreKeyboard"
# commented out by update-manager, HAL is now used
# InputDevice "Mouse0" "CorePointer"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "glx"
EndSection
Section "ServerFlags"
# Removed Option "Xinerama" "1"
# Option "Xinerama" "0"
Option "DontZap" "False"
# Removed Option "Xinerama" "0"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ","
Option "XkbOptions" "grp:ctrl_shift_toggle,lv3:ralt_switch,grp_led:scroll"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
# generated from default
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "TV-0"
HorizSync 30-50
VertRefresh 60
Option "TVStandard" "NTSC-M"
# ModeLine "720x576" 26.50 720 744 808 896 576 579 586 596 -hsync +vsync
# Option "TVOutFormat" "COMPOSITE"
# Option "TVOverscan" "0.7"
# Option "DPMS" "off"
# Option "PreferredMode" "720x576_50.00"
# Option "PreferredMode" "640x480"
# Стандартное от nvidia-config
# ModeLine "720x576_50.00" 26.50 720 744 808 896 576 579 586 596 -hsync +vsync
# ModeLine "720x576_60.00" 32.75 720 752 816 912 576 579 586 599 -hsync +vsync
# ModeLine "720x480_60.00" 26.75 720 744 808 896 480 483 493 500 -hsync +vsync
# Стандартное
# Modeline "1024x768_60.00" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
# Сдвиг влево
# Modeline "1024x768" 65.00 1024 1220 1332 1344 768 771 777 806 -hsync -vsync
# ModeLine "1024x768_100.00" 113.31 1024 1028 1140 1392 768 769 772 814 -hsync +vsync
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
BusID "PCI:1:0:0"
Option "IgnoreEDID" "true"
Screen 0
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
# Option "MetaModes" "720x576"
# Option "TVOutFormat" "COMPOSITE"
# Option "TVOutFormat" "SVIDEO"
# Option "TVStandard" "NTSC-M"
# Option "TVStandard" "PAL-B"
# Option "UseDisplayDevice" "TV-0"
SubSection "Display"
# Virtual 720 576
Depth 24
Modes "720x576"
Modes "720x480"
# Modes "1024x768"
EndSubSection
EndSection
При этом удалось получить ещё 2 моделиня:
"1024x768" 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync - Стандартный. Всё хорошо кроме размера/положения.
"720x576" 31.50 720 760 840 880 576 585 588 597 -hsync -vsync - Option "TVStandard" "PAL-B" - картинка дёргается, диагональные линии слеванаправо сверхувниз. В общем неприятно.
"720x480" 28.20 720 736 856 896 480 490 493 525 -hsync -vsync - Option "TVStandard" "NTSC-M" - весёленький горизонтальный RGB градиент множеством столбиков, неравномерная яркость. Ещё неприятнее.
И что обидно - ни один из вариантов не принимает моделини!
Ещё нашёл интересный параметр Option "TVOverscan" "0.7" - похоже это то что надо, но вроде как игнорируется драйвером...
Плюс я умудрился в процессе экспериментов дважды повесить видеоподсистему (так, что даже через ssh не удалось восстановить, пришлось sudo reboot) и какимто образом умудрился переключить первичный монитор на тв - консоль теперь рисуется на нём. Как это обратно без ребута/рестарта иксов вернуть то?