在两个相同的GPU上安装带有监视器的多监视器扩展显示器。
测试了每个GPU及其所有显示端口。 (成功)
注意:每个GPU都有1个显示器,1个HDMI和2个DVI端口。
测试Nvidia X Server是否可以在同时插入时同时看到两个GPU。 (成功)
注意:默认情况下禁用一个GPU。
我尝试了xorg.conf文件的许多配置。 我获得大多数试验的最接近成功的是:
#xorg.file for 6-screen, 2-GPU setup
###############################################################
# Mouse Configuration options
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
# Keyboard Configuration options
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
###############################################################
# Monitor Configuration options
Section "Monitor"
Identifier "Monitor0"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor3"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor4"
VendorName "Dell, Inc."
ModelName "DELL E2009W"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor5"
VendorName "Dell, Inc."
ModelName "DELL E2009W"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
################################################################
# GPU Configuration options
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:1:0:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:2:0:0"
EndSection
################################################################
# device & monitor bindings configuration options
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
Monitor "Monitor1"
Monitor "Monitor2"
Monitor "Monitor3"
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor4"
Monitor "Monitor5"
Option "Stereo" "0"
Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+1050, DVI-D-0: nvidia-auto-select +3360+1050"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
#############################################################
# Xinerma & Compsite extensions
Section "Extensions"
Option "Composite" "Disable"
EndSection
##############################################################
# Screen bindings configuration options
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 1050
Screen 1 "Screen1" Above "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection
###########################################################
# Unused section
Section "Files"
EndSection
这是不无限登录循环问题。 无限登录循环是我问题的症状。
有几个无限循环的问题/答案,那些假设你犯了一个错误并想要修复"重置为默认值的问题。以下是其中一些重置为默认值"修复'这不是我的问题。
我不想要重置为默认值,并且可以在每次尝试后将我的系统恢复到一个显卡的工作状态。我问如何进一步更改设置/配置以获得我的目标(没有登录循环)?
答案 0 :(得分:3)
好吧,我通过一些广泛的研究和测试回答了我的问题。如果你有一个多gpu,多监视器系统,你想要一个统一的桌面(这意味着Windows可以捕捉到监视器,并且可以跨监视器拖动程序窗口,无论哪个监视器在哪个gpu上)。然后简短的回答是Nvidia显卡的SLI /基础Mosaic。
但是,除非您花费60多个小时阅读文档并与他人交谈(这就是我所做的),否则会丢失多个信息点。
我将提供多个链接和澄清点,以帮助其他人的挫折和努力。了解所有命令和建议来自Ubuntu 16.04,Unity DE,Nvidia Geforce驱动程序v380 +立场,可能不适用于其他系统和硬件。
以下几点[错误]沟通:
使用nvidia-settings
时,Nvidia将配置并向x服务器和RandR发送错误信息,然后在内部处理逻辑本身。
Nvidia有自己的xinerama与X服务器xinerama分开。如果你在xorg.conf文件中启用xinerama,那就是X服务器自己的Xinerma而不是Nvidia(如果你试图通过nvidia-settings
做某事,那就不要这样做了。
Nvidia会将所有显示器置于1个屏幕下,并将此屏幕作为统一桌面呈现给X服务器,同时使用自己的内部xinerama逻辑让RandR正确查看单独的显示器。
nvidia-settings
管理桌面的自然方式(I.E.禁用Nvidia的内部xinerama)。这将需要在xorg.conf文件中启用X服务器的xinerama(但是这会破坏我在开始时提到的统一桌面期望之一)。Nvidia的结束 - > RandR& X服务器说明
Nvidia如何使用xorg.conf文件并不反映您在X server,X org和xorg.conf文档中所读到的内容。相反,您需要专注于阅读Nvidia文档。但是,当您转到文档时请注意URL。 ' / README /'之前的数字需要是你的Nvidia驱动程序版本号,这是' 390.42'在下面的示例网址中。很多谷歌点击nvidia设置文档对旧驱动程序来说真的是老文档。如果您获得旧文档,这将引导您完成循环。 示例:
http://us.download.nvidia.com/XFree86/Linux-x86_64/390.42/README/index.html
Section "Screen"
示例,以便澄清。Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "GPU-0.DFP-0: nvidia-auto-select +0+0,
GPU-0.DFP-4: nvidia-auto-select +1680+0,
GPU-1.DFP-0: nvidia-auto-select +3360+0,
GPU-1.DFP-4: nvidia-auto-select +5040+0,
Option "MultiGPU" "Off"
Option "SLI" "on"
Option "BaseMosaic" "on"
SubSection "Display"
Depth 24
EndSubSection
EndSection
metamode
可以是特定的
使用哪个gpu和端口。MultiGPU
并不是指主板上显卡的数量。不太模糊的Section Screen
是:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "GPU-a0bd4a65-1c2b-f765-eeb2-db96b3f4b25a.GPU-0.DVI-I-1: nvidia-auto-select +0+0,
GPU-a0bd4a65-1c2b-f765-eeb2-db96b3f4b25a.GPU-0.DVI-D-0: nvidia-auto-select +1680+0,
GPU-a85ce4bc-1e9b-6275-2aee-0d1ed8bd7ce2.GPU-1.DVI-I-1: nvidia-auto-select +3360+0,
GPU-a85ce4bc-1e9b-6275-2aee-0d1ed8bd7ce2.GPU-1.DVI-D-0: nvidia-auto-select +5040+0"
Option "MultiGPU" "Off"
Option "SLI" "on"
Option "BaseMosaic" "on"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Nvidia的结束 - >的xorg.conf
所以最终的答案是SLI使用nvidia-settings
作为我想要的统一桌面时需要Mosiac。但是,如果不是Quadro或NVS 选定的GPU系列,则只能在两个或更多GPU上启用允许三个屏幕。这并不是因为我宝贵的Geforce GTX 970的技术无法处理它,因为Nvidia在nvidia-settings
代码中人为地限制了它以推广他们的新GPU。我可以从这个Nvidia forum以及查看测试存储库中的source代码中注意到这一点。
事实上,最初你可以在2个未选择的GPU上拥有3个以上的屏幕,直到296个驱动程序强制进行更改。
如果你在没有合适的GPU的情况下仍然尝试,它将导致所有屏幕都显示在RandR GUI和Nvidia设置GUI中。但是,您会注意到除三个监视器外的所有监视器都将被禁用,并且只有在禁用已启用的3个监视器中的一个时才能启用它们。
xrandr --version
xrandr --listproviders
sudo Xorg -version
sudo lspci -vvv |grep -i -A 20 nvidia
nvidia-smi
nvidia-xconfig --query-gpu-info
nvidia-settings
cat /var/log/Xorg.0.log
nvidia-xconfig -t
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Geforce GTX 970"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "GPU-a0bd4a65-1c2b-f765-eeb2-db96b3f4b25a.GPU-0.DVI-I-1: nvidia-auto-select +0+0,
GPU-a0bd4a65-1c2b-f765-eeb2-db96b3f4b25a.GPU-0.DVI-D-0: nvidia-auto-select +1680+0,
GPU-a85ce4bc-1e9b-6275-2aee-0d1ed8bd7ce2.GPU-1.DVI-I-1: nvidia-auto-select +3360+0,
GPU-a85ce4bc-1e9b-6275-2aee-0d1ed8bd7ce2.GPU-1.DVI-D-0: nvidia-auto-select +5040+0"
#GPU-a0bd4a65-1c2b-f765-eeb2-db96b3f4b25a.GPU-0.DP-1: nvidia-auto-select +1680+1050,
#GPU-a0bd4a65-1c2b-f765-eeb2-db96b3f4b25a.GPU-0.HDMI-0: nvidia-auto-select +0+1050,
#GPU-a85ce4bc-1e9b-6275-2aee-0d1ed8bd7ce2.GPU-1.HDMI-0: nvidia-auto-select +3360+1050,
#GPU-a85ce4bc-1e9b-6275-2aee-0d1ed8bd7ce2.GPU-1.DP-1: nvidia-auto-select +5040+1050"
Option "MultiGPU" "Off"
Option "SLI" "on"
Option "BaseMosaic" "on"
SubSection "Display"
Depth 24
EndSubSection
EndSection
答案 1 :(得分:1)
我最近有机会做一些非常相似的事情:2个Nvida GPU, 每个驾驶3个显示器。我在过程中发现的一些东西 让它工作是:
如果您从单个GPU驱动多个显示器,您将会 需要为每个头和每个设备部分设置一个设备部分 需要一个'屏幕编号'选项,其中'编号'从0变为1 少于连接的监视器数量。
我认为每台显示器需要一个屏幕部分。来自 xorg.conf手册页:'A“屏幕”代表图形的绑定 设备(设备部分)和监视器(监视器部分)。'
ServerLayout中Screen选项中的screen-num参数 section与屏幕中的屏幕编号参数无关 “设备”部分中的选项。
调试X windows配置时我发现有用的东西 问题是以多用户模式启动系统(将“3”附加到 在早期启动屏幕中的内核参数),创建一个简单的.xinitrc 文件(比如,只有'xterm'行(假设你有xterm) 安装)),然后用'startx'启动X.然后,如果(何时)它 失败,您将能够查看/var/log/Xorg.0.log中的日志文件, 对xorg.conf进行更改,然后重试。
我对你的xorg.conf文件进行了一些编辑。我评论了一些选项 在屏幕部分,因为它们将取决于您的本地端口 名称,你肯定想要改变屏幕的方式 安排在ServerLayout部分。
我希望您可以将此作为获得工作设置的基础。它的 很烦人,因为一切都必须适合它的工作 所有
#xorg.file for 6-screen, 2-GPU setup
###############################################################
# Mouse Configuration options
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
# Keyboard Configuration options
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
###############################################################
# Monitor Configuration options
Section "Monitor"
Identifier "Monitor0"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor3"
VendorName "Dell, Inc."
ModelName "DELL E207WFP"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor4"
VendorName "Dell, Inc."
ModelName "DELL E2009W"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
Section "Monitor"
Identifier "Monitor5"
VendorName "Dell, Inc."
ModelName "DELL E2009W"
HorizSync 30.0 - 83.0
VertRefresh 56.0 - 75.0
EndSection
################################################################
# GPU Configuration options
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:1:0:0"
Screen 2
EndSection
Section "Device"
Identifier "Device3"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:2:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device4"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:2:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device5"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
BusID "PCI:2:0:0"
Screen 2
EndSection
################################################################
# device & monitor bindings configuration options
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Device "Device2"
Monitor "Monitor2"
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen3"
Device "Device3"
Monitor "Monitor3"
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen4"
Device "Device4"
Monitor "Monitor4"
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen5"
Device "Device5"
Monitor "Monitor5"
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
#Option "metamodes" "DVI-I-1: nvidia-auto-select +1680+0, HDMI-0: nvidia-auto-select +3360+0, DP-1: nvidia-auto-select +5040+0, DVI-D-0: nvidia-auto-select +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
#############################################################
# Xinerma & Compsite extensions
Section "Extensions"
Option "Composite" "Disable"
EndSection
##############################################################
# Screen bindings configuration options
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 1050
Screen 1 "Screen1" Above "Screen0"
Screen 2 "Screen2" Above "Screen1"
Screen 3 "Screen3" Above "Screen2"
Screen 4 "Screen4" Above "Screen3"
Screen 5 "Screen5" Above "Screen4"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "1"
EndSection
###########################################################
# Unused section
Section "Files"
EndSection