Я пытаюсь настроить рабочую станцию с OpenSuse Leap 42.3, и у меня есть 3 монитора Asus 1080p, которые по какой-то причине мой GPU не получает EDID с момента запуска X Server. Я пытаюсь заставить их работать в 1920x1080 в течение нескольких часов, и мне не повезло. Всякий раз, когда я переключаюсь на Windows, все мониторы полностью идентифицируются и отображаются в разрешении 1920x1080 без заминки, настройка не требуется.
На OpenSuse, я могу заставить 2 из 3 мониторов до 1080p с помощью xrandr --newmode
xrandr --addmode
xrandr --output DISPLAY-NAME --mode 1920x1080_60.00
используя режимной предоставленную cvt
или gtf
Однако, когда я делаю это, мониторы, похоже, имеют какую-то проблему с синхронизацией, и появляются скользящие линии мерцающих пикселей, и маленький текст становится почти неразборчивым.
Я также работал над /etc/X11/xorg.conf
и пробовал десятки итераций этого файла, пытаясь собрать в Интернете различные другие посты на форуме и документы Nvidia Linux Driver.
После нескольких часов настройки файла xorg.conf
я получил 2 из 3 мониторов для отображения в 1920x1080, в то время как третий не отображается вообще на экране входа в систему, а затем отображается в 1400x1050 после входа в систему , Тем не менее, два монитора с разрешением 1080p демонстрируют ту же мерцание и неразборчивость текста, которые я получил от ручного принудительного изменения настроек дисплея с помощью xrandr
, поэтому их нельзя использовать при таком разрешении. Все 3 монитора работают плавно при разрешении 1400x1050, но это не правильное соотношение сторон, а также разрешение 1:1 для этих мониторов.
Я на:
ядро 4.4.76
X Server 1.18.3
Драйвер Nvidia 390.48
KDE Plasma 5
Я получил HorizSync 31.5-80
и VertRefresh 56.0-75.0
, взглянув на время, указанное в руководстве к моему монитору (связано с изображением в нижней части этого вопроса). По какой-то причине при вводе этих таймингов разрешение 1920x1080 не было разрешено, самое высокое было только 1400x1050.
Также ничего не стоит, что DFP-0
и DFP-4
(именуемые в файле conf как DVI1
и DVI2
соответственно) находятся на портах DVI, а DFP-1
(обозначенный как HDMI
) на порте HDMI. Монитор HDMI - это тот, который я не могу получить до 1920x1080 вообще, и тот, который отключается, когда я не вошел в сеанс KDE.
Я также попробовал конфигурацию с участием Xinerama, но там тоже не повезло.
Мой последний xorg.conf
:
# nvidia-settings: version 390.48 (buildmeister@swio-display-x86-rhel47-07) Thu Mar 22 01:06:23 PDT 2018
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 390.48 (buildmeister@swio-display-x86-rhel47-07) Thu Mar 22 01:07:32 PDT 2018
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from data in "/etc/sysconfig/mouse"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "yes"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "DVI1"
Option "Position" "0 0"
Modeline "1920x1080_60.00" 220.75 1920 2064 2264 2608 1080 1083 1088 1130 -hsync +vsync
Option "Rotate" "normal"
Option "PreferredMode" "1920x1080_60.00"
HorizSync 31.5-80
VertRefresh 56.0-75.0
Option "ModeValidation" "AllowNonEdidModes"
EndSection
Section "Monitor"
Identifier "DVI2"
Option "Position" "1920 0"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Option "Rotate" "normal"
Option "PreferredMode" "1920x1080_60.00"
HorizSync 31.5-80.0
VertRefresh 56.0-75.0
Option "ModeValidation" "AllowNonEdidModes"
EndSection
Section "Monitor"
Identifier "HDMI"
Option "Position" "3840 0"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Option "Rotate" "normal"
Option "PreferredMode" "1920x1080_60.00"
HorizSync 31.5-80.0
VertRefresh 56.0-75.0
Option "ModeValidation" "AllowNonEdidModes"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
Option "Monitor-DVI-I-1" "DVI1"
Option "Monitor-DVI-D-O" "DVI2"
Option "Monitor-HDMI-0" "HDMI"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "DVI2"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "DFP-1: 1920x1080_60.00 +0+0, DFP-0: 1920x1080_60.00 +1920+0, DFP-4: 1920x1080_60.00 +3840+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
Virtual 5760 1080
EndSubSection
EndSection
И мой последний Xorg.0.log
виден по адресу:
https://paste.fedoraproject.org/paste/~fWRIP5brKHiOlsZ5hvkbw
Вот страница загрузки руководства для моего монитора и скриншот списка синхронизации монитора
Обновление 2018-04-18
Сейчас я попытался сделать это на новой установке Debian 4.9 с KDE, у меня была та же проблема, но, по крайней мере, не нужно было настраивать вручную, чтобы все 3 монитора работали с разрешением 1366x768, что является правильным соотношением сторон. Я пробовал это с двумя разными версиями официального драйвера NVidia с одинаковыми результатами оба раза.
Для здравого смысла я восстановил образ новой установки Windows 10, не зная о мониторах, и все 3 монитора выбраны как «Универсальные мониторы без PnP», так что я думаю, что они действительно не предоставляют свой EDID. Тем не менее, Windows смогла без проблем запустить один из них с разрешением 1920x1080 при 60 Гц и после установки драйвера NVidia может без проблем запустить все 3 в этой конфигурации.
Итак, мой вопрос теперь звучит так: это проблема с драйверами Linux NVidia? Если нет, то может ли Windows что-то знать о «универсальном мониторе, отличном от pnp», который я мог бы извлечь и использовать для настройки мониторов для X-сервера?
Я бы не подумал, что можно было бы что-то особенное настроить для монитора с разрешением 60xz 1920x1080 - cvt
должен нормально работать, верно?
Обновление / Решение 2018-04-19
Для меня хитрость заключалась в том, что мы не использовали моделины cvt/gtf, а указали точный Horizsync
и VertRefresh
вместо диапазона. Мой финальный и рабочий xorg.conf приведен ниже. Примечание: я не знаю, что выполняет добавление {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}
, оно, предположительно, уменьшает разрыв экрана, но я не вижу разницы. В любом случае, эта строка не является необходимой для решения моей проблемы, только ручное указание HorizSync
и VertRefresh
и перечисление только одного монитора вместо трех - это то, что было нужно. Возможно, потребуется несколько мониторов, если все 3 моих монитора не будут идентичны.
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 384.111 (build-user@build-machine) Sun Feb 25 17:18:20 UTC 2018
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
# HorizSync source: builtin, VertRefresh source: builtin
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 67.0 - 67.0
VertRefresh 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-4"
Option "metamodes" "DVI-I-1: 1920x1080 +0+0, HDMI-0: 1920x1080 +3840+0, DVI-D-0: 1920x1080 +1920+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection