Update: Running Compiz Fusion Using ATI Cards and AIGLX

Notice: This is an UPDATE post to the original post, though back then it was running Compiz Fusion using Xgl.

With the introduction of driver 8.42, ATI has brought AIGLX support, that is indirect rendering for running Compiz Fusion. For the mean time I am going to set aside all my experience and thoughts on this issue, i.e. how good/bad AIGLX is with 8.42 drivers (as of writing this), and rather instruct you how to setup Compiz Fusion.

IMPORTANT: Please check for any UPDATES at the end of this blog before continuing.

Before we start I hope that you understand that we need to have a properly working ATI driver. If you haven’t done so yet then head to openSUSE 10.3: AMD/ATI Drivers 8.42+ Installation before continuing.

Once the ATI drivers have been setup, we need to modify, or rather tweak, the xorg.conf file. You will find this file in /etx/X11/ folder. Open file with any editor and insert the following in the file:

1. Under Section “ServerFlags” add:

Option “RENDER” “true”
Option “Composite” “Enable”

2. At the end of the file add the following:

Section “Extensions”
Option “DAMAGE” “true”
Option “RENDER” “true”
Option “Composite” “Enable”

These are fundamental and necessary for desktop acceleration. The only one not really needed is the RENDER, but if you want 3d hardware rendering you need to add it, as this will definitely speed up the 3D desktop.

3. Apart from these, you can also add the following in your xorg.conf file, under Section “Device”. Though I think this is not necessary, adding this should resolve few problems you might face.

Option “HWCursor” “On”
Option “CapabilitiesEx” “0×00000000″
Option “XAANoOffscreenPixmaps” “true”
Option “mtrr” “off”
Option “no_accel” “no”
Option “BlockSignalsOnLock” “on”
Option “KernelModuleParm” “locked-userpages=0″
Option “UseFastTLS” “0″
Option “RenderAccel” “true”
Option “AllowGLXWithComposite” “true”

(notice that I have Device Identifier as “aticonfig-Device[0]”, reason being that while installing driver I didn’t use sax2 command, but the aticonfig –initial –input command).

4. After we are done with xorg.conf file, we’ll need to modify compiz-manager file, which you will find in /usr/bin/ folder. Add the fglrx string under WHITELIST section:

5. Last step will be to let Compiz use ATI’s LibGL (actually not exactly sure what exact functions are here). For this just run the following command, otherwise your Compiz Fusion will not get executed when logging to your desktop. If you have 64-bit version, like myself, then run both the command:

mv /usr/lib/libIndirectGL.so.1.2 /usr/lib/libIndirectGL.so.1.2.old

mv /usr/lib64/libIndirectGL.so.1.2 /usr/lib64/libIndirectGL.so.1.2.old

6. Now to installing main packages, which 1-click will handle and do all the work for you. You will need internet connection for this as this will download and install all the required packages. Click on one of the buttons, corresponding to what you are running:

  • For KDE:
  • For Gnome:

That’s it. Hopefully all went smoothlly and you will be running Compiz Fusion on your next log-in/reboot. Here is a snapshot of fusion-icon showing that Compiz Fusion is running using indirect rendering. Also a small video made through phone built-in camera:

Running Benchmark plug-in I get the following (unfortunately don’t remember what I got with 8.40 + Xgl):

For tips and troubleshooting, refer to my original post. That’s it.

22.10.07: As of writing this, the combination of latest driver’s (ATI 8.42) AIGLX and Compiz Fusion is not what we expect, i.e. slow performance, bugs and unfortunately no Video !!! For the time being the combination of older with Xgl is much better option. The good thing with AIGLX is that now with Compiz running you can run other applications that require access to OpenGL, such as Google Earth and GAMES (yey).

Leave a Reply

Your email address will not be published.