June 26, 2008
After a lot of digging and some tweaking, I finally have Ubuntu playing nicely on my work laptop, so wanted to post my findings here in hopes it can help someone else.
My video chipset:
$ lspci | grep Graphics
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
The annoyance I faced was that plugging an external monitor into the laptop before powering it on forced the laptop/monitor to be a mirrored/clone display output, which is annoying. My laptop screen is 1280x800, my external display is 1680x1050, so I was losing a decent chunk of display real estate.
After tweaking my xorg.conf file (listed below), I found the right parameters to change the display to a split desktop mode once I’ve logged into Xorg:
$ xrandr --output LVDS --left-of VGA
My laptop sits to the left of the external display, and this command leaves the gnome toolbars and menus on the larger screen, and pushes additional window space to the left where my laptop screen physically sits.
The weirdness with this setup is that the laptop’s virtual horizontal screen size has to be set to the maximum vertical resolution of the external monitor, so I’ve got an extra 250px of space at the bottom of my laptop screen. Annoying, but I’ll live with it.
Here’s my xorg.conf:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
EndSection
Section "Device"
Identifier "Card0"
Driver "intel"
VendorName "Intel Corporation"
BoardName "GM965/GL960 Integrated Graphics Controller"
BusID "PCI:0:2:0"
Option "Monitor-VGA" "laptop"
EndSection
Section "Device"
Identifier "Card1"
Driver "intel"
VendorName "Intel Corporation"
BoardName "GM965/GL960 Integrated Graphics Controller"
BusID "PCI:0:2.1:0"
Option "Monitor-TMDS-1" "externallcd"
EndSection
Section "Monitor"
Identifier "laptop"
Option "DPMS"
EndSection
Section "Monitor"
Identifier "externallcd"
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen1"
Monitor "laptop"
Device "Card0"
Defaultdepth 24
SubSection "Display"
Depth 24
# Horizontal: 1280 + 1650 = 2930, Vertical: Max(800, 1080) = 1080
Virtual 2930 1080
EndSubSection
EndSection
Section "Screen"
Identifier "Screen2"
Monitor "externallcd"
Device "Card1"
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen1"
Screen 1 "Screen2" RightOf "Screen1"
EndSection