Beryl
From openSUSE
|
WARNING: The Beryl project has been merged with Compiz Extras to provide Compiz Fusion; you will most probably want to use that from now on, instead. Click on the link for more information and instructions. |
|
Beryl with Xgl
In this method we would be setting up Beryl to run on Xgl. This is the recommended way to run Beryl or Compiz on openSUSE as other methods (AIGLX/NVIDIA) still do not provide reliable performance.
Prerequisites:
1.
- nVidia card: Install the nVidia accelerated drivers. See: NVIDIA
- ATI card: Install the new ATI driver for Xorg 7.2. Check here
- Intel card: Make sure that 3D acceleration ("Active 3D Acceleration" box is ticked) in:
K Menu -> Computer -> YaST. Then: Hardware -> Graphics Card and Monitor.
2. Add the additional Beryl repository, from the openSUSE build service.
- To add this to Yast, see: Additional_YaST_Package_Repositories#Beryl.2C_Compiz_and_XGL
- To add this via Zypper/rug, simply type: (if using rug, just replace zypper with rug)
zypper sa http://download.opensuse.org/repositories/X11:/XGL:/Legacy/openSUSE_10.2/ xgl
- To add this repository via Smart, type:
su smart channel --add http://download.opensuse.org/repositories/X11:/XGL:/Legacy/openSUSE_10.2/X11:XGL:Legacy.repo
3. Now install the following packages (Using YaST -> Software Management -> search for Beryl):
- beryl-core-snapshot
- beryl-manager-snapshot
- beryl-plugins-snapshot
- beryl-settings-snapshot
- compiz
- emerald-snapshot : window decorator
- emerald-themes-snapshot
- aquamarine-snapshot
- xgl
If you don't want the latest svn snapshot version, and would rather go for a stable Beryl version, then install all packages packages just like above, but without the -snapshot. This can of course be easily done with rug, zypper, smart or YaST. Compiz is required for the easy Xgl-switch, you can also choose to run beryl or compiz from beryl-manager later on.
4. Enable Xgl:
su gnome-xgl-switch --enable-xgl
(you do NOT need to be running GNOME: this command applies for GNOME or KDE users)
5. Restart your X server:
su rcxdm restart
6. Run beryl!
beryl-manager
Possible error:
1) on boot X complains about more than one x server
"There already appears to be an X server running on display :0. Should another display number be
tried? Answering no will cause GDM to attempt starting the server on :0 again... etc" Answering
"no" successfully starts X.
2) logged in to a session with beryl:
(32 bit) all menus and popup are rendered atop white boxes
(64 bit) desktops & windows flicker, no window borders
symptoms caused because "gnome-xgl-switch --enable-xgl" does not properly set up Xgl.
*Solution, temporary:
1) remove all /tmp/.Xgl-Auth-* to another folder
2) Enable Xgl from the control center instead.
Beryl with nVidia drivers - no Xgl/AIGLX
Since Xorg 7.x, composite effects can be used without Xgl and simply an nVidia card. This uses nVidia's implementation of GLX_EXT_texture_from_pixmap, not the one from Xorg's inbuilt/optional AIGLX or from Xgl.
Prerequisites:
- nVidia (> geforce 4)
1. Install the nVidia accelerated drivers. See: NVIDIA
2. Add the additional Beryl repository, from the openSUSE build service.
- To add this to Yast, see:
Additional_YaST_Package_Repositories#Beryl_Packages
- To add this repository via Smart, type:
smart channel --add http://download.opensuse.org/repositories/X11:/XGL:/Legacy/openSUSE_10.2/X11:XGL:Legacy.repo
3. Now install the following packages:
- beryl-core-snapshot
- beryl-plugins-snapshot
- emerald-snapshot : window decorator
- emerald-themes-snapshot
- aquamarine-snapshot
- beryl-settings-snapshot
- beryl-manager-snapshot
4. Enable composite in Xorg:
su nvidia-xconfig --composite nvidia-xconfig --allow-glx-with-composite nvidia-xconfig --render-accel nvidia-xconfig --add-argb-glx-visuals
- NOTE The --allow-glx-with-composite option enables GLX even when the Composite X extension is loaded. ENABLE AT YOUR OWN RISK. OpenGL applications will not display correctly in many circumstances with this setting enabled. This option is intended for use on X.Org X servers older than X11R6.9.0. On X11R6.9.0 or newer X servers, the NVIDIA OpenGL implementation interacts properly by default with the Composite X extension and this option should not be needed. However, on X11R6.9.0 or newer X servers, support for GLX with Composite can be disabled by setting this option to False.
5. Restart your X:
su rcxdm restart
6. Run beryl!
beryl-manager
Beryl with X.org AIGLX or native NVIDIA
Prerequisites:
- nVidia Card (> geforce 4), or
- Relevant Intel Card: i830 through i945. i810 works, but DRI requires 16 bit depth. Or
- Relevant ATI Card: Radeon 7000 through X850 (r100 through r400 generations).
1.
- nVidia card: Install the nVidia accelerated drivers. See: NVIDIA
- ATI card: Install the new ATI driver for Xorg 7.2. Check here
- Intel card: Make sure that 3D acceleration ("Active 3D Acceleration" box is ticked) in:
K Menu -> Computer -> YaST. Then: Hardware -> Graphics Card and Monitor.
2. If you were running Xgl, make sure that it is now disabled:
su gnome-xgl-switch --disable-xgl
Note: this command is required for GNOME and KDE users.
3. Backup your Xorg configuration:
su cp /etc/X11/xorg.conf /etc/X11/xorg.conf.$(date +%y%m%d-%H%M%S)
4. Open up xorg.conf for editing:
If you are using the KDE Desktop Environment: kdesu kate /etc/X11/xorg.conf |
If you are using the GNOME Desktop Environment: gnomesu gedit /etc/X11/xorg.conf |
You'll notice now that the file is demarcated into Sections. You'll need to edit these to add a few lines, which are options:
To Section "ServerLayout", add:
Option "AIGLX" "true"
To Section "DRI", add:
Group 0 Mode 0666
To Section "Device", add:
Option "XAANoOffscreenPixmaps" "true" Option "DRI" "true"
Now also create a new section that looks just like this:
Section "Extensions"
Option "Composite" "Enable"
EndSection
The relevant parts of your xorg.conf should look something like this now (it may vary a little):
Section "Extensions" Option "Composite" "Enable" EndSection Section "DRI" Group 0 Mode 0666 EndSection Section "ServerLayout" Identifier "Layout[all]" InputDevice "Keyboard[0]" "CoreKeyboard" InputDevice "Mouse[1]" "CorePointer" InputDevice "Mouse[3]" "SendCoreEvents" Option "Clone" "off" Option "Xinerama" "off" Option "AIGLX" "true" Screen "Screen[0]" EndSection Section "Device" BoardName "915 GM" BusID "0:2:0" Driver "i810" Identifier "Device[0]" Option "NoDDC" VendorName "Intel" Option "XAANoOffscreenPixmaps" "true" Option "DRI" "true" EndSection
Now make sure you save the file, and then close the editor.
5. Now restart X:
su rcxdm restart
6. Run Beryl!
beryl-manager
Follow the exact same instructions as you would for 10.2.
NOTE: When installing emerald in YaST, dependency checking will fail, because it expects the old versions of many applications. When YaST gives you the choice of not installing emerald, or ignoring the dependency check just there, choose to ignore it. Also make sure libwnck and libwnck-1-22 are installed. After everything is installed, if you try running Beryl with Emerald, it will complain asking for "libwnck-1.so.18". You could use Aquamarine (KDE Window Decorations), but if you are using GNOME this may not be an option. Open a file manager (like Konqueror or Nautilus) and browse to /usr/lib. You should see a file called libwnck-1.so, or something similar. If you do not, it means libwnck is not installed, and you need to install it with YaST. Open up a terminal, and as root, cd into /usr/lib, and create a symbolic link "libwnck-1.so.18" pointing to "libwnck-1.so".
su
cd /usr/lib
ls -s libwnck-1.so libwnck-1.so.18
That should satisfy emerald, so try running it.
beryl-manager
emerald --replace
Don't forget to leave KDE's own translucent and shadowed windows off.
Making Beryl start automatically
Method 1
| If you are using the KDE Desktop Environment: Simply type (as user, not root): ln -s /usr/bin/beryl-manager ~/.kde/Autostart/beryl-manager ln -s /usr/bin/beryl ~/.kde/Autostart/beryl |
| If you are using the GNOME Desktop Environment: Go to GNOME's Control Center -> Sessions. Go to the last tab, "Startup Programs". Over there, add the following two to the list: beryl-manager beryl |
Method 2
NOTE: Follow this step if "Method 1" is not working for you
1. Goto your home directory
cd ~
2. Copy xinitrc template to create a new one
cp .xinitrc.template .xinitrc
3. Open ".xinitrc" file with your editor (i.e. kedit, emacs, or vi), in this case i am using emacs
emacs .xinitrc
4. Search for a line that contain:
# Add your own lines here...
5. Below that line, add this:
exec beryl & exec emerald & exec beryl-manager &
6. Save ".xinitrc" file
7. Log off from KDE, GNOME, or from your window manager
8. Log in again, and now you can "rotate the cube" ^_^
Method 3
| If you are using the KDE Desktop Environment: This method only works with XGL and KDE. 1. Create a file called kde-start-compiz in /home/<user>/bin/ 2. Insert the following two lines: beryl-xgl & beryl-manager & or, if you wish to use Aquamarine (KDE) window decorator instead of Emerald: beryl-xgl & beryl-manager --no-force-decorator & aquamarine & 3. Make the file executable (right click -> Properties -> Permissions) From now on, whenever XGL is enabled (gnome-xgl-switch --enable-xgl) that file will be executed during KDE startup. So to stop Beryl from starting you won't have to remove the file, simply disable XGL (gnome-xgl-switch --disable-xgl) and the file will be ignored until XGL is re-enabled. 4. Run (as root) gnome-xgl-switch --enable-xgl After that run: rcxdm restart And log back in. |
Method 4
| If you are using the KDE Desktop Environment: This method only works with XGL and KDE, but starts faster. 1. Login using a failsafe session. 2. Edit ~/.kde/share/config/ksmserverrc. Make sure you have the following lines in the '[General]' section : defaultWM=beryl-xgl excludeApps=beryl-xgl loginMode=default If your previous login mode was restorePreviousLogout, then make a cleanup in the last section : [Session: saved at previous logout] count=0 3. Remove any other beryl startup files in '~/.kde/Autostart/', and create a new ~/.kde/Autostart/beryl-manager.desktop with the following lines : [Desktop Entry] Comment= Comment[fr]= Encoding=UTF-8 Exec=beryl-manager --no-force-window-manager --no-force-decorator GenericName= GenericName[fr]= Icon= MimeType= Name= Name[fr]= Path= StartupNotify=false Terminal=false TerminalOptions= Type=Application X-DCOP-ServiceType=none X-KDE-SubstituteUID=false X-KDE-Username= X-KDE-autostart-after=kdesktop This is just a "classical" beryl-manager startup entry which creates a beryl icon in the tray, but doesn't launch anything ('--no-force-window-manager --no-force-decorator'). 4. Logout, then Login using a KDE session. This trick avoids to launch a useless 'kwin', and also removes the dirty black flash when kwin is killed by beryl-manager at the end of the startup sequence. NOTE : removing the 'compiz' package will avoid any possible modification of the ksmserverrc file during an upgrade. |
Using other decorations
Compiz (GTK-W-D) and Metacity
Make sure that the latest compiz package is installed, and then simply run:
gtk-window-decorator --replace &
Using KDE instead of emerald
Simply type (as user, not root):
aquamarine --replace &
To go back to using the emerald theme decorator after, type:
emerald --replace &
Another composite manager is already running
Most likely KDE is running its own composite manager effects (using kompmgr), and Beryl therefore can't run. To disable KDE's window effects, open up the control center and disable the translucency effects:
K Menu -> Configure Desktop (Personal Settings). Then go to Desktop -> Window Behaviour.
Go to the last tab, "Translucency", and uncheck the "Use Translucency/shadows" box. Now you can fire up beryl-manager again, and everything should run just fine.
Note: You may have to kill kompmgr manually (unless you want to reboot) You can do this by typing 'killall kompmgr' at the terminal as a user.
Note: If the above doesn't work, you may need to add the line
Option "Composite" "0"
to the Extensions area of your /etc/X11/xorg.conf. So far, this option must be present if you are using the fglrx driver (Tested on ATI Radeon 9600)
White cube problem with AIGLX
Start beryl by giving the following command.
beryl --use-copy
Alternatively select from beryl-manager -> Advanced Beryl Options -> Rendering path -> Copy
or
put the following in ~/.beryl-managerrc
[beryl-settings] render_path=2
Using Beryl on Xgl with compiz and KDE
if Beryl#Making Beryl start automatically does not work well
You getting problem like (while lunching beryl):
beryl: pixmap 0x30001e9 can't be bound to texture beryl: Couldn't bind redirected window 0x2e00007 to texture .....
I saw just white desktop maybe gray windows
That happends on my PC - the solution is to use in kde autostart beryl-xgl (it will replace compiz)
(well before this remove files ~/.kde/Autostart/beryl-manager and ~/.kde/Autostart/beryl if exists)
So just type in any term
ln -s /usr/bin/beryl-xgl ~/.kde/Autostart/beryl-xgl touch ~/.kde/Autostart/beryl-manager
put the following in ~/.kde/Autostart/beryl-manager :
#!/bin/sh beryl-manager --no-force-window-manager &
to get beryl manager menu... That's all.
There is also a very convenient kommander script, opensuse-xgl-settings, which can automate this process for you.
- Beryl Homepage
- Beryl openSUSE thread on the forum
- More Xgl Info
- Thread on compiling Beryl, and using X.org's AIGLX
- Archive of old packages
- Xwinwrap

