2

Запуск 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 с нужной мне модельной линией, но, к сожалению, я не могу проверить ее, не получив таких ошибок.

Любая помощь / комментарии приветствуются :)

0