This article provides information about testing and configuring your X server and graphic card driver to prepare them for Compiz Fusion.
Have you already checked the article about setting up Compiz Fusion for specific Linux Distributions? Distribution-specific guides provide more detailed instructions than the general information covered here, so they will likely be easier to follow.
Compiz Fusion may run on the X.Org X Server either directly or assisted by Xgl, depending on the video hardware and driver installed on your computer:
The open source intel (and i810) driver can be used with X.Org (via AIGLX) or Xgl
The open source radeon (a.k.a. ati) driver can be used with X.Org (via AIGLX) or Xgl
The proprietary fglrx driver can only be used with Xgl.
The proprietary nvidia driver can be used with X.Org (via NVIDIA's propietary rendering method) or Xgl.
Forlong developed a script to check if Compiz is able to run on your hardware called compiz-check. It is very handy for its use, and for diognosing problems as it dumps error reports to terminal. At the author's request, we must exclude direct links to download it from this site as the link changes. The script's homepage is here.
X.Org X Server
Running Compiz directly on the X.Org X Server requires the X Composite extension to be enabled. The following command's output will indicate whether the Composite extension is enabled:
xdpyinfo | grep -i composite
The command above should have printed a line that says "Composite".
If it did not, add the following lines to your /etc/X11/xorg.conf file:
Section "Extensions" Option "Composite" "true" EndSection
Some Linux distributions, including Ubuntu, enable the Composite extension by default, making the above lines unnecessary (but harmless).
Your computer also needs to support 3D acceleration. In X.Org (not Xgl), the following command should indicate whether it is present:
glxinfo | grep -i direct
Direct rendering is not the same as 3D acceleration, but one is usually indicative of the other.
Drivers supported: intel, i810, ati, radeon, fglrx
AIGLX requires at least X.Org version 7.1 with AIGLX support enabled. Add the following line to the ServerLayout section of your /etc/X11/xorg.conf file:
Option AIGLX "true"
AIGLX is enabled by default on X.Org servers 7.2 and later.
Adding the following line to the Device section of your /etc/X11/xorg.conf file will prevent a potential problem you may encounter later on:
Option "XAANoOffscreenPixmaps" "true"
Driver supported: nvidia driver version 1.0-9625 or later
For NVIDIA's rendering platform to function correctly, you must enable 32-bit ARGB GLX Visuals. They are enabled by default with nvidia driver versions 100.14.09 and later, but if you use an earlier version of the driver, you should verify that you have the following line in the either the Device or Screen section of your /etc/X11/xorg.conf file:
Option "AddARGBGLXVisuals" "true"
You should also ensure that the following line is in the Screen section of your /etc/X11/xorg.conf file:
If the nvidia-xconfig utility is installed, the following command will perform the above steps automatically:
nvidia-xconfig --add-argb-glx-visuals -d 24
(You may need to prefix that command with sudo or run it as the root user for it to work.)
Drivers supported: nearly any driver capable of 3D acceleration
Xgl is a nested X server that runs on top of a working X.Org X Server. As such, it only requires that 3D acceleration is present on the underlying X server.
See Setup/Xgl (That link is dead. More information should be added to this article.)