Results 1 to 10 of 10

Thread: Triple Head - almost working

  1. #1
    Join Date
    Sep 2011
    Posts
    5

    Question Triple Head - almost working

    Hello,

    I recently brought a docking station for my trusty T60 in order to use two external screens(20", 1680x1050), which would give me an incredible screen size of 4800x1050 (internal 14" TFT is 1440x1050). Unfortunately, the onboard chip(intel) is limited to 4096x4096, so I put an old HD 2400 PRO into the docking station and connected the external screens to it. My xorg.conf is as following:
    Code:
    Section "ServerLayout"
            Identifier     "X.org Configured"
            Screen        "Screen0"
            Screen        "Screen1"
    #       Screen          "Screen2"
            InputDevice    "Mouse0" "CorePointer"
            InputDevice    "Keyboard0" "CoreKeyboard"
            Option         "Xinerama" "off"
    #       Option          "Clone" "false"
    EndSection
    
    Section "Files"
            ModulePath   "/usr/lib64/xorg/modules/updates"
            ModulePath   "/usr/lib64/xorg/modules"
            FontPath     "/usr/share/fonts/misc:unscaled"
            FontPath     "/usr/share/fonts/TTF/"
            FontPath     "/usr/share/fonts/OTF/"
            FontPath     "/usr/share/fonts/Type1/"
            FontPath     "/usr/share/fonts/100dpi:unscaled"
            FontPath     "/usr/share/fonts/75dpi:unscaled"
            FontPath     "/usr/share/fonts/URW/"
            FontPath     "/usr/share/fonts/cyrillic:unscaled"
            FontPath     "/usr/share/fonts/misc/sgi:unscaled"
            FontPath     "/usr/share/fonts/truetype/"
    EndSection
    
    Section "Module"
            Load  "record"
            Load  "glx"
            Load  "dbe"
            Load  "dri2"
            Load  "vnc"
            Load  "dri"
            Load  "extmod"
    EndSection
    
    Section "InputDevice"
            Identifier  "Keyboard0"
            Driver      "kbd"
    EndSection
    
    Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "mouse"
            Option      "Protocol" "auto"
            Option      "Device" "/dev/input/mice"
            Option      "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "Monitor"
            Identifier   "MonitorIntern"
            Option "DPMS"
    #       Option "Primary"    "True"
    EndSection
    
    Section "Monitor"
            Identifier   "MonitorM"
            Option  "DPMS"
            #Option "LeftOf" "MonitorIntern"
    #       Option  "LeftOf" "MonitorIntern"
    EndSection
    
    Section "Monitor"
            Identifier   "MonitorL"
            Option "DPMS"
            Option "LeftOf" "MonitorM"
    EndSection
    
    #Section "Monitor"
    #       Identifier      "MonitorD"
    #EndSection
    
    Section "Device"
            Identifier  "Card0"
            Driver      "radeon"
            BusID       "PCI:12:0:0"
            Option      "monitor-VGA-1" "MonitorL"
            Option   "monitor-DVI-0" "MonitorM"
            #Option "monitor-DIN" "MonitorD"
            Option "NoMergedXinerama" "true"
            Option "MergedFB" "false"
            Screen  0
    EndSection
    
    #Section "Device"
    #       Identifier  "Card1"
    #       Driver      "radeon"
    #       BusID       "PCI:12:0:0"
    #       #Option     "monitor-VGA-1" "MonitorL"
    #       Option   "monitor-DVI-0" "MonitorM"
    #       #Option "monitor-DIN" "MonitorD"
    #       Option "NoMergedXinerama" "true"
    #       Option "MergedFB" "false"
    #       Screen  1
    #EndSection
    
    Section "Device"
            Identifier  "Card1"
            Driver  "intel"
            BusID   "PCI:0:2:0"
            Option  "monitor-LVDS1" "MonitorIntern"
    #       Option  "monitor-VGA1" "MonitorM"
    #       Screen 2
    EndSection
    
    Section "Screen"
            Identifier "Screen0"
            Device "Card0"
            Monitor "MonitorL"
            SubSection "Display"
                    Modes "1680x1050"
                    Depth 24
            EndSubSection
    EndSection
    
    Section "Screen"
            Identifier "Screen1"
            Device "Card0"
            Monitor "MonitorM"
            SubSection "Display"
                    Modes "1680x1050"
                    Depth 24
            EndSubSection
    EndSection
    
    #Section "Screen"
    #       Identifier "Screen1"
    #       Device "Card0"
    #       Monitor "MonitorM"
    #       SubSection "Display"
    #               Depth 24
    #       EndSubSection
    #EndSection
    
    Section "Screen"
            Identifier "Screen2"
            Device  "Card1"
    #       Monitor "MonitorM"
            Monitor "MonitorIntern"
            SubSection "Display"
                    Depth 24
            EndSubSection
    EndSection
    It works fine when I only use the external screens, but when I uncomment Screen2 in the server section, funny things happen:
    First of all, during the logon process, only the external displays are usable, but the image spans both screens(like Xinerama). The internal display gets somewhat usable when KDE is started, i.e. you can add a panel to it and start applications, but you aren't able to drag windows from/to one of the other screens. All three displays have DRI working fine. I could live with the "separation" of the third display, but
    my question is: how can I force X to treat the external displays as separate screens and not spanning the image over both?

  2. #2
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,180

    Default

    Just curious, why not order the displays so that the Intel one works?

    For example:

  3. #3
    Join Date
    Sep 2011
    Posts
    5

    Default

    Well, the Intel card isn't very fast anyways. Even if I only use my internal screen, desktop effects(KWin) sometimes lag... When I disable effects completely and using only one external screen(for example a beamer, 1024x768) scrolling in Firefox gets already painfully slow.

  4. #4
    Join Date
    Dec 2007
    Posts
    2,395

    Default

    Quote Originally Posted by maxf View Post
    All three displays have DRI working fine. I could live with the "separation" of the third display, but
    my question is: how can I force X to treat the external displays as separate screens and not spanning the image over both?
    To do that, you need to add separate screen/device sections for each each head on the discrete card.

  5. #5
    Join Date
    Sep 2011
    Posts
    5

    Default

    Tried it, doesn't work. xorg.conf in this case is as following:
    Code:
    Section "ServerLayout"
            Identifier     "X.org Configured"
            Screen        "Screen0"
            Screen        "Screen1" RightOf "Screen0"
            Screen        "Screen2" RightOf "Screen1"
            InputDevice    "Mouse0" "CorePointer"
            InputDevice    "Keyboard0" "CoreKeyboard"
            Option         "Xinerama" "off"
    EndSection
    
    Section "Files"
            ModulePath   "/usr/lib64/xorg/modules/updates"
            ModulePath   "/usr/lib64/xorg/modules"
            FontPath     "/usr/share/fonts/misc:unscaled"
            FontPath     "/usr/share/fonts/TTF/"
            FontPath     "/usr/share/fonts/OTF/"
            FontPath     "/usr/share/fonts/Type1/"
            FontPath     "/usr/share/fonts/100dpi:unscaled"
            FontPath     "/usr/share/fonts/75dpi:unscaled"
            FontPath     "/usr/share/fonts/URW/"
            FontPath     "/usr/share/fonts/cyrillic:unscaled"
            FontPath     "/usr/share/fonts/misc/sgi:unscaled"
            FontPath     "/usr/share/fonts/truetype/"
    EndSection
    
    Section "Module"
            Load  "record"
            Load  "glx"
            Load  "dbe"
            Load  "dri2"
            Load  "vnc"
            Load  "dri"
            Load  "extmod"
    EndSection
    
    Section "InputDevice"
            Identifier  "Keyboard0"
            Driver      "kbd"
    EndSection
    
    Section "InputDevice"
            Identifier  "Mouse0"
            Driver      "mouse"
            Option      "Protocol" "auto"
            Option      "Device" "/dev/input/mice"
            Option      "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "Monitor"
            Identifier   "MonitorIntern"
            Option "DPMS"
    EndSection
    
    Section "Monitor"
            Identifier   "MonitorM"
            Option  "DPMS"
    EndSection
    
    Section "Monitor"
            Identifier   "MonitorL"
            Option "DPMS"
    EndSection
    
    Section "Device"
            Identifier  "Card0"
            Driver      "radeon"
            BusID       "PCI:12:0:0"
            Screen  0
    EndSection
    
    Section "Device"
            Identifier  "Card1"
            Driver      "radeon"
            BusID       "PCI:12:0:0"
            Screen  1
    EndSection
    
    Section "Device"
            Identifier  "Card2"
            Driver  "intel"
            BusID   "PCI:0:2:0"
            Option  "monitor-LVDS1" "MonitorIntern"
    #       Screen 2
    EndSection
    
    Section "Screen"
            Identifier "Screen0"
            Device "Card0"
            Monitor "MonitorL"
            SubSection "Display"
                    Modes "1680x1050"
                    Depth 24
            EndSubSection
    EndSection
    
    Section "Screen"
            Identifier "Screen1"
            Device "Card1"
            Monitor "MonitorM"
            SubSection "Display"
                    Modes "1680x1050"
                    Depth 24
            EndSubSection
    EndSection
    
    Section "Screen"
            Identifier "Screen2"
            Device  "Card2"
            Monitor "MonitorIntern"
            SubSection "Display"
                    Depth 24
            EndSubSection
    EndSection
    When starting KDM, things get even more entertaining: I get three black (not blank, black) screens and after a moment I can move the typical X cursor around. The two external screens seem to show the same picture, while the internal screen shows a different one. If I switch to console and start, like xterm (display manually set to :0), it seems to run well, except that I can't see anything...

    Xorg.0.log is at http://pastebin.com/nqpBxecd in case somebody is interested

  6. #6
    Join Date
    Jul 2009
    Location
    Germany
    Posts
    512

    Default

    Example config for 3 heads with 2 radeons:

    http://paste.pocoo.org/show/273176/

    should be pretty forward to adjust this to your situation. (to get 3d acceleration + seperated screen set Xinerama to false)

  7. #7
    Join Date
    Sep 2011
    Posts
    5

    Default

    Same results as in #5, screens just get blank
    BTW: Tried the proprietary driver. In this case the XServer just segfaults when I enable the internal screen...

  8. #8
    Join Date
    Dec 2007
    Posts
    2,395

    Default

    Quote Originally Posted by maxf View Post
    Same results as in #5, screens just get blank
    BTW: Tried the proprietary driver. In this case the XServer just segfaults when I enable the internal screen...
    Make sure you specify the "ZaphodHeads" option properly in each device section to assign a connector to each instance of the driver. Note that the connectors are global with KMS so if you have two cards with HDMI ports, they will be HDMI-0 and HDMI-1 rather than both being HDMI-0.

  9. #9
    Join Date
    Sep 2011
    Posts
    5

    Default

    WORKS! Thank you!
    In case somebody's having the same problem: The ZaphodHeads option did it!
    Code:
    Section "ServerLayout"
    	Identifier     "X.org Configured"
    	Screen        "Screen0"
    	Screen        "Screen1" RightOf "Screen0"
    	Screen        "Screen2" RightOf "Screen1"
    	InputDevice    "Mouse0" "CorePointer"
    	InputDevice    "Keyboard0" "CoreKeyboard"
    	#Option         "Xinerama" "true"
    EndSection
    
    Section "Files"
    	ModulePath   "/usr/lib64/xorg/modules/updates"
    	ModulePath   "/usr/lib64/xorg/modules"
    	FontPath     "/usr/share/fonts/misc:unscaled"
    	FontPath     "/usr/share/fonts/TTF/"
    	FontPath     "/usr/share/fonts/OTF/"
    	FontPath     "/usr/share/fonts/Type1/"
    	FontPath     "/usr/share/fonts/100dpi:unscaled"
    	FontPath     "/usr/share/fonts/75dpi:unscaled"
    	FontPath     "/usr/share/fonts/URW/"
    	FontPath     "/usr/share/fonts/cyrillic:unscaled"
    	FontPath     "/usr/share/fonts/misc/sgi:unscaled"
    	FontPath     "/usr/share/fonts/truetype/"
    EndSection
    
    Section "Module"
    	Load  "record"
    	Load  "glx"
    	Load  "dbe"
    	Load  "dri2"
    	Load  "vnc"
    	Load  "dri"
    	Load  "extmod"
    EndSection
    
    Section "InputDevice"
    	Identifier  "Keyboard0"
    	Driver      "kbd"
    EndSection
    
    Section "InputDevice"
    	Identifier  "Mouse0"
    	Driver      "mouse"
    	Option	    "Protocol" "auto"
    	Option	    "Device" "/dev/input/mice"
    	Option	    "ZAxisMapping" "4 5 6 7"
    EndSection
    
    Section "Monitor"
    	Identifier   "MonitorIntern"
    	Option "DPMS"
    EndSection
    
    Section "Monitor"
    	Identifier   "MonitorM"
    	Option	"DPMS"
    EndSection
    
    Section "Monitor"
    	Identifier   "MonitorL"
    	Option "DPMS"
    EndSection
    
    Section "Device"
    	Identifier  "Card0"
    	Driver      "radeon"
    	BusID       "PCI:12:0:0"
    	Option "ZaphodHeads" "VGA-1"
    EndSection
    
    Section "Device"
    	Identifier  "Card1"
    	Driver      "radeon"
    	BusID       "PCI:12:0:0"
    	Option "ZaphodHeads" "DVI-0"
    	Screen	1
    EndSection
    
    Section "Device"
    	Identifier  "Card2"
    	Driver	"intel"
    	BusID	"PCI:0:2:0"
    EndSection
    
    Section "Screen"
    	Identifier "Screen0"
    	Device "Card0"
    	Monitor "MonitorL"
    	SubSection "Display"
    		Modes "1680x1050"
    		Depth 24
    	EndSubSection
    EndSection
    
    Section "Screen"
    	Identifier "Screen1"
    	Device "Card1"
    	Monitor	"MonitorM"
    	SubSection "Display"
    		Modes "1680x1050"
    		Depth 24
    	EndSubSection
    EndSection
    
    Section "Screen"
    	Identifier "Screen2"
    	Device	"Card2"
    	Monitor "MonitorIntern"
    	SubSection "Display"
    		Depth 24
    	EndSubSection
    EndSection

  10. #10
    Join Date
    Jul 2009
    Location
    Germany
    Posts
    512

    Default

    Quote Originally Posted by maxf View Post
    WORKS! Thank you!
    In case somebody's having the same problem: The ZaphodHeads option did it!
    so next time take a closer look at the proposed solutions. the example config contains the ZaphodHead option

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •