This concerns configuring an ATI Radeon 9600 under Linux to be dual head and run compiz-fusion. I’m not going into detail on what options make compiz run faster, just how to get two screens working well with compiz.

I’m posting this because I had a hell of a time finding all the info on it.

Update: This is the significant portion of my xorg.conf.
Update, a few years later: The most important thing I’ve learned about dealing with the radeon

Resources:
Radeon driver xorg settings
XGL Troubleshooting
Compiz wiki ATI notes

My desired setup: two CRTs side by side, each running at 1280×1024, giving me an effective desktop of 2560×1024.

For desktop effects to work, I had to run the ‘radeon’ driver, not the ‘ati’ nor ‘fglrx’ drivers. If one uses fglrx, I guess one can get by running XGL instead of AIGLX, but that locked up my X.

First important note: If fglrx was ever installed and you want to use ati or radeon, you need to fully remove fglrx (sudo apt-get remove –purge fglrx).

Second important note: To get a desktop spanning across two monitors, you want to use the MergedFB option in your xorg.conf. This provides Xinerama-like functionality. There are several options with that mode to provide different resolutions on each monitor with spanning.

Third important note: There is an apparent hardware limitation for these cards on texture sizes. The max texture size for 3D applications (including compiz) of 2048×2048). This means that if you have a desktop wider than 2048, you’ll either

  1. have effects for half or 2/3 of the desktop/screen with white on the far right, or
  2. a fully white screen with odd tearing on effects

There’s not much way around this at this point. Some people can fix it messing with ‘driconf’.
My solution at this point is to have one screen ‘Above’ instead of ‘RightOf’ in my xorg.conf (the two heights combine to 2048, so they fit into memory).

Anyway, that’s about it. I’ll add my xorg.conf to this post, later. I can’t cause I’m on the laptop right now.


# xorg.conf significant sections for dual head + compiz on radeon 9600 XT
# second screen on top of second screen, vertical orientation.

Section "Module"
Load "bitmap"
Load "ddc"
Load "dri"
Load "dbe"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "Device"
Identifier "Radeon"
Driver "radeon"
BusID "PCI:1:0:0"
Option "No2048Limit"
Option "MergedFB" "true"
Option "MergedXineramaCRT2IsScreen0" "true"
Option "CRT2Position" "Above"
Option "MetaModes" "1280x1024-1280x1024 1024x768-1024x768"

Option "DDCMode" "true"
Option "OpenGLOverlay" "Off"
Option "VideoOverlay" "on"
Option "GLOverlay" "false"
Option "OverlayOnCRTC1" "on"
Option "OverlayOnCRTC2" "on"
Option "MergedDPI" "75 75"
Option "AGPMode" "8"
Option "DRI" "true"
Option "ColorTiling" "on"
Option "EnablePageFlip" "true"
#DO NOT USE WITH RADEON 9600 Option "AccelMethod" "EXA"
Option "XAANoOffscreenPixmaps"
Option "RenderAccel" "true"
EndSection

Section "Monitor"
Identifier "Dell P991 [0]"
Option "DPMS"
HorizSync 30-107
VertRefresh 48-85
EndSection

Section "Screen"
Identifier "Screen0"
Device "Radeon"
Monitor "Dell P991 [0]"
DefaultDepth 24
SubSection "Display"
Virtual 1280 2048
Depth 24
Modes "1280x1024" "1024x768"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Screen0"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "stylus" "SendCoreEvents"
InputDevice "cursor" "SendCoreEvents"
InputDevice "eraser" "SendCoreEvents"
Option "AIGLX" "true"
EndSection

Section "DRI"
Mode 0666
EndSection

Section "Extensions"
Option "Composite" "On"
EndSection

[ad#Google Adsense-1 Block]