• 5 min read
  • 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

    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

    AIGLX

    AIGLX - Prep

    To ensure AIGLX is configured correctly, run:

    livna-config-display

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

    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

    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, 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.
     
    Need more help or want to ask a question? Discuss this topic here.