如何使用 Nouveau 驱动程序用一张卡设置 3 个显示器

如何使用 Nouveau 驱动程序用一张卡设置 3 个显示器

我已经尝试了所有方法,并且确信没有办法为每个物理卡驱动 2 个以上的显示器。我相信这是由于 CRTC 限制造成的,但我并不完全确定。我已经使用开源驱动器“nouveau”(OpenSUSE 13.2 附带的最新且最好的版本)进行了测试,但我无法启用全部同时显示我的三台显示器。通常,其中两个被启用,其中一个被关闭。即使我明确强制它打开,它也没有打开。

我使用 Google 找到的所有配置均指的是 Nouveau 的双头设置。是的,这有效。

我发现的所有与两个以上显示器相关的配置都具有(至少)两个 GPU。因此,一个 GPU 使用 2 个显示器,另一个 GPU 使用其余的(1 或 2 个显示器)。

所以,这是我的研究,但作为最后的改变,我想问你:你是否曾经设法使用 3 个显示器(VGA、HDMI、DVI)与一个单身的使用开源驱动程序的卡新风格

PS:我说的是单卡,它们有三种输出:VGA、HDMI 和 DVI

这里你可以找到我的故事。

答案1

我刚刚发现这是由于限制我的硬件不是驱动程序的问题。启动 nVIDIA 专有技术后,我得到了这样的消息:MetaMode 1 of Screen 0 has more than 2 active display devices.经过一番谷歌搜索后,我发现了比 Kepler 架构(2012 年 3 月 22 日发布)更早的 nVidia 卡的参考资料,它们不支持超过 2 个显示器(即使他们有 3 个输出)。

因此,一种可以让其他人免于沮丧的好方法是检查

CRTC >= 显示器数量

然后尝试配置X.org,否则X Server无法启用全部由于硬件限制而进行监控。

答案2

我已经成功正确设置了 3 台显示器。

这是我的 xrandr --listproviders

Providers: number : 1
Provider 0: id: 0x1b9 cap: 0x1, Source Output crtcs: 4 outputs: 6 associated providers: 0 name:NVIDIA-0

您可以通过 3 个显示器查看您的 xrandr -q

Screen 0: minimum 8 x 8, current 5760 x 1200, maximum 16384 x 16384
DVI-I-0 disconnected primary (normal left inverted right x axis y axis)
DVI-I-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 531mm x 298mm
   1920x1080     60.00*+  60.00  
   1440x900      59.89  
   1280x1024     60.02  
   1280x800      59.81  
   1152x864      75.00  
   1024x768      70.07    60.00  
   800x600       60.32    56.25  
   640x480       59.94  
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
   1920x1080     60.00*+  59.94    50.00    60.00    50.04  
   1680x1050     59.95  
   1440x900      59.89  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1280x720      60.00    59.94    50.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    72.81    59.94    59.93  
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected 1920x1200+3840+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
   1600x1200     60.00  
   1280x1024     75.02    60.02  
   1280x960      60.00  
   1152x864      75.00  
   1024x768      75.03    70.07    60.00  
   800x600       75.00    72.19    60.32    56.25  
   640x480       75.00    72.81    59.94 

您可以看到 3 个显示器已连接,现在您可以对它们进行设置

xrandr --output DVI-I-1 --auto --left-of DVI-D-0 \
       --output DVI-I-0 --auto \
       --output HDMI-0 --auto --left-of DVI-I-1

答案3

我正在运行 Linux Mint 17.1 (Rebecca) 附带的 xserver-xorg-video-nouveau 版本 1:1.0.10-1ubuntu2。我有一个四端口显卡,我使用其中三个(两个横向,一个纵向,如我的头像图片中所示)。

lspci -v

01:00.0 VGA compatible controller: NVIDIA Corporation GK104 [GeForce GTX 760] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: ASUSTeK Computer Inc. Device 847a
        Flags: bus master, fast devsel, latency 0, IRQ 89
        Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        Memory at f0000000 (64-bit, prefetchable) [size=128M]
        Memory at f8000000 (64-bit, prefetchable) [size=32M]
        I/O ports at e000 [size=128]
        Expansion ROM at fe000000 [disabled] [size=512K]
        Capabilities: <access denied>
        Kernel driver in use: nouveau

xrandr --query:

Screen 0: minimum 320 x 200, current 5040 x 1920, maximum 8192 x 8192
DVI-I-1 connected primary 1920x1200+0+720 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1200      60.0*+
   1920x1080      60.0     50.0     59.9  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        75.0     72.8     66.7     60.0     59.9  
   720x400        70.1  
DVI-D-1 connected 1200x1920+3840+0 left (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   1920x1080      60.0     50.0     59.9  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0     59.9  
   720x400        70.1  
HDMI-1 connected 1920x1200+1920+720 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200      60.0*+
   1920x1080      60.0     50.0     59.9  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1280x1024      75.0     60.0  
   1280x960       60.0  
   1152x864       75.0  
   1280x720       60.0     50.0     59.9  
   1024x768       75.1     70.1     60.0  
   832x624        74.6  
   800x600        72.2     75.0     60.3     56.2  
   640x480        75.0     72.8     66.7     60.0     59.9  
   720x400        70.1  
DP-1 disconnected (normal left inverted right x axis y axis)

xrandr --verbose | grep CRTC:

    CRTC:       0
    CRTCs:      0 1 2 3
    CRTC:       1
    CRTCs:      0 1 2 3
    CRTC:       2
    CRTCs:      0 1 2 3
    CRTCs:      0 1 2 3

所以我认为这是可以做到的,而且我不记得在我的旧的、两个端口的图形板炸毁后设置这个问题有很多问题(直到那时我在通过驱动的单独系统上使用第三个显示器x2vnc)。但不确定你错过了什么。

答案4

我刚刚让它与 Zotac (nvidia) GT 730 64 位 DDR3 卡配合使用。规格显示它可以驱动三个显示器,但正如您所注意到的,这并不容易。 “X -configure”没有做任何事情,只是报告“没有要配置的设备”,而 randr 根本没有帮助,但这个 xorg.conf 有效:

Section "ServerLayout"
    Identifier  "Layout"

    Screen  0  "Screen0" 0 0
    Screen  1  "Screen1" LeftOf "Screen0"
    Screen  2  "Screen2" RightOf "Screen0"

EndSection

#Screen 0: ===========================================

Section "Monitor"
    Identifier "Monitor0"
    Option     "DPMS" "true"
EndSection

Section "Device"
    Identifier  "Device0"
    Driver      "nouveau"
    Option      "ShadowFB"  "true"
    Option      "WrappedFB" "true"
    BusID       "PCI:1:0:0"
    Screen      0
EndSection

Section "Screen"
    Identifier  "Screen0"
    Device      "Device0"
    Monitor     "Monitor0"
EndSection

#Screen 1: ===========================================

Section "Monitor"
    Identifier  "Monitor1"
    Option      "DPMS" "true"
EndSection

Section "Device"
    Identifier  "Device1"
    Driver      "nouveau"
    Option      "ShadowFB"   "true"
    Option      "WrappedFB"  "true"
    BusID       "PCI:1:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier  "Screen1"
    Device      "Device1"
    Monitor     "Monitor1"
EndSection

#Screen 2: ===========================================

Section "Monitor"
    Identifier  "Monitor2"
    Option      "DPMS" "true"
EndSection

Section "Device"
    Identifier  "Device2"
    Driver      "nouveau"
    Option      "ShadowFB"   "true"
    Option      "WrappedFB"  "true"  
    BusID       "PCI:1:0:0"
    Option      "ZaphodHeads" "VGA-1"
    Screen      2
EndSection

Section "Screen"
    Identifier "Screen2"
    Device     "Device2"
    Monitor    "Monitor2"

EndSection

...正如你所见,“ZaphodHeads”是关键。请注意,这个 xorg.conf 被精简为必需的内容,其中大多数都有大量其他内容,但这里似乎不需要这些内容。这当然是使用 nouveau 并产生三个不同的 X 屏幕,而不是任何类型的 twinview 或 xinerama。

相关内容