xinerama, 2 cards, 3 monitors

5,943

I am not sure if this helps - but I had some problems on CentOS with a dual-head-configuration, too.

What finally worked:

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

For the Monitors (two identical ones) I only left one modeline and commented out the Sync and refresh lines:

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

The video-card is a dual-head ATI (comparable to yours I think). Note the "screen" parameter within the device-section.

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

Now putting it all togehter for the screens - again - I allowed no choice for the resolutions and had to force 24bit:

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

In KDE I had so set:

  • enable virtual workspaces for multiple monitors
  • Monitor1: x=0, y=0, width=1280, hight=1024
  • Monitor2: x=1280, y=0, width=1280, hight=1024
Share:
5,943

Related videos on Youtube

JohnCC
Author by

JohnCC

Updated on September 18, 2022

Comments

  • JohnCC
    JohnCC over 1 year

    I've been trying to get this right and I'm so nearly there, but not quite. This machine has an Intel adapter with one monitor, and an ATI adapter with two. I'm happy to use xinerama to get this working.

    Here is my 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
    

    All three monitors are 1280x1024 Dells. With this, I get all three monitors live. The one connected to the Intel (the rightmost) is the primary

    Physical arrangement on desk:

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

    X server layout:

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

    By this, I mean that if you start at the RHS on Dell 1, and move left, you jump to Dell 3 next. Dell 3 is showing a virtual size of 2560, and as you hit the left edge of it, it starts to pan. At this point, you also appear on Dell 2, and by the time you hit the leftmost edge, Dell 3 and 2 are showing the same thing.

    How can I get the monitors to lay out correctly?

    Many thanks!

    John

    EDIT:-

    Tried this instead, and again it almost works. Without the "Primary" options I get Unity on Dell1 and black screens on the others (but mouse moves across). With "Primary" options I get no Unity, background on all monitors which flickers, displays flicker when keys pressed, and it's generally very odd.

    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