Запуск Arch Linux, ядро 4.2.5-1, Lightdm 1.16.5, xorg-server 1.17.4-2, nvidia 255.11-4, GTX 780 двухканальный dvi out.
У меня QNIX Evolution II 2710, и я пытаюсь разогнать его, но у меня возникают проблемы с xorg. Подводя итог: если я смотрю на конфигурацию xorg неправильно, я получаю тестовый экран. Ниже приведена соответствующая часть моего xorg.conf. Строки закомментированы, потому что я скопировал / вставил это из моей текущей конфигурации, и я предпочитаю иметь рабочий стол :)
Section "Monitor"
# HorizSync 88.8 - 88.8
# VertRefresh 48.0 - 120.0
Identifier "Monitor0"
VendorName "Unknown"
# ModelName "HYO DUAL-DVI"
# ModeLine "2560x1440_60" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
# ModeLine "2560x1440_86" 330.00 2560 2608 2640 2652 1440 1441 1444 1445 +hsync +vsync
# ModeLine "2560x1440_96" 519.25 2560 2776 3056 3552 1440 1443 1448 1524 -hsync +vsync
# ModeLine "2560x1440_96_2" 400.00 2560 2608 2640 2744 1440 1443 1448 1512 +hsync +vsync
# ModeLine "2560x1440_99" 536.50 2560 2776 3056 3552 1440 1443 1448 1527 -hsync +vsync
# ModeLine "2560x1440_120" 661.25 2560 2784 3064 3568 1440 1443 1448 1545 -hsync +vsync
# Modeline "2560x1440_120_2" 459.86 2560 2608 2640 2652 1440 1441 1444 1445 +hsync +vsync
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 780"
Option "NoLogo" "True"
Option "ConnectedMonitor" "DFP-3"
# Option "CustomEDID" "DFP-3: /etc/X11/2710_edid_60.bin"
Option "IgnoreEDIDChecksum" "DFP-3"
EndSection
Section "Screen"
# Option "UseEDID" "False"
# Option "UseEDIDDPI" "False"
# Option "UseEDIDFreqs" "False"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "IgnoreEDIDChecksum" "True"
Option "ExactModeTimingsDVI" "True"
Option "ModeValidation" "AllowNon60hzmodesDFPModes, NoEDIDDFPMaxSizeCheck, NoVertRefreshCheck, NoHorizSyncCheck, NoDFPNativeResolutionCheck, NoMaxSizeCheck, NoMaxPClkCheck, AllowNonEdidModes"
# NoEDIDModes
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-3"
Option "metamodes" "nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
Option "Coolbits" "26"
SubSection "Display"
Depth 24
EndSubSection
# Option "metamodes" "DFP-3: 2560x1440_60 +0 +0"
# Option "metamodes" "DFP-3: 2560x1440_96 +0 +0"
# Option "metamodes" "DFP-3: 2560x1440_99 +0 +0"
# Option "metamodes" "DFP-3: 2560x1440_120 +0 +0"
EndSection
Приведенные выше моделины представляют собой комбинацию моделей, сгенерированных из cvt, и некоторые из них, которые я нашел в блоге для разгона этого же монитора. Каждый отдельный режим приводит к тестовому экрану xorg (циклическое изменение цветов RGBW). Я также специально отложил опцию "NoEDIDModes", потому что это гарантировало тестовый экран при запуске xorg. Попытка добавить любую моделину на место, кроме дублирования режима по умолчанию, приводит к ошибке xrandr:
me@host /etc/X11 % xrandr --addmode DVI-D-0 2560x1440_96_2
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 39
Current serial number in output stream: 40
Затем я запустил x с уровнем журнала 6 и начал копаться в получившемся Xorg.2. Используемый здесь xorg.conf содержит моделину, проверки и соответствующий метамод, не комментированные в приведенном выше conf. Я не собираюсь публиковать полный журнал, потому что это 1500 строк "Режим 320x240d73 недействителен", но вот некоторые части, которые я считаю интересными:
[ 38519.330] (II) NVIDIA(GPU-0): --- Building ModePool for DFP-3 ---
[ 38519.330] (WW) NVIDIA(GPU-0): Unrecognized ModeValidation token "AllowNon60hzmodesDFPModes";
[ 38519.330] (WW) NVIDIA(GPU-0): ignoring.
[ 38519.330] (WW) NVIDIA(GPU-0): Unrecognized ModeValidation token "NoEDIDDFPMaxSizeCheck";
[ 38519.330] (WW) NVIDIA(GPU-0): ignoring.
[ 38519.330] (WW) NVIDIA(GPU-0): Unrecognized ModeValidation token
[ 38519.330] (WW) NVIDIA(GPU-0): "NoDFPNativeResolutionCheck"; ignoring.
[ 38519.353] (II) NVIDIA(0): Using MetaMode string: "nvidia-auto-select +0+0"
[ 38519.353] (II) NVIDIA(0): Requested modes:
[ 38519.353] (II) NVIDIA(0): "nvidia-auto-select+0+0"
[ 38519.353] (II) NVIDIA(0): Validated MetaModes:
[ 38519.353] (II) NVIDIA(0): MetaMode "nvidia-auto-select+0+0":
[ 38519.353] (II) NVIDIA(0): Size: 1024 x 768
[ 38519.353] (II) NVIDIA(0): DFP-3: "nvidia-auto-select"
[ 38519.353] (II) NVIDIA(0): Size : 1024 x 768
[ 38519.353] (II) NVIDIA(0): Offset : +0 +0
[ 38519.353] (II) NVIDIA(0): Panning
[ 38519.353] (II) NVIDIA(0): Domain : 1024 x 768
[ 38519.353] (II) NVIDIA(0): Tracking Area: 1024 x 768 +0 +0
[ 38519.353] (II) NVIDIA(0): Border : 0,0,0,0
[ 38519.398] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"
Это оно... Нет ошибок или предупреждений, но я заметил, что он выбрал метамод «nvidia-auto-select» по какой-то причине, когда я пытался использовать этот параметр метамоде:
Option "metamodes" "DFP-3: 2560x1440_96 +0 +0"
Затем я экспортировал edid монитора в файл .bin и попытался переопределить синхронизацию по умолчанию, используя то же самое, но в файле (подтверждение концепции, если бы я мог использовать файл edid вместо modeline/metamode). Тестовый экран Xorg; следующее в моем xorg.log:
[ 39803.648] (**) NVIDIA(0): Option "IgnoreEDIDChecksum" "True"
[ 39803.759] (WW) NVIDIA(0): The EDID read for display device DVI-D-0 is invalid:
[ 39803.759] (WW) NVIDIA(0): - The EDID has a bad checksum. The "IgnoreEDIDChecksum" X configuration option may be used to attempt using mode timings in this EDID in spite of this error. A corrupt EDID may have mode timings beyond the capabilities of your display, and could damage your hardware. Please use with care.
[ 39803.778] (WW) NVIDIA(0): DFP-3 does not have an EDID, or its EDID does not contain a
[ 39803.778] (WW) NVIDIA(0): maximum image size; cannot compute DPI from DFP-3's EDID.
По крайней мере, я получил ошибку на этот раз. За исключением того, что я использую опцию IgnoreEDIDChecksum и лично проверил контрольную сумму EDID, чтобы убедиться, что она действительно верна. Я вручную создал edid.bin с нужной мне модельной линией, но, к сожалению, я не могу проверить ее, не получив таких ошибок.
Любая помощь / комментарии приветствуются :)