jb’s open source blog

A look into my work and play in open source

Quickfix: Ubuntu Hardy dual monitor with Intel 945GM troubles – can’t escape Clone mode

with 19 comments

Problem:
On a Thinkpad T60 with Intel 945GM, Ubuntu 8.04 Hardy, the external VGA monitor is always cloned. Going into System->Preference->Screen Resolution lets you alter the resolution of the LCD and the external monitor, but it stays cloned whether “Clone Screens” is checked or not. Putting monitor to the left or right of the LCD does nothing (stays cloned). However, putting monitor above or below LCD does work (two desktops, one on top of the other).

Cause:
xrandr is complaining behind the scenes:

xrandr: screen cannot be larger than 1600x1600 (desired size 2560x1024).

The GUI offers no feedback that the operation has failed so it is quite confusing to the user. You can confirm this by trying manually, xrandr --output LVDS --left-of VGA and see if it complains.

Workaround:
NOTE: This workaround means you will lose direct rendering, so no Compiz or Google Earth. No big deal for me, but a dealbreaker for some I’m sure.

Edit /etc/X11/xorg.conf, and add the following subsections into Section "Screen":

EDIT: Subsection should have been SubSection. Thanks fahoo. (jb -20080501 2203 -0500)

SubSection “Display”
Virtual 2560 1024
EndSubSection

Virtual is the resolution of your double-monitor desktop: if you have an LCD at 1280×800 and a CRT to the right of it at 1280×1024, you would put 2560×1024 as in the above example. (Think x1+x2, max(y1,y2)).

Notes:
Note that the maximum supported size of the virtual desktop for the Intel 945GM series of chipset with 3D acceleration enabled, is 2048×2048. The virtual screen can be larger but DRI will be disabled.

Reference:
ThinkWiki – Xorg RandR 1.2

lspci:

$ lspci |grep -e VGA -e Display
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)

Written by jbopensrc

April 29, 2008 at 9:55 pm

Posted in Linux, Quickfix

19 Responses

Subscribe to comments with RSS.

  1. For the poor souls out there:

    SubSection “Display”
    Virtual 2560 1024
    EndSubSection

    Don’t forget those Upper cases!

    Regards.

    Fahoo

    May 1, 2008 at 9:50 pm

  2. Thanks for the correction.

    jbopensrc

    May 1, 2008 at 10:05 pm

  3. The double quotes on “Display” are not the right ones. It should be “Display”

    buntufan

    June 1, 2008 at 1:13 am

  4. Thanks a lot jb! It also works on a ThinkPad R61i with Intel 965GM chipset. DRI is enabled and Google Earth works, so I guess the newer graphics chipset can manage bigger virtual screen sizes with 3d acceleration.

    Peter Rullmann

    June 2, 2008 at 10:25 am

  5. Thanks! Such an easy solution after trying to make massive changes to my xorg.conf from other guides. It work perfectly on my Dell D630 with an Intel GM965 chipshet. I was unable to get the Visual Effects turned on though (compiz).

    John

    June 18, 2008 at 4:13 pm

  6. Did not work for me. I added that block at the bottom of my xorg.conf file, hit CTRL-ALT-BKSP to restart Xorg, and it knocked out the extra fancy graphics mode and also kicked me down to 800×600 resolution. Only removing the SubDisplay portion (as written by Fahoo) and rebooting would get me back to my cloned screen.

    I run a Sony Vaio with 965GM chipset as well, and have 1200×800 basic resolution on the laptop and 1680×1050 external display. The weirdness I’m trying to solve is that when I boot without the external display plugged in, Ubuntu only gives 1024 horizontal pixels to the gnome toolbars (and places the bottom toolbar relative to a 1024×768 display despite my possible 800px vertical space), but when I boot with the external monitor attached, the laptop display expands to the top-left portion of what the 1680×1050 display shows on the external monitor.

    I’m having a heck of a time trying to get it to work. Any additional ideas would be very helpful.

    ian douglas

    June 26, 2008 at 2:24 pm

  7. Hello, I use an intel i815 and was wondering if the information you have hers is applicable to that? I have tried in past to get my video working properly for dual monitor support. I have no problem doing clone, but extending desktop just doesn’t work. Under 7.04/10, when I was able to extend desktop, my GNOME bars were not visible on one screen and stretched across all.

    Anyway, help would be great. I like your blog.

    arick

    June 28, 2008 at 3:26 pm

  8. All, I got it working and seams to be fairly reliable. I am 8.04 and guess changes now make this work fairly smoothly. Even compiz (2048 x 768).

    No real problems and the sreens / graphics setting works like expected HOWEVER if at first you get a purely black screen and nothing visible. Do a restart and it should come up fine (did for me).

    It works in both

    arick

    June 28, 2008 at 5:24 pm

  9. To Ian… You said you put it at the bottom of your xorg.conf file. Did you realize that the SubSection “Display” had to be *inside* of the existing section “Screen” ?

    Don L

    July 6, 2008 at 11:11 am

  10. Hi:
    Thank you, Con este tutorial he logrado solucionar el problema en mi Laptop. Saludos amigo!!

    josekont

    July 14, 2008 at 9:02 pm

  11. Nice! This worked very well. Thank you alot!

    Bentspent

    September 15, 2008 at 2:40 am

  12. Thank you very much. This guide was really helpful.
    After restarting x-server now run with dual monitors each with 1600×1200 resolution @ 60 Hz. However, with this high resolution on a GMA 950 the window painting somewhat slow.

    Morten Thoegersen

    September 15, 2008 at 3:28 pm

  13. Thanks for this, very helpful. Damn shame about losing direct rendering, I’ve become quite fond of Compiz on my desktop, but I guess dual screens trumps that.

    Is there a bug report about the Ubuntu screen resolution application failing?

    Ash

    September 16, 2008 at 5:20 am

  14. thanks i like this solution, but if i want to enable compiz-fusion, waht can i do?

    dnl

    October 3, 2008 at 9:41 am

  15. Hi… same problem… I could not enable compiz-fusion… any idea?
    thanks for your help.

    Juan

    November 29, 2008 at 2:16 pm

  16. thanks man, i almost pulled all my hair out and bit my nails. finally got it working. with this solution my external monitor is default, but i would like my laptop screen to be default (start menu, desktop icons, etc on the laptop …);

    george

    December 8, 2008 at 10:09 pm

  17. I have a sony viao same as Ion. It didnt work for me initially but then I gave the following command:
    xrandr –output LVDS –auto –output VGA –auto –right-of LVDS
    and it did the trick! :)

    Thank you!

    Cheers,

    -v

    vishal

    February 17, 2009 at 1:18 am

  18. Thanks. This was helpful. I am on kubuntu 8.10 and the
    display setup interface no longer shows the position for the monitors.

    Also, not in the xorg.conf you must add the virtual line to each of the SubSection “Display” for each depth, a single standalone SubSection with Virtual did not work for me.

    Anyone know how to get the Display Setup GUI working on KDE4.2?

    thelinuxdude

    February 25, 2009 at 8:59 pm

  19. This fix in one line (kubuntu 9.04/Intel GM965/laptop + 20″ LCD):

    xrandr –output VGA –mode 1440×900 –pos 1440×0 –output LVDS –mode 1440×900 –pos 0x0

    –pos is the key.

    LH

    May 4, 2009 at 5:07 pm


Leave a reply to george Cancel reply