Dual-display with the Intel 945GM on Gutsy Gibbon?

Resisting an upgrade, is hard, so I finished some work on Friday, and proposed to upgrade away to Gutsy Gibbon. I’ll talk about what I like and don’t later, but I still face a problem. I can’t seem to get X/xrandr working as well as I’d like it to. I also can’t get all the desktop effect bling going, but that is not as significant a problem as working VGA out.

lspci says, I have a Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03). I drive my laptop at 1440×900, and externally, I’ve got a 17″ LCD panel that can go 1280×1024 (FWIW, I tested against an external 19″ wide panel capable of 1440×900, but it made no difference). However, xrandr thinks I can only, at most, display 1440×1440, and I think that’s why I’m not being able to get a nice “stretch screen” (i.e. two desktops, not mirrored displays) experience going.

xrandr -q
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 1440 x 1440
VGA connected (normal left inverted right)
1280x1024 59.9
640x480 60.0
LVDS connected 1440x900+0+0 (normal left inverted right) 303mm x 190mm
1440x900 60.0*+
1280x800 60.0
1280x768 60.0
1024x768 60.0
800x600 60.3
640x480 59.9
TV disconnected (normal left inverted right)

So, mirroring works. My desktop looks a little shitty, but at 1280×1024, all is well and dandy. I have a feeling that when I plug it into an LCD projector, I might get away with things working, for a change. That alone, is impressive. So, how do I magically get a dual-display, stretched desktop experience? My xorg.conf file for reference, is tacked to the end of this.

My heart goes out to whomever decided to write displayconfig-gtk. This is a step in the right direction. End-users will want a GUI to choose external displays and stuff. I love the idea of location profiles (so, at home, maybe I’m tacked to an external 1280×1024 monitor, at another location maybe another, a roaming locating that just creates a 800×600 display, etc.). Of course, it would help if this utility actually worked. It doesn’t, and is currently broken, from my experience with it. Why is it included, under the guise like it might work?

Kudos to Intel, and their page on How to setup Dual Head for Intel Graphics with RandR 1.2. Everyone says, stick to Intel and you won’t go wrong with Linux. Why then, does such a page need to exist? Why is my out-of-the-box experience, still so bad?

If it helps, here’s the xorg.conf configuration file (I didn’t muck with it, its dpkg configured). Help appreciated, and remind me to buy you a beer when/if I see you next.

Section "Files"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Synaptics Touchpad"
Driver "synaptics"
Option "SendCoreEvents" "true"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "HorizEdgeScroll" "0"
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "stylus"
Option "Device" "/dev/input/wacom"
Option "Type" "stylus"
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "eraser"
Option "Device" "/dev/input/wacom"
Option "Type" "eraser"
EndSection

Section "InputDevice"
Driver "wacom"
Identifier "cursor"
Option "Device" "/dev/input/wacom"
Option "Type" "cursor"
EndSection

Section "Device"
Identifier "Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
Driver "intel"
BusID "PCI:0:2:0"
VideoRam 65536
EndSection

Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
HorizSync 28-72
VertRefresh 43-60
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Modes "1440x900"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"

InputDevice "Synaptics Touchpad"
EndSection

Technorati Tags: , , , , , , , , , , ,

  • Hi,

    just guessing here, not a linux user for quite some time. Do you have enough video ram to run both monitors at full depth?

    I would try (just to see if this is the case) reducing to screen size to 800X600.

    Best regards,

  • CPinto

    Hey Colin,

    I “sorta” got it working, but on an 855GM chip (older card) and some xorg.conf configurations need to be added. The relevant bits on my xorg.conf follow:

    Section “Device”
    Identifier “Intel Corporation 82852/855GM Integrated Graphics Device”
    Driver “intel”
    BusID “PCI:0:2:0”
    Option “monitor-LVDS” “Generic Monitor”
    Option “monitor-VGA” “VGA1”
    Option “monitor-TMDS-1” “TV1”
    EndSection

    Section “Monitor”
    Identifier “Generic Monitor”
    Option “DPMS”
    HorizSync 28-64
    VertRefresh 43-60
    Option “PreferredMode” “1280×768”
    Option “Position” “0 0”
    EndSection

    Section “Monitor”
    Identifier “VGA1”
    Option “RightOf” “Generic Monitor”
    #Option “Enable” “true”
    #Option “Rotate” “left”
    Option “PreferredMode” “1024×768”
    Option “Position” “1280 0”
    EndSection

    Section “Screen”
    Identifier “Default Screen”
    Device “Intel Corporation 82852/855GM Integrated Graphics Device”
    Monitor “Generic Monitor”
    DefaultDepth 24
    SubSection “Display”
    Depth 15
    Modes “1280×768”
    EndSubSection
    SubSection “Display”
    Depth 16
    Modes “1280×768”
    EndSubSection
    SubSection “Display”
    Depth 24
    Modes “1280×768”
    Virtual 2560 1280
    EndSubSection
    EndSection

    Then I ran
    xrandr –output VGA –right-of LVDS –auto

    and it worked.

    Not perfect but if you really want it, try this. One more thing: if when GDM starts the VGA monitor is plugged in X11 assumes that is the main display and breaks everything so my advice is to not start GDM with the external monitor plugged in.

  • Hi pedro, I doubt that I’m out of video ram. 64MB allocated should be ample for this. I should calculate… I futzed with it today, to no avail

  • Martin Kretzschmar

    In Section “Screen”, Subsection “Display”, add a line

    Virtual 2720 1024

    and restart X.

    The Intel page you linked to says larger than 2048×2048 doesn’t work with the current drivers. I don’t know if 2720×1024 is larger or not, if it is, you can try 1440×1924 and have the second screen above/below the first.

  • Pingback: Colin Charles Agenda » Blog Archive » Why I liked Ubuntu (and my thoughts on Gutsy Werewolf, aka Fedora 8)()

  • Pingback: Comment on Dual-display with the Intel 945GM on Gutsy Gibbon? by Colin Charles Agenda » Blog Archive » Why I liked Ubuntu (and my thoughts on Gutsy Werewolf, aka Fedora 8)()

  • nicolas

    THAAAAANK YOU. now i got finally my Dell latitude d620 running with full 1680×1050 on external monitor and with automatic switch to laptop tft, when lid is openend..

    thats exactly what I wanted.
    #

    thanks m8!!


i