Desktop Effects - AIGLX, Xgl & Compiz, Beryl, Compiz-fusion

Compiz and Beryl are advanced window managers that add some very amazing 3D visual effects to your desktop. Recently, the Compiz and Beryl projects decided to merge into Compiz-Fusion, a window manager (and window decorator) that brings the best of both worlds! This guide will provide you with step-by-step information on how to install the newly-released compiz-fusion packages along with setting up AIGLX and/or Xgl.

Desktop Effects - AIGLX, Xgl & Compiz, Beryl

Need more help or want to ask a question? Discuss this topic here.
 

Requirements

  • Yum configured to use the 3rd party Livna repository
  • A working graphics card (with direct rendering enabled). If you need help with this, please see the howtos for nVidia or ATI respectively
    Note: 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.
  • livna-config-disply:
    su -
    yum install livna-config-display
    yum update livna-config-display
    exit
  • The kagesenshi repository:
    su -
    cd /etc/yum.repos.d/
    wget http://devel.foss.org.my/~kagesenshi/repo/pub/kagesenshi.repo
    exit
  • If you have previously followed this howto and wish to update to compiz fusion, simply remove the old packages and then follow the instructions over again:
    su -
    yum remove \*emerald\* \*beryl\* \*compiz\* heliodor aquamarine
    exit

AIGLX

AIGLX - Prep

To ensure AIGLX is configured correctly, run:

livna-config-display

Select 'AIGLX' as the current configuration and apply it.

AIGLX - Compiz Fusion

If you use the Gnome desktop environment, install the compiz-gnome package:

su -c "yum install compiz-gnome fusion-icon-gtk"

Alternatively if you use KDE, use the compiz-kde package:

su -c "yum install compiz-kde fusion-icon-qt"

Users of both environments will also require the plugins and emerald decorator:

su -c "yum install compiz-fusion-plugins-main\
compiz-fusion-plugins-extra \
compizconfig-settings-manager\
emerald emerald-themes

Warning: The text in italics below is outdated as pre-merge compiz and beryl are no longer actively supported.

AIGLX - Compiz

su -c "yum install compiz"
gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true
desktop-effects 

AIGLX - Beryl

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

 

Xgl

Xgl - Prep

To use Xgl, first the binaries must be installed as they are not (yet) included in the Fedora project. Please download the following packages from daMaestro's Xgl Files into your home directory:

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.

livna-config-display

Select 'Xgl' as the current configuration and apply it.

Xgl - Compiz Fusion

If you use the Gnome desktop environment, install the compiz-gnome package:

su -c "yum install compiz-gnome fusion-icon-gtk"

Alternatively if you use KDE, use the compiz-kde package:

su -c "yum install compiz-kde fusion-icon-qt"

Users of both environments will also require the plugins and emerald decorator:

su -c "yum install compiz-fusion-plugins-main\
compiz-fusion-plugins-extra \
compizconfig-settings-manager\
emerald emerald-themes

Warning: The text in italics below is outdated as pre-merge compiz and beryl are no longer actively supported.

Xgl - Compiz

su -c "yum install compiz"
gconftool-2 -s '/apps/metacity/general/compositing_manager' --type bool true
desktop-effects

Xgl - Beryl

su -c "yum install beryl-gnome beryl-kde"
beryl-manager
beryl-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(-fusion), one of many window managers. The actual window manager (ie. 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. Although now that they have officially merged, most issues should be worked out quickly bringing a stable stable window manager with amazing effects!
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.
 
Need more help or want to ask a question? Discuss this topic here.
Rating: 
Tags: