• 4 min read
  • 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.

    Desktop Effects - AIGLX & Compiz, Beryl

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

    Requirements

    • Yum configured to use the 3rd party RPM Fusion repository
    • A working graphics card (with direct rendering enabled). If you need help with this, please see the howtos for nVidia or ATI respectively
    • If using an nVidia card, please ensure you are not using the legacy (71xx) driver.

    AIGLX

    AIGLX - Prep

    To ensure AIGLX is configured correctly, run:

    livna-config-display

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

     

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

    su -c "yum install compiz-gnome compiz-fusion-extras-gnome compiz-fusion-gnome"

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

    su -c "yum install compiz-kde"

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

    su -c "yum install compiz-fusion compiz-fusion-extras ccsm emerald emerald-themes"

    Xgl

    As of June 2008, the Xgl server has been removed from the X server packages, so this section is no longer needed. If you have Xgl installed, please consider removing it and using AIGLX instead.
     

    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.