Tuesday, February 20, 2007

Debian HOW-TO : AIGLX + Beryl

Last revision : April 23th, 2007

With the recent release of Beryl 0.2, the Beryl Project appears stronger then ever.

Folks using Debian have a good reason to be happy about that: a new Debian repository of Beryl packages has recently been unveiled.

This tutorial aims to explain in a clear and concise manner the installation and configuration of a Beryl enabled Debian desktop.

Setting up a Beryl desktop on Debian has never been simpler.


  • Prerequisites


The whole process has been tested on Debian Etch, but should work just as well in Debian Sid. As always, I use sudo to get root privileges.

First, you need either an Intel, ATI, or NVIDIA video card. Regarding both ATI or NVIDIA cards, the proprietary drivers must be properly installed and configured (ie direct rendering enabled). If you need help about that, please refer to the appropriate tutorials (the ATI or the NVIDIA one).

The next step is to ensure that your /etc/X11/xorg.conf configuration file is rightly set up. As the requirement regarding this point are same as for Compiz, please refer to this article for a more in depth explanation.

Very briefly I will state them.

In Section "Modules", have

   Load   "dbe"

in first position.

The Section "Devices" needs this line:

   Option   "XAANoOffscreenPixmaps"   "true"

in last position.

Also, make sure that a Section "Extensions" with this content:

Section   "Extensions"
Option "Composite" "Enable"
EndSection

is present.

NVIDIA users have a few extra requirements.

In Section "Devices", those lines are required:

   Option   "AllowGLXWithComposite"   "true"
Option "TripleBuffer" "true"


Finally, the Section "Screen" must includes those entries:

   Option   "AddARGBGLXVisuals"   "true"
DefaultDepth 24



  • Beryl


If you were using Compiz, I recommend uninstalling it, to avoid any potential conflicts:

sudo apt-get remove --purge compiz compiz-gtk compiz-core compiz-gnome compiz-plugins


For this point on, the rest of the process is extremely straight forward. Simply add the Beryl repository to your /etc/apt/sources.list file:

deb http://debian.beryl-project.org etch main
deb-src http://debian.beryl-project.org etch main


It is to be noted that an equivalent Ubuntu repository exists: http://ubuntu.beryl-project.org/

Then make sure the PGP key is part of your trusted sources:

wget http://debian.beryl-project.org/root@lupine.me.uk.gpg -O- | sudo apt-key add -


And update the repositories:

sudo apt-get update


Finally you can actually install Beryl. Of course, remember to first uninstall Compiz (if you were using it).

GNOME or Xfce folks can use this command:

sudo apt-get install beryl emerald

which will fetch and set up Beryl, along with the Emerald themes manager.

Beside the default emerald, other themes managers exist : aquarine (KDE style) and heliodor (mimics GNOME).

That's it! The last step involves adding beryl-manager to your desktop environment startup script, so that it replaces your default window manager. Again, make sure you erase any prior entry related to Compiz, as the two will not sail along smoothly.


Gnome


In GNOME, go in Desktop -> Preferences -> Sessions and choose the Startup Programs tab. Simply add an entry for Beryl:

beryl-manager



KDE


Just create a file ~/.kde/Autostart/beryl.desktop with this content :

[Desktop Entry]
Encoding=UTF-8
Exec=beryl-manager &
GenericName[en_US]=
StartupNotify=false
Terminal=false
TerminalOptions=
Type=Application
X-KDE-autostart-after=kdesktop



Xfce


Just edit the file /usr/share/desktop-base/profiles/xdg-config/xfce4-session/xfce4-session.rc and replace xfwm4 with beryl-manager :

Client0_Command=beryl-manager


It's all over! You can enjoy the advanced eye candy feature of this thing of beauty called Beryl.

30 comments:

Ryan said...

beryl-settings
Traceback (most recent call last):
File "/usr/bin/beryl-settings", line 1866, in ?
CategoryStrip.props.xalign = 0.5
AttributeError: 'gtk.Alignment' object has no attribute 'props'

is what I get when running beryl-settings. I cant seem to find what deps I need to make this work.

Hugues said...

Hi Ryan,

I looked around and found at least one person experiencing the same difficulties (see this post on the Beryl forum).

There you can find a good hint for a solution.

In bref, make sure your system is up-to-date (Debian Etch or higher), so :
sudo apt-get update && sudo apt-get dist-upgrade

And then verify that the package python-gtk2 is properly installed : sudo apt-get install python-gtk2, and sudo dpkg-reconfigure python-gtk2

Good luck !

If you need any more assistance, please post on LinuxForums.org and I will help you there (under the nickname antidrugue).

Thank you for your comment,

Hugues

Anonymous said...

When I run beryl it complains about something I relate to the graphic-driver. I use the fglrx-driver for ati-cards, is that the reason why it doesn't work? I read that AIGLX doesn't work with this driver.
Great guide :-)

Hugues said...

Hello,

I can't speak too much about ATI cards, as I don't have one myself. I remember getting AIGLX + Compiz to work on Fedora Core 6 with an ATI 9550. Otherwise, I mostly use NVIDIA and INTEL cards, as they really are the Linux friendly ones.

If you have any issues, feel free to post on LinuxForums.org (my username is antidrugue there).

Thank you for your interest,

Hugues

Anonymous said...

i have a Toshiba Satellite 2430 running Debian Etch and the instructions here work to the dot. Thanks!

bitlogic said...

Hi,

Do you know if it possible to use compiz or beryl on wmaker?

Thanks,
bit

Hugues said...

Hi bitlogic,

Unfortunately it is not possible to use Beryl in conjunction with WMaker, as both are window managers. So there is an absolute conflict there.

As far as I know, the use of Beryl is only possible in desktop environments, such as Xfce, GNOME, KDE, or LXDE.

Thanks for reading,

Hugues

Ryan said...

This might be a repeat question, if so i apologize.

I have installed envy and loaded my nivida drivers that way. i then installed beryl. the problem that i am having is that i cannot access functions like closing windows, moving, and minimizing to name a few. i also cannot change the themes in emerald. this line appears in command prompt: framebuffer attach failed

i am new to the linux world but hoping to make a successful change. thank you in advance for your help.

Anonymous said...

ryan, i am getting the same problem - will try some of these hints: http://wiki.beryl-project.org/index.php/Install/Ubuntu/Edgy/nVIDIA#Troubleshooting
later...

RyanD said...

I am running the testing version of Debian sid, and my system is up to date. I installed it per the instructions. It runs, and the window graphics and motion is very smooth, but the gnome panels no longer function properly. When I try to select "Applications", "Desktop", it highlights the text blue but the drop window does not appear. When I try clicking on the icons, to launch a terminal for example, it will launch the window and show in the "window selector", but it does not appear on the screen. Also, some of the basic functionality of the applications, such as scrolling, appear to be extremely slow to react.

Anybody have any ideas?

ryand said...

Update/Correction:

I have played around with it some more, and a more correct description is that when beryl is running, nothing gets updated on the screen. That is, if I have a terminal window open and type in it, no text appears. When I press Ctrl-Alt and rotate the cube, or drag a window around, the screen is updated and the text appears. Likewise, the gnome panel system monitor does not update, but when I Ctrl-Alt click and rotate the cube, it does.

So it seems as if there's something that is preventing windows/applications from updating unless the fancy beryl 3D graphics are in action.

Any ideas?

Hugues said...

Hi Ryan,

Keep in mind that the present tutorial is Debian Etch centric. The Beryl packages used here are built for Debian Etch.

Perhaps you can try those Debian Sid's Beryl packages, and see if it works better for you.

Feel free to start a thread on Linuxforums.org if you need any more help.

Thanks for your comments,

Hugues

Miha said...

3. problems:

* I haven't /etc/X11/xorg.conf file on debian lenny/testing, so i can't install ati drivers.

* Also when I started beryl-manager, kwin chrach. (i think that is normally)

* And at last beryl can't find XComposite extension, but I have all Composite libs installed.

What can I do? -- Miha

Miha said...

Is there any conflicts between beryl and emerald?

Miha said...

Is there any conflicts between beryl and emerald?

Hugues said...

Hi Miha,

Make sure you have the package xorg installed on your system.

It is actually possible that you don't have a /etc/X11/xorg.conf. You can generate one with the following command:

sudo dpkg-reconfigure xserver-xorg

Thanks for your comments,

Hugues

Miha said...

Thx, but not work. All I get after some steps is:

md5sum: /etc/X11/xorg.conf: No such file or directory

Miha

Miha said...

Of cource I have installed X.org, the newest version in Debian testing

Miha said...

Now after some tricks, I have xorg.conf, thx a lot. Useful blog.

Miha said...

I get this error:


Checking for non power of two texture support : failed

Support for non power of two textures missing
beryl: glXBindTexImageEXT is missing
beryl: Failed to manage screen: 0
beryl: No manageable screens found on display :0.0


What can I do?

Anonymous said...

http://ubuntuforums.org/showthread.php?t=358834
and enable:

Option "glXBindTexImageEXT" "Enable"

Anonymous said...

Same problems:
http://ubuntuforums.org/showthread.php?t=352350

Anonymous said...

hello,
beryl works for me in xfce and gnome without any problems bt i cant get it to work in kde, which i want badly..
i get this when i run beryl-manager:**************************************************************
* Beryl system compatiblity check *
**************************************************************

Detected xserver : NVIDIA

Checking Display :0.0 ...

Checking for XComposite extension : passed (v0.3)
Checking for XDamage extension : passed
Checking for RandR extension : passed
Checking for XSync extension : passed

Checking Screen 0 ...

Checking for GLX_SGIX_fbconfig : passed
Checking for GLX_EXT_texture_from_pixmap : failed

No GLX_EXT_texture_from_pixmap
beryl: Another window manager is already running on screen: 0
beryl: No manageable screens found on display :0.0

somone?

Mydrac said...

thanks a lot. very hepful very good.
thank you.

Anonymous said...

Hi,

I've just recently used your tutorial to install beryl on etch with gnome. The install seemed to work just fine, but when I run beryl-manager in the terminal, it comes up with the following:

robert@home:~$ beryl-manager
robert@home:~$ sh: glxinfo: command not found
**************************************************************
* Beryl system compatiblity check *
**************************************************************

Detected xserver : NVIDIA

Checking Display :0.0 ...

Checking for XComposite extension : failed

No composite extension
134544569 screens detected.
Currently we cannot guarantee that Beryl will work correctly with multiple X screens.
Using the --no-context-share command line option can help.
Please report any success to the beryl developer mailing list. The list can be found at lists.beryl-project.org

In addition to this, I get no window borders, making resizing, moving, and closing windows impossible...well with the mouse anyway.

any suggestions would be greatly appreciated.

Thanks,
Robert

Hugues said...

I would like to thank everyone for their comments.

I simply have a little less time on my hands right now. Anyone seeking personalized help can visit Linuxforums.org and ask your questions there.

My goal is to start contributing to this blog on a regular basis again, as soon as possible.

Thanks.

free ps3 said...

Thanks for the wonderful tutorial!

mmblah said...
This comment has been removed by the author.
Anonymous said...

Who knows where to download XRumer 5.0 Palladium?
Help, please. All recommend this program to effectively advertise on the Internet, this is the best program!

Anonymous said...

what can cause "403: Forbidden." when you try to get the beryl pgp key?