| Home | Articles | Projects | University | Gallery | Guestbook | About |
Beryl is formally a fork from the project Compiz by Novell.
Beryl was born as a totally free project and it intends to redesign the technology of Compiz with performance improvements and a more extended support, being able to run on graphic cards with some obsolete drivers. Beryl is a window manager and a composite manager written in C and OpenGL. [1]
In Debian, currently, is not too difficult to install it and moreover it works perfectly with Radeon Mobility cards (I personally use the 9600 M10 Pro model), using the r300 open driver available in the Linux kernel. So let's move onto the action!
I use the model 9600 M10 Pro, but almost any card is valid (except for the really new ones). We could use the fglrx drivers, but it leads into two problems: first, we would use a closed driver, and second, we would not have good support for AIGLX, so we would have to use XGL and that is not an advance, since XGL aims to be a different project from X.Org, creating its new standars.
First and foremost, as usual in Linux, is to recompile our kernel to add support for the Radeon cards, including the following options:
NOTE: XXX should be the name of the chipset which the cards uses. For instance, in Centrino laptops, we must choose Intel in AGP and Radeon in DRM; whereas in other computres, there might be only one Radeon card working both as main and accelerator card.
Then, we must reboot our Linux as always, and reconfigure the file /etc/X11/xorg.conf. However, take in account that this article assumes the reader is using X.Org 7.1 or higher.
AIGLX is a X.Org extension which lets us add some visual effects, such as real transparency and shadow composition, rendered in real-time by the graphic card, which uses some OpenGL extensions and, more concretely, the texture_from_pixmap extension. [2]
To set up the AIGLX in Debian with Radeon cards, we only need to install the latest version of X.Org (I suggest 7.1 or higher) and edit the file /etc/X11/xorg.conf. In the section ServerLayout, we must add the following line:
Afterwards, we create the section Extensions if it is not there and we add the following:
In the section Modules, we must check that we have the following modules loaded:
Load "bitmap"
Load "dbe"
Load "ddc"
Load "dri"
Load "GLcore"
Load "extmod"
Load "glx"
Load "int10"
Load "record"
Load "xtrap"
Load "vbe"
NOTE: For Radeon cards, it is better not to use the option omit xfree86-dga. Subsequently, the device section should look like this:
Last, we must check that in the section Screen, we are using this driver with the option: Device "ATI Radeon". After this, we will have X.Org ready to use transparencies and shadows and, therefore, we only have to install Beryl and configure it to enjoy a window manager full of fancy visual effects.
To check that AIGLX is working properly, we run the X server and a simple terminal from where we write the following command (be sure of having installed the package mesa-utils):
There should come two or three lines, where we should see something like direct rendering: Yes. Otherwise it means that there might be some configuration problem, so we better refer to further documentation about our Radeon configuration in ThinkWiki.
First, we need to download the binary packages for Debian. This is performed by adding the following server to the /etc/apt/sources.list file:
Next, the packages are installed by doing:
After this, we should have Beryl (and Emerald, which is the window manager) installed and ready to be run. Hence, we first start the X server without anything, just with a terminal and try to run the command beryl-manager:
If everything is fine, we should get a splash-screen and we should have a window manager decorator and some effects (try to drag the terminal window or start some programs and minimize them, etcetera). If there is some problem, we wil have to look at the errors generated and search in the Internet.
Still, I can give some advices. In the beginning, when I started playing with Beryl, the X serverd just crashed without any error message, and the problem was that certain programs should be started in a strict order. Here I show my .xinitrc so that you can see what and how I start my applications in the beginning of the session:
To adjust the configuration, we can run the command beryl-settings, and there we can change any keyboard shortcut, any effect and much more. And that is all. I know that in many cases there will be problems, but this is all the information I can offer for now, because I do not have much time to try different cases and different graphic cards.
As a conclusion, I would like to add a few lines of my totally personal opinion. Before using Beryl as a window manager, I used KDE, and before, GNOME. The good thing about using Beryl is that, besides including all the fancy effects (even besides we can use it in combination with the desktops mentioned above), I just simply load a panel and a backdrop manager and everything works smoothly.
In addition, I remember two or three years ago, when in Unix was hard to obtain a pretty desktop. Nowadays, GNU/Linux and other Unix systems, thanks to the GNU software and many others OpenSource projects, it is been demonstrated that it is possible to design well a program and moreover it can be fast, reliable and highly stylish, outperforming, in many cases, systems developed by big private companies.
I hope this article has helped any person who needed or wanted to install Beryl. If there is any problem with Beryl or with this article, please contact me.
What is the Beryl Project? Erik Elof and the Beryl Project. The
Beryl Project [online]. The Beryl Project; November, 2006.
URL: http://www.beryl-project.org
Accessed 15 December 2006
RenderingProject AIGLX. Fedora Project. The Fedora Project
[online]. The Fedora Project; October, 2006.
URL: http://fedoraproject.org/wiki/RenderingProject/aiglx
Accessed 15 November 2006