Ubuntu 多显示器无法按预期工作

Ubuntu 多显示器无法按预期工作

我有一台 Mac Pro 系统,配有两块升级版的 NVidia 8800 GT 显卡。我使用四台显示器。中间的显示器是 30 英寸的 2560x1600 显示器,两边各有两台 24 英寸的 1920x1200 显示器,向下偏移 300 像素以匹配物理布局。最后,我在右侧有一台 1600x1200 的 Cintiq 21UX。

刚刚全新安装了 Ubuntu 11.10,然后运行了所有更新,最后获取了更新的 NVidia 驱动程序。xorg.conf通过 NVidia 实用程序进行配置,然后进行了简单的重命名,这样我就知道我在看什么了。但是,我无法让配置正常工作。我最多只能使用两个显示器,但是当我尝试启用三个显示器时,事情就开始变得奇怪,渲染在错误的位置,幽灵鼠标点击距离实际位置半个屏幕。如果我尝试使用四个显示器,那么 UI 甚至不会出现……只有带有 Nautilus 菜单的桌面,但没有启动器、时钟或其他任何东西。

这是我的xorg.conf文件。有人发现这里有问题吗?我没有发现,而且我已经为此挣扎了八个小时。

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "AppleScreen" 1920 0
    Screen      1  "RightGatewayScreen" 4480 300
    Screen      2  "CintiqScreen" 6400 900
    Screen      3  "LeftGatewayScreen" 0 300
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
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 "Device"
    Identifier     "VideoCard1A"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
    BusID          "PCI:2:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "VideoCard1B"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
    BusID          "PCI:2:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "VideoCard2A"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
    BusID          "PCI:1:0:0"
    Screen          1
EndSection

Section "Device"
    Identifier     "VideoCard2B"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8800 GT"
    BusID          "PCI:1:0:0"
    Screen          0
EndSection

Section "Monitor"
    Identifier     "AppleMonitor"
    VendorName     "Unknown"
    ModelName      "Apple Cinema HD"
    HorizSync       49.3 - 98.5
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "RightGatewayMonitor"
    VendorName     "Unknown"
    ModelName      "Gateway FPD2485W"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "LeftGatewayMonitor"
    VendorName     "Unknown"
    ModelName      "Gateway FPD2485W"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "CintiqMonitor"
    VendorName     "Unknown"
    ModelName      "WAC Cintiq21UX"
    HorizSync       31.0 - 92.0
    VertRefresh     56.0 - 85.0
    Option         "DPMS"
EndSection

Section "Screen"
    Identifier     "AppleScreen"
    Device         "VideoCard1A"
    Monitor        "AppleMonitor"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DFP-0: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "RightGatewayScreen"
    Device         "VideoCard1B"
    Monitor        "RightGatewayMonitor"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP-1: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "LeftGatewayScreen"
    Device         "VideoCard2A"
    Monitor        "LeftGatewayMonitor"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "DFP: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "CintiqScreen"
    Device         "VideoCard2B"
    Monitor        "CintiqMonitor"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "CRT: nvidia-auto-select +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

# Tried both enabled and disabled here but to no avail.    
Section "Extensions"
    Option         "Composite" "Disable"
EndSection

更新

有人评论说我不应该让所有四台显示器都绝对定位,但这是完全正确的。如果您的分辨率可以改变,或者只是因为如果您不小心,您可能会无意中导致屏幕重叠或更糟的是,在它们之间产生“无人区”的间隙,从而无法到达,那么建议不要这样做,但这里的情况并非如此。同样,鼠标按预期在所有显示器上移动。此外,即使使用相对定位(例如“LeftOf”,“RightOf”),我仍然遇到同样的问题。

我开始认为是宽度过大导致了这个问题。任何超过 4000 像素宽的东西似乎都会让人厌烦,而我的桌面宽度是 8000 像素。

答案1

听起来您的显示器配置为单独的 X 显示器,而不是一个。您想要的是 TwinView/Xinerama。

也许也可以通过他们的 GUI 工具进行配置。不过我自己从未使用过,所以我不太确定。

Section "ServerLayout"
    Identifier      "Xinerama"
    Screen          0 "Default Screen[0]" 0 0
    Screen          1 "Default Screen[1]" LeftOf "Default Screen[0]"
    Screen          2 "                 " Above  "                 "
    Screen          3 "                 " Above  "                 "
    InputDevice     "Generic Keyboard"
    InputDevice     "Configured Mouse"
    Option          "Xinerama"      "on"
EndSection

假设非水平对齐,但从您的配置来看,我假设您确实有水平对齐。它确实使它们作为一个屏幕运行,但通常它不关心它们的大小。至少在水平对齐时。

相关内容