Beautiful Beryl

With common graphics hardware and some bleeding-edge software, Linux can exceed both Mac OS X and Vista with its gee-whiz desktop special effects. Here’s how to impress your friends, wow your neighbors, and influence the public with Beryl.

Let’s face it: Although many of us are full-time, dyed-in-the-wool Linux users, we all have a little envy — okay, maybe a lot of envy — of the eye candy available on other operating systems. The Mac OS X desktop is beautiful, and while Windows Vista is a truly bloated system with ridiculous hardware requirements, its Aero Glass 3D-accelerated desktop looks very nice, indeed. Yeah, Linux is more stable, more secure, more agile, and open source, but sometimes you just want to impress your friends and co-workers with a little razzle dazzle, especially if you’re the local open source evangelist. It’s all about the marketing.

Fortunately, Mac OS X and Aero Glass aren’t the only pretty desktops around. With common graphics hardware and some bleeding-edge software, Linux can also produce impressive 3D, composite, and alpha-blended desktops. In fact, Linux can exceed both Mac OS X and Vista with its gee-whiz desktop special effects.

FIGURE ONE: An example of Beryl’s animation features

Because much of this stuff is still in its infancy, there is naturally some confusion about the system requirements for using sophisticated window managers on your Linux distribution. Let’s talk a bit about the technologies and software behind the cutting-edge desktops, and then dive into the nuts and bolts of tweaking your system.

Bleeding Edge Compositing

To run a compositing window manager on your system, you must have accelerated 3D graphics hardware. If your system is more than three years old, you might not want to attempt this.

FIGURE TWO: Beryl can animate and composite images

At a bare minimum, you need an AGP 2X nVidia GeForce or ATI Radeon card with 64 MB of VRAM; optimally, install a PCI-X version of either of those two chip sets with 128 MB or more of VRAM. Mobile versions of the nVidia or ATI Radeon, as well as the newer Intel chipsets on Centrino and Core Duo laptops, are also suitable. (Support of graphics cards and OpenGL direct/indirect rendering under the X Window System varies from one Linux distribution to another. You can find a pretty good list of supported hardware at the Gentoo Linux Wiki, at http://gentoo-wiki.com/HARDWARE_Video_Card_Support_Under_XGL.)

FIGURE THREE: Windows can be opaque or partially transparent

Next, you must choose a rendering engine. Two engines are available: Xgl (http://en.wikipedia.org/wiki/Xgl) and AIGLX (http://en.wikipedia.org/wiki/AIGLX).

*Xgl was developed internally at Novell and was released as an open source project with SUSE Linux Enterprise Desktop 10 in January 2006. It was the first of the compositing rendering engines, and was designed to take advantage of video cards with proprietary, closed-source, accelerated, and 3D X Window System (X) drivers, such as those provided with the GeForce and Radeon cards. (If you’re inclined to use OpenSUSE, take a look at the latest 10.2 distro at http://www.opensuse.org, and read the fine documentation at the OpenSUSE wiki, available worldwide at http://en.opensuse.org/Using_Xgl_on_SUSE_Linux.)

*AIGXL was created in response to Xgl, and expressly eschews proprietary drivers. Unlike Xgl, which uses the direct rendering infrastructure and 3D extensions found in proprietary drivers, AIGLX is an indirect rendering infrastructure. Developed as part of X.org, AIGLX provides an abstraction layer and a programming interface that relay OpenGL commands from the compositing window manager and OpenGL-aware applications to the graphics card itself — not unlike the way DirectX and Direct3D works on Windows Vista. Potentially, AIGXL allows for much broader hardware support, simplified software development, and the use of open source video hardware drivers.

At press time, Intel is the only vendor to release its accelerated, 3D X drivers as open source to work with AIGLX. An independent, open source nVidia driver project, Nouveau (http://nouveau.freedesktop.org/wiki/) has recently been founded to re-engineer the acceleration of the GeForce chipsets, although nothing is currently working. While the basic, open source radeon and nvidia drivers built into X.org run with compositing window managers on AIGLX, both of those drivers’ performance and features lag the respective closed-source counterparts.

Finally, there’s the compositing window manager itself. Currently there are two packages under heavy development: Compiz (http://www.go-compiz.org) and Beryl (http://www.beryl-project.org).

*Compiz, also written by Novell, was initially designed to take advantage of the direct rendering features of Xgl, but now also works with X.org installs with AIGLX enabled. For example, both Fedora Core 6 and Ubuntu Edgy have AIGLX enabled by default.

*Beryl was forked from the Compiz project in September of 2006 following technical and creative differences, and now appears to be gathering a lot of developer interest on non-Novell distributions. An official Beryl distro, Sabayon, is based on Gentoo Linux, and has garnered a reputation for being on the most bleeding edge of Beryl and other open source software builds. You can download Sabayon at http://sabayonlinux.org/.

FIGURE FOUR: Let it snow! Let it snow! Let it snow!

Given capable graphics hardware, a rendering engine, and a compositing window manager, you can have the wildest desktop in town. Let’s install Beryl on Ubuntu.

Beryl and Edgy

The install that follows assumes that you’re running Ubuntu Edgy 6.10 and that you’ve updated your machine to include all current updates and fixes. (If not, read “Tweaking Ubuntu” on the Linux Magazine Web site at http://www.linux-mag.com/id/2782.) Next, depending on your graphics card you have, you may need to modify Listing One:

Listing One: A Beryl install script, with nVidia-specific lines highlighted in bold text

03if [ $UID -gt 0 ]; then
04 echo “You must run this script as root.”;
06 cp /etc/apt/sources.list /etc/apt/sources.list.backup.beryl-script
07 cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup.beryl-script
08 echo “deb http://nvidia.limitless.lupine.me.uk/ubuntu edgy stable” >> /etc/apt/sources.list
09 wget http://nvidia.limitless.lupine.me.uk/ubuntu/root@lupine.me.uk.gpg -O- | apt-key add -
10 aptitude -y update && aptitude -y install linux-restricted-modules-$(uname -r) nvidia-glx
11 nvidia-xconfig –add-argb-glx-visuals
12 echo “deb http://ubuntu.beryl-project.org/ edgy main” >> /etc/apt/sources.list
13 wget http://ubuntu.beryl-project.org/root@lupine.me.uk.gpg -O- | apt-key add -
14 aptitude -y update && aptitude -y dist-upgrade
15 aptitude -y install beryl emerald emerald-themes
16 echo “[Desktop Entry]
17 Encoding=UTF-8
18 Name=Beryl Manager
19 GenericName=3D Window Manager
20 Comment=Beryl Manager daemon
21 Icon=/usr/share/icons/hicolor/scalable/apps/beryl-manager.svg
22 Exec=beryl-manager
23 Terminal=false
24 Type=Application
25 Categories=GTK;GNOME;Application;Utility;
26 StartupNotify=true
27 X-Ubuntu-Gettext-Domain=beryl-manager” > /etc/xdg/autostart/beryl-manager.desktop
28 cp /etc/xdg/autostart/beryl-manager.desktop /usr/share/applications/beryl-manager.desktop
29 cp /etc/xdg/autostart/beryl-manager.desktop ~/Desktop/beryl-manager.desktop
30 echo -e “\n\nBeryl is now installed.\n\nTo run Beryl on Ubuntu startup, please add beryl-manager to your\nstartup programs (System > Preferences > Sessions, and click on\nthe \”startup programs\” tab). Afterwards, please reboot.\n\nBackups of /etc/apt/sources.list and /etc/X11/xorg.conf were made:\n /etc/apt/sources.list.backup.beryl-script\n /etc/X11/xorg.conf.backup”

This install script, taken from the Beryl project wiki (http://wiki.beryl-project.org/wiki/Install_Beryl_on_Ubuntu_Edgy_with_nVidia) adds several repositories to your /etc/apt/sources.list file, downloads and installs the official Beryl builds from the Beryl project Web site, and configures your GNOME desktop menu with launch icons for the various Beryl utilities.

By default, the install script fully configures a system that uses a nVidia graphics card for use with Xgl. If you have an ATI Radeon card or the Intel Core Duo/Centrino mobile graphics chipset, comment out or delete Lines 8-11.

FIGURE FIVE: Measuring frame rate of a desktop animation

To run the script, save it to your home directory as beryl-install-script.sh, run chmod 755~/beryl-install-script from a terminal window, and then run sudo./beryl-install-script. After the script finishes, verify that your /etc/X11/xorg.conf file has been modified accordingly. You should see the following snippet within the Module section for nVidia cards:

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"

For ATI Radeon cards, however, be sure the following parameters are present:

Load "dri"
Load "dbe"
Load "glx"

For nVidia systems, the following section should appear as well:

Section "Device"
Identifier "NVIDIA Corporation NVIDIA Default Card"
Driver "nvidia"

If you see nv instead of nvidia for the Driver parameter, you’ve got the wrong driver. Change the entry manually, because the built-in nv driver lacks OpenGL acceleration.

For ATI Radeon-based systems, the Driver parameter must be radeon and not ati. The radeon driver is built into X.org and yields decent alpha blending and compositing performance. However, if you want optimal performance, use the proprietary fglrx driver. To install the fglrx driver, open up a terminal window and type:

# sudo apt-get update
# sudo apt-get install xorg-driver-fglrx fglrx-control

Of course, be sure to modify the Driver parameter in /etc/X11/xorg.conf to reflect fglrx.

Once you’ve confirmed the parameters above, reboot your machine for Beryl and your X server to work properly.

Pretty Pictures

Figures One-Five show just some of the eye-catching effects Beryl is capable of.

*Figures One and Two demonstrate Beryl’s 3D animation and compositing capabilities.

*Figure Three shows off transparency and blending.

*Figure Four is another example of live animation. It’s snowing on the desktop!

*Figure Five shows the frame rate for rendering the entire screen.

Yummy, huh? Beryl is the Willy Wonka of eye candy. Sweet!

Comments on "Beautiful Beryl"


Perfect !!!


Unnecessary :}


Unnecessary and Perfect….?



not perfect… yet

it is beautiful ;)


I have had this working for about 4 months now and at first I thought “this is awesome but not useful” I was wrong.. It is quite useful and awsome as well! It is very easy to find your app when you can see right through the cube, a couple taps on the keyboard and your there! EAT your heart out M$ and Apple.


Good article, but it doesn’t mention that Beryl and Compiz merged and that beryl itself won’t move forward. The Alpha version of merge, currentyl called ‘compiz-fusion’ is awesome and surprisingly stable.


As per ‘grahams1′ I noticed the article was slightly out of date with some of its information but nonetheless I have found the system to be quite stable myself after using it for several months now.

I also have found that after accustoming myself to just what the capabilities were, it has become quite a useful desktop tool. As ‘mattray’ points out, it is for example, very quick and simple to move from one active application to another without blindly guessing which desktop is which.

I would also like to point out that the support from the forums, etc is excellent.

All in all – Great Stuff!


i have an prety old computer
celeron 2.8ghz L2 cache 128kb
1gb ram
845 g intel integrated graphics card (i think 128 mb)

and it runs beryl, i dont enable all the effects but
it shows me the cube and I can get one or 2 effects to work.


It’s Compiz Fusion now … News outdate


Yeah really, what’s with them posting this when the 2 projects rejoined???? Beryl and Compiz are now Compiz Fusion basically. Linux Mag is still the shiznit though!


Yuh. For a Linux Mag you guys are pretty not up to date. It’s called Compiz Fusion. Merger between Compiz/Beryl.


This shows the complex nature of Linux. I would like to install Beryl. However I got totally lost with the various other things needed and the install script. I don’t have to worry about these complexities with Windows or Mac.


If you had tried using the alpha/beta versions of the eye candy under Windows/Mac (which you couldn’t) it would’ve been harder since you wouldn’t even get any support …
Wait until this is fully released and stable, hen complain …


Guys, this article was written BEFORE compiz and beryl merged. It was out of date when it went to PRINT.


beautiful !!!


Excellent! Thank you for your article!


Out of date before printing . . . gotta love the open source community.


Sin palabras…. Casi todo lo relacionado con linux es simplemente excelente.


Leave a Reply

Your email address will not be published. Required fields are marked *


You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>