Desktop Effects - AIGLX, Xgl & Compiz, Beryl

Posted on Wed, 2007/05/16 - 12:01am

Compiz and Beryl are advanced window managers that add some very amazing 3D visual effects to your desktop. This guide will provide you with step-by-step information on how to install these window managers along with setting up AIGLX and Xgl and also how to choose which one is right for you.

Desktop Effects - AIGLX, Xgl & Compiz, Beryl

Requirements

A working graphics card (with direct rendering enabled). If you need help with this, please see the howtos for nVidia or ATI respectivelyNote: When using Xgl programs will always detect DRI to be disabled, even if it is functioning correctly. A test which can be performed to determine if it is really working is to run glxgears. If the animation is smooth, then DRI is working correctly even though it is not reported as so.

If using an nVidia card, please ensure your driver version is 1.0-9625 or greater.

Note: 32bit packages are hosted here; For other builds, please use the src (source) rpms to rebuild packages for your distribution.

Once you have downloaded the RPMs, run the following to install them:

su -c 'rpm -Uhv Xgl-settings*noarch*.rpm xorg-x11-server-Xgl*.rpm'

Now that Xgl is installed, your desktop manager must be configured to use it too. livna-config-display can automatically configure GDM and KDM; for other managers you will have to find how to do this step on your own.

Xgl - Compiz

Xgl - Beryl

su -c "yum install beryl-gnome beryl-kde"beryl-managerberyl-settings

Common Questions

Q: What's the "Desktop Effects" people keep talking about? A: I've used "Desktop Effects" in the title of this thread because the 3D effects are commonly called this, although technically Desktop Effects is just the name of the program used to start Compiz, one of many window managers. The window manager, such as Beryl or Compiz are what really provide the 3D effects.

Q: What's the difference between Compiz and Beryl? I've heard one is better than the other.

A: Compiz and Beryl are both new, advanced window managers so in that sense they are identical. Window managers control how window decorations (such as the minimize, maximize and close buttons on the title bar) and also how the windows are displayed - This is why they offer so many neat effects. Compiz and Beryl both use OpenGL (a free implementation of 3D) calls to create zoom, "wobbly", fade and transparency effects for example. The difference lies in the fact that Beryl is a community-maintained fork of Compiz, so naturally it has many more options, plugins and effects but consequently it is also less stable at the moment.

Note: Beryl and Compiz will merge into one big project soon.

Q: So then how do AIGLX and Xgl differ?

A: First, let's define the X server: it is basically what programs use to display themselves on your screen. To use all these neat and fancy 3D calls, a new layer has to be introduced into the traditional X server for things to work properly.

Note: This is just my understanding... The X server is very complex and I could be (and probably am) incorrect at some point or other of this explanation, so this isn't necessarily all fact just more or less the "big picture".

AIGLX is an extension of the Xorg server, so essentially the change to AIGLX will be transparent to the user. It adds on to the existing Xorg code to add support for the fancy 3D calls. Xgl on the other hand is a complete rewrite of the X server to add support for the fancy 3D calls. While the Xorg and Xgl project share lots of code, in my opinion replacing the X server isn't the best option for two reasons: (1) AIGLX is a more incremental change then all-out replacing the X server and (2) replacing the X server means you're going to be affected by Xgl-related bugs that users of AIGLX won't. You can't be affected by what you don't run, right? This is why I think if it's possible, lean towards using AIGLX. However that's just my opinion and the final decision remains up to you.