我正在尝试使用 OpenSuse Leap 42.3 设置工作站,我有 3 个 Asus 1080p 显示器,但不知何故,我的 GPU 在 X Server 启动时未收到 EDID。我已经尝试让它们在 1920x1080 下工作了几个小时,但没有任何效果。每当我切换到 Windows 时,所有显示器都会被完全识别并以 1920x1080 的分辨率顺利显示,无需任何配置。
在 OpenSuse 上,我可以使用xrandr --newmode
、xrandr --addmode
和 ,以及或xrandr --output DISPLAY-NAME --mode 1920x1080_60.00
提供的模式行,强制 3 个显示器中的 2 个为 1080p 。但是,当我这样做时,显示器似乎存在某种同步问题,并且出现闪烁像素的滚动线,小文本变得几乎难以辨认。cvt
gtf
我也一直在研究/etc/X11/xorg.conf
并尝试了几十次这个文件的迭代,试图在网上建立各种其他论坛帖子和Nvidia Linux 驱动程序文档。
经过几个小时对xorg.conf
文件的调整,我让 3 台显示器中的 2 台以 1920x1080 分辨率显示,而第 3 台在登录屏幕上完全不显示,然后在我登录后以 1400x1050 分辨率显示。但是,2 台 1080p 显示器表现出与我手动强制显示设置时相同的闪烁和文本模糊xrandr
,因此它们在该分辨率下无法使用。所有 3 台显示器在 1400x1050 分辨率下均可流畅运行,但这不是正确的宽高比,也不是这些显示器的 1:1 分辨率。
我上线了:
内核4.4.76
X 服务器1.18.3
Nvidia 驱动程序390.48
KDE Plasma 5
我查看了HorizSync 31.5-80
显示器VertRefresh 56.0-75.0
手册上列出的时序(链接和图像位于本问题底部)。无论出于何种原因,输入这些时序均无法启用 1920x1080 作为分辨率,最高只有 1400x1050。
值得注意的是,DFP-0
和DFP-4
(在配置文件中分别称为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 个显示器都被视为“通用非即插即用显示器”,所以我猜它们实际上并没有提供 EDID。也就是说,Windows 能够立即以 1920x1080@60hz 运行其中一个,没有任何问题,并且在安装 NVidia 驱动程序后,能够以该配置运行所有 3 个,没有任何问题。
所以我现在的问题是:这是 Linux NVidia 驱动程序的问题吗?如果不是,Windows 是否可能知道一些有关“通用非 pnp 监视器”的信息,我可能能够提取这些信息并用它来配置 X 服务器的监视器?
我认为 1920x1080 60hz 显示器的配置没有什么特别之处,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
答案1
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 390.25 (buildd@lcy01-amd64-002) Mon Jan 29 21:11:27 UTC 2018
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 375.66 (buildmeister@swio-display-x86-rhel47-06) Mon May 1 15:45:32 PDT 2017
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 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: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "ACH QHD270QHD270QHD270"
HorizSync 88.8 - 88.8
VertRefresh 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 960"
Option "Coolbits" "28"
EndSection
Section "Screen"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0, DP-4: nvidia-auto-select +2560+0"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +2560+0, DP-4: nvidia-auto-select +0+180"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-4: nvidia-auto-select +2560+0"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-4: nvidia-auto-select +2560+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0, DP-4: nvidia-auto-select +2560+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0, DP-4: nvidia-auto-select +2560+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
这是我的配置,可以帮助您排除故障。我连续将 2、3 甚至 4 个 1440p 或 1080p 的屏幕插入我的配置中,从未出现任何问题。多年来。
您是否尝试过使用终端中的 nvidia-settings 来启动其 GUI?它显然会为您设置 xorg。您是否尝试过任何 ubuntu 衍生的东西?或者 ubuntu 本身?
你的 xrandr 原始输出是什么?
>xrandr
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95*+
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected 2560x1080+2560+0 (normal left inverted right x axis y axis) 673mm x 284mm
2560x1080 60.00*+
1920x1080 60.00 60.00 59.94 50.00 23.97 60.05 60.00 50.04
1680x1050 59.95
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DP-5 disconnected (normal left inverted right x axis y axis)