xinerama,2 张卡,3 个显示器

xinerama,2 张卡,3 个显示器

我一直在努力把这件事做好,而且我已经很接近了,但还不够。这台机器有一个 Intel 适配器和一个显示器,还有一个 ATI 适配器和两个显示器。我很高兴使用 xinerama 来实现此功能。

这是我的 xorg.conf (Ubuntu 12.04):-

Section "Monitor"
    Identifier "Dell1"
    Option  "DPMS"
EndSection

Section "Monitor"
    Identifier "Dell2"
    Option  "DPMS"
    Option "Left" "Dell3"
EndSection

Section "Monitor"
    Identifier "Dell3"
    Option  "DPMS"
EndSection

Section "Device"
    Identifier      "intel"
    Driver          "intel"
    BusID           "PCI:0:2:0"
EndSection

Section "Device"
    Identifier      "ati"
    Driver          "radeon"
    BusID           "PCI:2:0:0"
#   Option          "Monitor-DVI-0" "Dell3"
#   Option          "Monitor-VGA-1" "Dell2"
EndSection

Section "Screen"
    Identifier      "Screen 0"
    Device          "intel"
    #Monitor                "Dell1"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier      "Screen 1"
    Device          "ati"
    Monitor         "Dell2"
    SubSection      "Display"
            Depth   24
            Virtual 2560 1024
    EndSubSection
EndSection

Section "ServerLayout"
    Option  "xinerama"      "on"
    Identifier      "multihead"
    Screen          "Screen 0"
    Screen          "Screen 1" LeftOf "Screen 0"
EndSection

Section "Module"
    Load    "glx"
EndSection

所有三台显示器均为 1280x1024 戴尔显示器。有了这个,我就可以让所有三个监视器都处于活动状态。连接到 Intel 的那个(最右边)是主要的

办公桌上的物理布置:

[ Dell 3 ] [ Dell 2 ] [ Dell 1 ]
{      ATI          } {  Intel }

X 服务器布局:

[Dell  2 ]          ] [ Dell 1 ]
[     Dell 3        ] [        ]

我的意思是,如果您从 Dell 1 上的 RHS 开始,然后向左移动,您将跳转到下一个 Dell 3。 Dell 3 显示的虚拟尺寸为 2560,当您点击它的左边缘时,它开始平移。此时,您也会出现在 Dell 2 上,当您到达最左侧边缘时,Dell 3 和 2 会显示相同的内容。

如何使显示器正确布局?

非常感谢!

约翰

编辑:-

尝试了这个,并且再次几乎有效。如果没有“主要”选项,我会在 Dell1 上获得 Unity,而在其他设备上出现黑屏(但鼠标会移动)。使用“主要”选项时,我没有得到 Unity,所有显示器上的背景都会闪烁,按下按键时显示闪烁,而且通常非常奇怪。

Section "Monitor"
    Identifier "Dell1"
    Option  "DPMS"
    Option "Primary" "False"
EndSection

Section "Monitor"
    Identifier "Dell2"
    Option  "DPMS"
    Option "Primary" "False"
EndSection

Section "Monitor"
    Identifier "Dell3"
    Option  "DPMS"
    Option "Primary" "True"
EndSection

Section "Device"
    Identifier  "intel"
    Driver      "intel"
    BusID       "PCI:0:2:0"
EndSection

Sec>tion "Device"
    Identifier  "ati0"
    Driver      "radeon"
    Option      "ZaphodHeads" "DVI-0"
    BusID       "PCI:2:0:0"
    Screen      0
EndSection

Section "Device"
    Identifier  "ati1"
    Driver      "radeon"
    Option      "ZaphodHeads" "VGA-1"
    BusID       "PCI:2:0:0"
    Screen      1
EndSection

Section "Screen"
    Identifier  "Screen 0"
    Device      "intel"
    Monitor     "Dell1"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier  "Screen 1"
    Device      "ati0"
    Monitor     "Dell2"
    DefaultDepth    24
EndSection

Section "Screen"
    Identifier  "Screen 2"
    Device      "ati1"
    Monitor     "Dell3"
    DefaultDepth    24
EndSection

Section "ServerLayout"
    Option  "xinerama"  "on"
    Identifier  "multihead"
    Screen      "Screen 0"
    Screen      "Screen 1" LeftOf "Screen 0"
    Screen      "Screen 2" LeftOf "Screen 1"
EndSection

Section "Module"
    Load    "glx"
EndSection

答案1

我不确定这是否有帮助 - 但我在使用双头配置的 CentOS 上也遇到了一些问题。

最终起作用的是:

Section "ServerLayout"
        Identifier     "Multihead layout"
        Screen      0  "Screen0" LeftOf "Screen1"
        Screen      1  "Screen1" 0 0
        InputDevice    "Keyboard0" "CoreKeyboard"
        Option      "Xinerama" "on"
        Option      "Clone" "on"
EndSection

对于监视器(两个相同的监视器),我只留下一个模型行并注释掉同步和刷新行:

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 1905FP (Digital)"
 ### Comment all HorizSync and VertSync values to use DDC:
#       HorizSync    30.0 - 81.0
#       VertRefresh  56.0 - 76.0
        Option      "dpms"
        Option      "xrandr"
        Modeline "1280x1024" 108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync
EndSection

Section "Monitor"
        Identifier   "Monitor1"
        VendorName   "Monitor Vendor"
        ModelName    "Dell 1905FP (Digital)"
 ### Comment all HorizSync and VertSync values to use DDC:
#       HorizSync    30.0 - 81.0
#       VertRefresh  56.0 - 76.0
        Option      "dpms"
        Option      "xrandr"
        Modeline "1280x1024" 108.00  1280 1328 1440 1688  1024 1025 1028 1066 +hsync +vsync
EndSection

显卡是双头 ATI(我认为与您的相当)。请注意设备部分中的“screen”参数。

Section "Device"
        Identifier  "Videocard0"
        Driver      "r500"
        BusID       "PCI:3:0:0"
        Option      "xrandr" "True"
        Screen      0
EndSection

Section "Device"
        Identifier  "Videocard1"
        Driver      "r500"
        VendorName  "Videocard Vendor"
        BoardName   "ATI Technologies Inc RV610 [Radeon HD 2400 XT]"
        BusID       "PCI:3:0:0"
        Option      "xrandr" "True"
        Screen      1
EndSection

现在将所有内容放在一起显示屏幕 - 再次 - 我不允许选择分辨率,不得不强制使用 24 位:

Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        Monitor    "Monitor0"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1280x1024"
                Virtual 1280 1024
        EndSubSection
EndSection

Section "Screen"
        Identifier "Screen1"
        Device     "Videocard1"
        Monitor    "Monitor1"
        DefaultDepth     24
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes    "1280x1024"
                Virtual 1280 1024
        EndSubSection
EndSection

在KDE中我是这样设置的:

  • 为多个显示器启用虚拟工作区
  • 监视器1:x=0,y=0,宽度=1280,高度=1024
  • 监视器2:x=1280,y=0,宽度=1280,高度=1024

相关内容