
Only a day after complaining about my ATI card running under Ubuntu, I seem to have a solved a lot of the issues. Slightly embarrassing. To recap - my system is set up like this:
HP 8510p laptop with an ATI HD 2600 mobility card running Ubuntu 8.04 with a 1680×1050 screen, often connected to an external monitor (same resolution).
My ideal setup would be like this:
- ‘Big desktop’ mode when plugged into an external monitor, allowing windows to be dragged between screens.
- When the monitor is unplugged, to continue working on the laptop screen, without restarting Xorg.
- Compiz-fusion providing ‘expose’ functionality amongst other things.
- Generally not having crashes would be nice.
My first forays into the world of ATI/Linux video configuration went like this:
- No dual-head out of the box, Compiz-fusion won’t run on the default open source drivers.
- Installing the proprietary drivers enables Compiz, but no obvious way to dual-head.
- Running the ati-config command enables dual-head, but it sets up two screens and displays in the xorg.conf. This means that windows cannot be dragged between them, and it seems to only support hardware acceleration on the primary screen. Also it seems unstable - xorg often crashes on a restart(ctrl-alt-backspace)
The Solution
After browsing various blogs and forum threads, I arrived at an xorg.conf that works for me, using the proprietary fglrx driver. The important sections are listed below. Note:
- DesktopSetup is set to ‘vertical,reverse’ in order to have my second monitor above my laptop.
- In the Display subsection, virtual is set to 1680 x 1050 - the size of the second monitor.
Section "Device" Identifier "Configured Video Device" Boardname "ATI Radeon" Busid "PCI:1:0:0" Driver "fglrx" Screen 0 Vendorname "ATI" Option "MergedFB" "off" Option "DesktopSetup" "vertical,reverse" Option "Mode2" "1680x1050" Option "ForceMonitors" "lvds,vga-0" EndSection Section "Screen" Identifier "Default Screen" Device "Configured Video Device" Monitor "Configured Monitor" Defaultdepth 24 SubSection "Display" Depth 24 Modes "1680x1050@60" Virtual 1680 1050 EndSubSection EndSection
xRandR
With xorg configured correctly, I’m using xRandR to switch between desktop configurations. Simply running ‘xrandr’ in the console should give you a list of possible configurations. For me, option 0 is my ‘big desktop’ - 1680 x 2100, with option 1 being just the single laptop screen. The commands to switch between the two are therefore:
xrandr -s 0
and
xrandr -s 1
Johannes Müller | 22-Nov-08 at 6:32 pm | Permalink
Thank you for this information! This is exactly what I was looking for and saved me a lot of time. Internet at its best