November 8, 2006

Beryl debuts a dazzling community-built 3-D desktop

Author: Joe Barr

As we reported in September, a group of developers forked SUSE's Compiz compositing window manager to create a community-based project called Beryl. The new project has quickly become a popular choice for supporting the 3-D desktop effects that make the Linux desktop sizzle these days. I installed Beryl on Ubuntu Edgy and have been running it for the past week. I find Beryl impressive, but, predictably, unstable.

All 3-D desktop effects, including quivering windows, spinning cubes, and raindrops falling on your desktop, require three distinct components: OpenGL extensions in your X server to allow 3-D effects, a compositing manager to handle the special effects made possible by OpenGL, and a window manager.

Novell's David Reveman developed Xgl as a separately installed add-on to provide OpenGL functionality for the X server. He also wrote Compiz, one of the first compositing window managers (a compositing window manager combines the functions of a compositing manager and a window manager). When Nat Friedman demonstrated the effects made possible by those tools on the SUSE 10.1 beta desktop at the Desktop Linux show last spring, Compiz blew the crowd away with its wiggle and other assorted high-calorie eye candy.

Red Hat, meanwhile, was working on a different approach to 3-D desktops. Rather than bolt the needed functionality onto the X server, the company followed the X.Org Foundation's lead in seeking to incorporate Xgl into X with AIGLX. At first, Red Hat and all the other major distros had to play catch-up with SUSE in the 3-D realm, but it now appears that they have caught up. The loudest oohs and ahs I heard at a recent installfest came from those who saw the 3-D desktop running on Fedora 6.

Installation

Having seen the special effects, I had to try them out for myself. The Ubuntu Web site provides detailed instructions for installing both Xgl and AIGLX on Dapper and Edgy, but judging from comments I've seen on IRC, they don't always work. I had to do a little hammering to get everything installed "just right" on my Ubuntu Edgy desktop.

Since Edgy comes with the latest version of X.Org's server, which has OpenGL built-in, I didn't have to make a choice about which way to add OpenGL to X. As a matter of fact, since I am also running the latest Nvidia beta (9625), I didn't need to have GL support in X at all. But if you're not running the proprietary, beta version of the Nvidia driver, you will need to install software to support OpenGL.

DANGER! DANGER! DANGER! This is not production-ready software. There are both bugs and omissions. Use with caution. You have been warned.

Click to enlarge

Your distro, your desktop environment, your videocard, even the theme you use -- all come into play while installing and using Beryl. What works for some, doesn't work for others. If you absolutely must have a 3-D desktop, I recommend you change to a distribution that supports it out of the box. But if you're geek like me, and have heard the siren call of the spinning cube and other 3-D goodies, walk this way.

I had a few headaches installing the latest Nvidia beta driver, due to my earlier installation of Ubuntu's non-proprietary Nvidia packages. The cure was to remove all the Nvidia-related packages on my system, then install the beta driver. I was then ready to install Beryl. I followed the instructions for adding the repositories needed to get Beryl, then ran apt-get install for the beryl and emerald-themes. (Emerald is Beryl's window decorator.)

Once the software was installed, I started up my 3-D desktop by entering beryl-manager. That bought up the shimmering splash screen you see in Figure 1. Now I was in the land of cool: windows jiggled, and when I minimized them they looked like smoke being drawn into a vacuum on the bottom panel. When I changed viewports, the desktop cube flipped to the desired view. But not all was right.

Beryl had stolen the title bar from all of my windows. I was able to close, minimize, and maximize windows by first right-clicking on them on the bottom GNOME panel, then choosing the desired action, but that quickly became annoying. I also had a problem with gnome-terminal -- when I tried to start it, a window would open, but without borders or content. I used xterm as a workaround, but it's a poor substitute.

Just as had been the case with getting the Nvidia beta driver to install, the cure for those two woes turned out to be a complete removal of all Beryl- and Emerald-related packages, then a new install of same. Then I was finally ready to start exploring.

Configuring Beryl

For all the hassles you may run into getting Beryl installed -- and perhaps reinstalled -- properly, it is extremely easy to configure once it's properly in place. Take themes for instance. There are about 40 Emerald themes to choose from. (In fact, I understand there is now another choice of window decorator now, other than Emerald, but I've been too busy with what I already have to check it out.) To select a theme, just click once on the Beryl Manager icon on the task bar, then select the Emerald Theme Manager. That will bring up a window like you see in Figure 2. Click on the theme and then click exit. You're done.

In addition to changing which theme you're using, the Emerald Theme Manager will let you adjust the colors, styles, opacity, timings, and many other tweakable settings. It's powerful and easy to use.

The Beryl Settings Manager is just as easy to use. All of its options are displayed in the left column of the window you see in Figure 3. After selecting an option, you can enable it and set the keyboard and mouse bindings you wish to use to activate it.

Using Beryl

At present, you have to take it a day at a time with Beryl. Sometimes the daily SVN updates will install smoothly and seamlessly. Other days, it will freeze up the desktop so tightly that a reboot is required to escape. This is to be expected during the alpha/beta stages of development.

After you've impressed your friends with your Berylized-desktop, and made them envious of Linux users, a lot of the eye candy can get boring after awhile. But there are features in the Beryl desktop that are more important than simply being geek-bait.

Take desktop zoom, for example. I often have trouble reading online comic strips, and the regular zoom feature in Firefox only increases the size of the font, not images. With Beryl, the zoom zooms everything, including the text in comic strip bubbles, so I can read it as easily as I can read a headline.

The Beryl community is making tremendous progress in all areas: plug-ins, themes, and the Beryl core itself. I've become a big fan over the past week. But while the pace of development within the Beryl Project is awe-inspiring, the software still lends itself to a lot more crashes than Linux users are used to seeing. I've seen more locked-up X servers in the past week than I have in the past few years. Sometimes I can kill X, sometimes I have to reboot. It's more than a pain; it puts a real chill on your productivity.

The bottom line is that Beryl is helping to make the Linux desktop the place to be. Windows Vista and Mac OS X notwithstanding, it's the coolest, most exciting desktop available.

Click Here!