个人工具

UbuntuHelp:CompositeManager/InstallingBeryl

来自Ubuntu中文

重定向页面
跳转至: 导航, 搜索

BERYL IS OBSOLETE, use CompizFusion

Introduction

This page details how to set up and run the Beryl composite manager. Beryl is a friendly fork of compiz. The split was due to differing design goals. Beryl uses Emerald instead of Cgwd as the theme manager. See this page for compiz installation instructions.

Prerequisites

<!> In order to run the beryl composite manager, you will likely want to set up Xgl or AIGLX first. Please make sure you have already installed Xgl or AIGLX. For more, consult the CompositeManager page.

3D acceleration

Composite managers like Beryl require an X server capable of making 3D acceleration available to the window manager. First, check whether your card supports 3D acceleration; see the 3D Graphics Cards section for details on how to set up 3D acceleration for your graphics card.

Beryl and X servers

With Xorg v7.1, AIGLX has been merged into the standard Xorg server. However, AIGLX requires support of an extension called GLX_EXT_texture_from_pixmap and this extension is not yet widely supported. Check the AIGLX|server page to see whether the driver for your graphics card already supports AIGLX. XGL runs on top of a separate Xorg server and adds support for indirect 3D rendering to any graphics card. See the XGL page or the AIGLX on Dapper and AIGLX on Edgy pages for detailed installation instructions. If you have an NVIDIA graphics card for example, you might want to use the XGL server for the time being; alternatively, you could use the NVIDIA binary driver to enable AIGLX support. Note that the 'legacy' NVIDIA driver doesn't support the 'GLX_EXT_texture_from_pixmap' extension. At least version 1.0-9629 is required for AIGLX support.

Setting up repositories

<!> If you need help with adding repositories, please see Repositories/Ubuntu.

Beryl on Edgy Eft

Make sure that you have the proper repositories configured. Enable the Universe|and Multiverse repositories as well as either one of the following third-party repositories:

deb http://ubuntu.beryl-project.org/ edgy main
deb http://www.beerorkid.com/compiz edgy main-edgy

If you are using the AMD64 platform, your choices for sources are:

deb http://www.beerorkid.com/compiz edgy main
deb http://ubuntu.beryl-project.org/ edgy main-edgy main-edgy-amd64

Add the appropriate gpg key for the repository you are using by typing one of the following commands into the Terminal:

wget http://ubuntu.beryl-project.org/[email protected] -O- | sudo apt-key add -
wget http://www.beerorkid.com/compiz/quinn.key.asc -O - | sudo apt-key add -

Now update the package list:

sudo apt-get update

Beryl on Dapper Drake

Make sure that you have the proper repositories configured. Enable the Universe and Multiverse repositories as well as either one of the following third-party repositories:

deb http://www.beerorkid.com/compiz dapper main
deb http://xgl.compiz.info/ dapper main

If you are using the AMD64 platform, you will need to add the AMD64 repositories

deb http://xgl.compiz.info/ dapper main main-amd64

<!> These two non standard repos may cause software issues. If you find your update manager or synaptic stop working after this, create a symlink to the missing library with "sudo ln -s /usr/lib/libvte.so.9 /usr/lib/libvte.so.4". The packages in Quinn's compiz repositories can be gpg authenticated. If you want to be able to check the packages against Quinn'Storm's gpg signature, import her key by typing the following command in a terminal:

gpg --keyserver subkeys.pgp.net --recv-keys 0x31a5f97fed8a569e
gpg --export --armor 0x31a5f97fed8a569e | sudo apt-key add -

<!> If you do not import the pgp key, you will receive an error message "The integrity of the packages cannot be verified". (./) For more on secure apt, see Secure Apt on the Debian wiki. Now update the package list and do a dist-upgrade to make sure we get the latest mesa packages and such:

sudo apt-get update
sudo apt-get dist-upgrade

Update-Manager will now inform you about updates to the compiz repositories.


Installing the Beryl Packages

Beryl on Edgy Eft

Install the following packages:

sudo apt-get install beryl emerald-themes

Note: Beryl is a metapackage that will install all the dependencies (beryl-core, beryl-plugins, beryl-manager, beryl-settings) and also the decoration themes (emerald but not emerald-themes).

Beryl on Dapper Drake

Install the following packages:

sudo apt-get install xserver-xgl libgl1-mesa xserver-xorg libglitz-glx1 beryl emerald-themes

Note: Beryl is a metapackage that will install all the dependencies (beryl-core, beryl-plugins, beryl-manager, beryl-settings) and also the decoration themes (emerald but not emerald-themes).

Beryl on Feisty Fawn

Install the following packages:

sudo apt-get install beryl

Note: Beryl is a metapackage that will install all dependencies and decoration themes).

Starting Beryl

Now it's time to test Beryl. Open a terminal, and invoke:

beryl-manager

If all goes well, Beryl should show a splash screen, and your windows will suddenly become wobbly! Also note that there is a new icon, a red gem, in your system tray - this allows you to control Beryl, run the Beryl settings manager or Emerald (the theme manager). It also provides fallback to a different window manager, in case Beryl crashes (remember Beryl is very much alpha software). If you don't get a splash screen immediately, you may need to tell the manager to load Beryl - right-click on the icon in the system tray, go to "Select Window Manager" and choose "Beryl". If that doesn't work, there's a problem somewhere! Hopefully, useful debugging output will be in the terminal session; ask for help on the #ubuntu-xgl or #xgl channels on irc://irc.freenode.net/

Making Beryl start automatically when you log in (GNOME)

From the menu at the top of your screen, select "System > Preferences > Sessions". Click on the right-most tab, "Startup Programs". Now create a new entry for beryl:

beryl-manager

Close the Session Preference Panel. Beryl will now start automatically when you log in.

Troubleshooting

If you find that you cannot set icon or gtk themes while using beryl with Xgl on display :1, invoke the following command in a terminal:

gnome-settings-daemon &

Your chosen theme should now appear. source: link, link The console message

beryl: water: GL_ARB_fragment_program is missing

points to an OpenGL extension that your card cannot use. Simply switch off the water effect in the Beryl Settings Manager. source: link You might find that when you try to start beryl that you get the following:

chris@ubuntu:~$ beryl
**************************************************************
* Beryl system compatiblity check                            *
**************************************************************

Detected xserver                                : XGL

Checking Display localhost:1.0 ...

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

beryl: GLX_EXT_texture_from_pixmap is missing
beryl: Using non-tfp mode
beryl: GLX_SGIX_fbconfig is missing
beryl: Failed to manage screen: 0
beryl: No manageable screens found on display localhost:1.0

I fixed this by creating the following shell script in /usr/local/bin/start-beryl and adding it to the startup programs in Gnome.

#!/bin/bash
LD_PRELOAD=/usr/lib/fglrx/libGL.so.1.2.xlibmesa /usr/bin/beryl &
gtk-window-decorator --replace &
xmodmap -e \"keycode 22 = BackSpace Delete\"

Many thanks to Michele Campeotto, who discovered this workaround for compwiz. From Michele's page: "the problem is that ATI hasn’t yet released a driver with that new extension that Novell and NVIDIA developed specifically for Xgl and compiz. The extension is implemented by Mesa though, so we need get compiz to use that. The problem is that when you install the fglrx driver it overwrites /usr/lib/libGL.so.1.2 with its own version wich lacks this feature."

No Window Decorator with an NVIDIA graphics card

If you've started beryl, and aren't getting a window decorator, the most likely cause is that ARGB GLX Visuals are disabled. There are two ways to fix this:

  • NOTE* You should ALWAYS back up xorg.conf prior to tinkering with it.

Option 1: Using nvidia-xconfig (Preferred Method) Run the following command in a terminal session: sudo nvidia-xconfig --add-argb-glx-visuals This command invokes the nvidia-xconfig utility to add ARGB GLX Visual support to xorg.conf. This usually works quite well. Option 2: Manually editing xorg.conf Run the following command from a terminal to open xorg.conf: sudo nano /etc/X11/xorg.conf Now, scroll down till you get to the section marked "Screen". You will then need to add in the following line to this section: Option "AddARGBGLXVisuals" "True" Now, save and exit. After this is complete, restart X and all should be well.

See also

Installing Beryl on Ubuntu on the Beryl Project Wiki Installing the NVIDIA beta drivers for use with AIGLX on the Beryl Project Wiki