[update]
on 12.15.2007 I updated to Gutsy Gibbon and have dual monitors working!
[/update]

Last weekend I experimented with dual booting Ubuntu and XP. Long story – that didn’t work out well. So I decided to just chuck XP out the door for a while and see what happens.

That came at a small price of not having all the drivers working correctly – mainly in regards to my dual monitor set up.

After a few nights of trying a lot of things that I’ve found on the internets, I’m finally sitting in front of my two monitors –both of which finally have the proper resolutions and are unique instances of the X Windows UI.

The only (last) wish I have for the set up is that I want to be able to drag app windows across the two monitors. (and I want to enforce which monitor gets what (like when I plugged in my camera, the UI popped up on my laptop (smaller of the two) monitor and I couldn’t move it to the larger display.

Regardless, I’m pretty happy with the set up. It was in NO WAY obvious or easy – and I would have never in a million years guessed at all the things that needed to be done – so thanks to all the sites out there that helped!!

…the Monitor Resolution UI with both monitors showing separately.

dualmonitor_settingsui.jpg

The process was rather slow and required a lot of tinkering with the xorg.conf file. Here’s the current final version that I’ve settled on.

Section “Device”
# Crucial to give each Device a unique ID
Identifier “0 ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)”
Driver “fglrx”

# In my case, there’s only one PCI BusID
Busid “PCI:1:5:0″
Screen 0
EndSection

Section “Device”
Identifier “1 ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)”
Driver “fglrx”
Busid “PCI:1:5:0″
Screen 1
EndSection

Section “Monitor”
Identifier “Laptop Monitor”
Option “DPMS”
EndSection

Section “Monitor”
Identifier “Samsung Monitor”
Option “DPMS”
EndSection

Section “Screen”
Identifier “Laptop Screen”
Device “0 ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)”
Monitor “Laptop Monitor”
Defaultdepth 24
SubSection “Display”
Depth 24
# Despite not including any more modes, there are many more options in the GUI
Modes “1680×1050″ “1280×800″
EndSubSection
EndSection

Section “Screen”
Identifier “Samsung Screen”
Device “1 ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)”
Monitor “Samsung Monitor”
Defaultdepth 24
SubSection “Display”
Depth 24
Modes “1680×1050″
EndSubSection
EndSection

# Enabling the Xinerama caused problems every time -
# but it sounds like getting that working is the last step
# in having true interacting monitors.

#Section “ServerFlags”
# Option “Xinerama” “true”
# Option “DefaultServerLayout” “DualHead”
#EndSection

Section “ServerLayout”
Identifier “Default Layout”
Screen 0 “Laptop Screen” 0 0
Screen 1 “Samsung Screen” RightOf “Laptop Screen”
# DualHead means two monitors
Option “DualHead” “true”
Inputdevice “Generic Keyboard”
Inputdevice “Configured Mouse”
Inputdevice “stylus” “SendCoreEvents”
Inputdevice “cursor” “SendCoreEvents”
Inputdevice “eraser” “SendCoreEvents”
Inputdevice “Synaptics Touchpad”
EndSection

19 Responses to “Dual Monitors In Ubuntu (xorg.conf driver; ATI card)”

  1. Keith Says:

    Hey, thanks! This works pretty well, but have you tried Compiz, Beryl, or another of the other compositors with this setup? I get:

    /usr/bin/compiz.real (core) – Fatal: No GLXFBConfig for default depth, this isn’t going to work.
    /usr/bin/compiz.real (core) – Error: Failed to manage screen: 0
    /usr/bin/compiz.real (core) – Fatal: No GLXFBConfig for default depth, this isn’t going to work.
    /usr/bin/compiz.real (core) – Error: Failed to manage screen: 1
    /usr/bin/compiz.real (core) – Fatal: No manageable screens found on display :0.1

    This was working on my former setup which was a clone setup.

  2. hobbylobby Says:

    hmmm. I’m only guessing at all of this – i’m a total linux newbie.

    I do have the compiz.real file -but I can’t open it with gedit and I’m not sure what it does.

    what type graphics card do you have? if it’s ATI, and if you haven’t already downloaded the drivers from their page, I’d suggest trying that.
    I’m pretty sure that the glxfb IS the ATI driver.

    go to:
    http://ati.amd.com/support/drivers/linux/linux-radeon.html to get the driver

    and follow these steps to install it.
    (back up your xorg.conf file before installing)
    http://tinyurl.com/2jwknu

    if that doesn’t work….

    (more thoughts)…
    No GLXFBConfig for default depth:

    might be because of the “screen” section in the xorg.conf file. i think you need to have one line that says: Defaultdepth 24.

    Failed to manage screen: 0

    do you have at least one screen specified in xorg.conf? if so, the first screen that you define will be known to the system as screen 0.

    in the Section “ServerLayout” you might also want to check that you have a line that says: Screen 0 “name of screen” if you have that and no screen section definition, that might cause a problem.

    gotta run, but write back with more details.
    i’d like to be able to help if possible.

  3. Mike O'Connor Says:

    I upgraded today from 7.04 to 7.10 and was also disappointed to see that the dual-head setup that worked with Feisty didn’t work with Gibbon..

    What worked for me was following the instructions here:
    http://www.intellinuxgraphics.org/dualhead.html

    Basically, with the xorg.conf that the 7.10 install gave me, all I had to change was to add a “Virtual” line to the Screen section like this:


    Section "Screen"
    Identifier "Default Screen"
    Device "ATI Technologies Inc RV380 0x3e50 [Radeon X600]"
    Monitor "BenQ FP91G"
    DefaultDepth 24
    SubSection "Display"
    Modes "1280x1024" "1152x864" "1024x768" "800x600" "640x480"
    Virtual 2560 1024
    EndSubSection
    EndSection

    And then (after rebooting) I could use the “xrandr” command-line tool to reorganise my screens. Running:

    xrandr -q

    ..showed me that one monitor was called “VGA-0″ and the other was “DVI-0″. All I had to do to get the dual-head working perfectly was run:

    xrandr --output DVI-0 --right-of VGA-0

    Hope this helps someone!

  4. millfarm Says:

    does this work the compiz extension? I can’t get it to work… :(

  5. hobbylobby Says:

    Hey Mike and Keith,

    Are you able to move apps and/or windows between your two monitors?

    I can’t and that’s a huge con in my mind. dual monitors should be dynamic enough to let me move around them – not be confined by them.

    I’ll have to check in to your suggestions // especially if you can move things across monitor.

    Thanks for posting!

  6. martin Says:

    Not that this solves the problem.
    But looks like the ATI support is not anymore.

    https://wiki.ubuntu.com/GutsyGibbon/ReleaseNotes

    regards Martin (also still trying and puzzling)

  7. martin Says:

    add to former posting:
    for Xinerama

  8. hobbylobby Says:

    every time I included Xinerama in my xorg.conf file x windows failed to load and I had to use the rescue cd to repair xorg.conf before I could boot.

    which vid card do you have Martin – and what driver are you using?
    laptop or desk? me=laptop.

  9. Koziasty Says:

    Hi guys. I have been trying to get my TV to work as a second monitor, so that i would be able to watch films on it.

    It is possible, when you are using a radeon driver (NOT fglrx) to use xrandr. If you are lucky enough, the only thing you may need to add to your xorg.conf is what Mike OConnor has written in the comment above.

    However, it doesn’t work with fglrx, which is a shame, because i struggle to watch anything on the TV (fglrx has superior avi-playback quality to radeon drivers, sad, but true).

    Thanks to your howto, i managed to get the TV working, but it does not support its native resolution… Have to work around it some more. THanks!

  10. hobbylobby Says:

    When I upgrade to Gutsy,
    should I try to get xrandr
    working rather than fglrx?

    Has anyone had any luck with
    the GUI method for setting up
    dual monitors in Gutsy?


  11. [...] Gutsy Gibbon Dual Head Monitors Working! After my last attempt being somewhat less than desirable, I decided to give Gutsy Gibbon another chance. This time, [...]

  12. ken Says:

    Dual monitors in GG.
    I gave up with ATI and plugged in an ancient Matrox G450. One minute later it worked. Did it all in screens n graphics, no xorg no command line, magic. Drags windows across, main monitor 1600, small 1024.

  13. Jeong-hoon Lee Says:

    First of all, Thanks a lot.
    Your blog really helped me!!!

    Let me share what I tried.
    When I installed Ubuntu Gutsy,
    My xorg.conf secion was like this:

    ———-
    Section “Device”
    Identifier “ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP]”
    Driver “fglrx”
    Busid “PCI:1:5:0″
    EndSection

    Section “Monitor”
    Identifier “Generic Monitor”
    Option “DPMS”
    EndSection

    Section “Screen”
    Identifier “Default Screen”
    Device “ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP]”
    Monitor “Generic Monitor”
    Defaultdepth 24
    SubSection “Display”
    Modes “1280×800″
    EndSubSection
    EndSection

    Section “ServerLayout”
    Identifier “Default Layout”
    screen “Default Screen”
    Inputdevice “Generic Keyboard”
    Inputdevice “Configured Mouse”

    # Uncomment if you have a wacom tablet
    # InputDevice “stylus” “SendCoreEvents”
    # InputDevice “cursor” “SendCoreEvents”
    # InputDevice “eraser” “SendCoreEvents”
    Inputdevice “Synaptics Touchpad”
    EndSection
    ———-

    Then when I tried the Screen and Graphics.. I got the low resoultion..
    Somehow, I looked at the xorg.conf at that time..
    and I found out it changed the setting of the first Default screen as well as added second monitor’s information
    with modes and gamma
    And as you know ubuntu usually recognize most of monitors correctly..
    So I used the Screen and Graphics again,
    Select Plug’n'play for both monitors..
    it added new screen section and monitor section.
    and virtual size was set to 640 480
    So I changed all settings to default settings
    like this:

    ———-
    Section “Device”
    Identifier “ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP]”
    Boardname “ati”
    Busid “PCI:1:5:0″
    Driver “fglrx”
    Screen 0
    EndSection

    Section “Monitor”
    Identifier “Generic Monitor”
    Option “DPMS”
    EndSection

    Section “Screen”
    Identifier “Default Screen”
    Device “ATI Technologies Inc RS485 [Radeon Xpress 1100 IGP]”
    Monitor “Generic Monitor”
    Defaultdepth 24
    SubSection “Display”
    Depth 24
    Virtual 2304 800
    Modes “1280×800″
    EndSubSection
    EndSection

    Section “ServerLayout”
    Identifier “Default Layout”
    screen 0 “Default Screen” 0 0
    screen 1 “screen1″ rightof “Default Screen”
    Inputdevice “Generic Keyboard”
    Inputdevice “Configured Mouse”

    # Uncomment if you have a wacom tablet
    # InputDevice “stylus” “SendCoreEvents”
    # InputDevice “cursor” “SendCoreEvents”
    # InputDevice “eraser” “SendCoreEvents”
    Inputdevice “Synaptics Touchpad”
    EndSection
    Section “Module”
    Load “glx”
    Load “dbe”
    Load “v4l”
    EndSection
    Section “Extensions”
    Option “Composite” “0″
    EndSection
    Section “device” #
    Identifier “device1″
    Boardname “ati”
    Busid “PCI:1:5:0″
    Driver “fglrx”
    Screen 1
    EndSection
    Section “screen” #
    Identifier “screen1″
    Device “device1″
    Defaultdepth 24
    Monitor “monitor1″
    SubSection “Display”
    Depth 24
    Modes “1024×768″
    EndSubSection
    EndSection
    Section “monitor” #
    Identifier “monitor1″
    Option “DPMS”
    EndSection
    #Section “ServerFlags”
    # Option “Xinerama” “true”
    #EndSection
    ———-

    I changed Modes for both monitors as the resolution I want to use..
    and set the Virtual correctly
    and I followed your recommendation for Xinerama.
    And it just works fine now…

    Thanks a lot again.
    I’m from Korea, so please forgive me about my poor English.

  14. seaplanebase Says:

    Now this is the part that seems to be messing people up:
    the first line of xrandr is:

    Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1600 x 1200

    At least on my system.

    Which means you have to subtract the resolution of the screen you want to use from the maximum. If you exceed the “virtual size” yes it will fail to load but you can’t say that it didn’t boot it just means that you can’t see what’s going on. Discovered by repeatedly hitting my Fn F8 key until the screen did pop on one of my displays.

    Once this sunk in I was able to use the gui to set the resolution and have it work, now it find out if I can put the virtual resolution to accommodate the screen placement I want to use or if I can use some overlay sort of thing like “win” drivers use.


  15. [...] When you’ve got labor divided as finely as it is in the Linux community, the general modus operandi tends to be patching and mods. However, there is only so much that can be done with X11. I think people are so impressed with what has been done with the 20 year old graphics system, that they forget to be embarrassed that you can’t even make trivial changes to the graphics configuration without requiring a restart of the X server. If you want proof of this, look no further than the 50+ pages of discussion on the Ubuntu forums on how to get dual monitors working. [...]

  16. LAN Says:

    Description: Ubuntu 7.04
    Release: 7.04
    Codename: feisty
    -DELL Latitude | D810
    -ATI Technologies, Inc. M24 1P [Radeon Mobility X600
    -DELL Monitor
    _________________________
    Laptop is Docked:
    Thanks. Works for me. Have not upgraded OS yet. Beryl/Compiz do not work. Also as mentioned by HobbyLobby, dragging an app/screen to the other monitor doesn’t work.
    Thanks alot though.

  17. Andrew Says:

    Hi, I have the same card and I was wondering how to set it up to use the S-Video output so I can use Elisa Media Center on my TV. Should I add the device “2 ATI Technologies Inc ATI Radeon XPRESS 200M 5955 (PCIE)”?

  18. Nik Says:

    Wonderful! It just works!
    I have Ubuntu 7.10 installed on LG LW40 Express laptop with ATI Radeon X600.


Leave a Reply