Installation von Beryl auf einem Ubuntu-Feisty-Fawn-Desktop mit einer ATI-Radeon Grafikkarte

Version 1.0
Autor: Falko Timme
Stand: 03.04.2007

Diese Anleitung erklärt, wie man Beryl auf einem Ubuntu 7.04 Desktop (Feisty Fawn) mit einer ATI-Radeon Grafikkarte installiert und konfiguriert. Mit Beryl wird es möglich, auf dem Desktop wunderschöne 3D-Effekte zu erzielen. Dazu werde ich den Open-Source-ATI-Treiber benutzen, der in Ubuntu enthalten ist, und zusätzlich AIGLX nutzen. Eine zweite Möglichkeit wäre die Nutzung eines Closed-Source-ATI-Treibers zusammen mit XGL, den ich persönlich aber zu instabil finde.

Allerdings möchte ich an dieser Stelle darauf hinweisen, dass dies hier nicht der einzige Weg ist, dieses System zu installieren. Es gibt viele Möglichkeiten - ich selbst habe mich für diese entschieden. Ich kann aber nicht garantieren, dass diese Lösung bei jedem funktioniert bzw. für jeden die richtige ist!

1 Einleitung

Diese Anleitung basiert auf zwei Artikeln, die ich genutzt habe:
Ich habe die Installation auf meinem drei Jahre alten Notebook (HP Pavilion zt3000) durchgeführt und zwar mit einer ATI Mobility Radeon 9200 Grafikkarte - dort hat es wirklich gut funktioniert.

Achtung: Bevor man diese Anleitung weiter liest sollte man sicher sein, dass man alle Updates auf dem Ubuntu-Feisty-Fawn-Desktop installiert hat!

2 Ausfindigmachen der Grafikkarte

Zunächst sollte man wissen, welche Grafikkarte man hat. Hierzu öffnet man das Terminal (Applications > Accessories > Terminal) und gibt ein:

lspci

Die Ausgabe sollte in etwa so aussehen:

01:00.0 VGA compatible controller: ATI Technologies Inc Radeon R250 [Mobility FireGL 9000] (rev 01)

(Diese Ausgabe stammt von meinem Notebook, das mit einer ATI-Mobility-Radeon 9200 Grafikkarte läuft.)

Die folgende Liste enthält die ATI-Grafikkarten, mit denen Beryl funktioniert (Wenn man Beryl nutzen möchte, sollte die eigene Grafikkarte unter Full 3D Support aufgelistet sein):

Volle 3D-Unterstützung

  • 7000 / rv100 basierte Karten.
  • 7200 / R100 basierte Karten.
  • 7500 / rv200 basierte Karten.
  • 8X00 / R200 basierte Karten.
  • 9000 / rv250 basierte Karten.
  • 9100 / R200 basierte Karten.
  • 9200 / rv280 basierte Karten.

Experimentelle 3D-Beschleunigung

  • 9500 / R300 basierte Karten.
  • 9600 / rv350 oder rv360 basierte Karten.
  • 9700 / R300 basierte Karten.
  • 9800 / R350 oder R360 basierte Karten.
  • X300 / rv370 basierte Karten.
  • X600 / rv380 basierte Karten.
  • X700 / rv410 basierte Karten.
  • X800 / R420 oder R423 oder R430 oder R480 basierte Karten.
  • X850 / R480 oder R481 basierte Karten.

2D-Beschleunigung (ausschließlich)

  • Xpress 200M Northbridge mit integrierten GPUs

Nichtunterstützung

  • X1300 / R515 basierte Karten.
  • X1600 / R530 basierte Karten.
  • X1800 / R520 basierte Karten.
  • X1900 / R580 basierte Karten.

3 Konfiguration von AIGLX und dem The Open-Source ATI -Treiber

Ich möchte AIGLX mit einem Open-Source-ATI-Treiber nutzen, anstatt XGL mit dem proprietären ATI-Treiber (fglrx). Deshalb muss man fglrx ausschalten. Zuerst schaltet man deshalb das Kernel-Modul aus:

sudo modprobe -r fglrx

Dann diesen Befehl ausführen

glxinfo | grep vendor

Wenn ATI noch in der Ausgabe erwähnt wird, hat man noch nicht den richtigen Treiber. Sieht man stattdessen SGI, ist alles ok. Bei meinem Notebook sah die Ausgabe so aus:

server glx vendor string: SGI
client glx vendor string: SGI
OpenGL vendor string: Tungsten Graphics, Inc.

Erscheint ATI noch in der Ausgabe des vorherigen Befehls,muss man den fglrx-Treiber entfernen (dies kann man auch machen, wenn man SGI in der Ausgabe sieht, man aber sicher gehen möchte!). Dies geht so:

sudo apt-get remove xorg-driver-fglrx; sudo apt-get install libgl1-mesa-glx libgl1-mesa-dri

Nun muss man /etc/X11/xorg.conf modifizieren:

sudo gedit /etc/X11/xorg.conf

Nun ersetzt man
Section "Device"
Identifier "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]" Driver "ati" BusID "PCI:1:0:0" EndSection
durch
Section "Device"
Identifier "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]" Driver "radeon" BusID "PCI:1:0:0" Option "XAANoOffscreenPixmaps" Option "AGPMode" "4" Option "AGPFastWrite" "true" Option "DisableGLXRootClipping" "true" Option "AddARGBGLXVisuals" "true" Option "AllowGLXWithComposite" "true" Option "EnablePageFlip" "true" EndSection
(Man sollte die hinzugefügte Option Zeile und die ausgewechselte Driver Zeile beachten. Wenn man eine andere Grafikkarte als ich hat, wird Identifier natürlich anders aussehen als in diesem Beispiel.)

Die Monitor- und Screen-Sektionen in /etc/X11/xorg.conf sollten nun richtig sein.

Nun ersetzt man
Section "ServerLayout"
Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "stylus" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" InputDevice "Synaptics Touchpad" EndSection
durch
Section "ServerLayout"
Option "AIGLX" "true" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "stylus" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" InputDevice "Synaptics Touchpad" EndSection
(Achtung: Ich habe oben eine AIGLX Option Zeile hinzugefügt.)

Zum Schluss fügt man die folgenden beiden Sektionen an das Ende von /etc/X11/xorg.conf an, wenn sie nirgendwo anders in dieser Datei existieren:
Section "DRI"
Mode 0666 EndSection Section "Extensions" Option "Composite" "Enable" EndSection
Damit die Veränderungen wirksam werden, muss man X zunächst neu starten: Hierfür einfach Ctrl-Alt-Backspace drücken (sollte dies nicht funktionieren, muss man das System rebooten).

Danach den Befehl

glxinfo | grep vendor

erneut ausführen. Nun sollte SGI in der Ausgabe erscheinen:

server glx vendor string: SGI
client glx vendor string: SGI
OpenGL vendor string: Tungsten Graphics, Inc.

Dann das ausführen:

glxinfo | grep "direct rendering"

Jetzt sollte man die folgende Zeile erhalten:

direct rendering: Yes

4 Installieren von Beryl

Um Beryl zu installieren, öffnet man /etc/apt/sources.list und fügt die Zeile deb http://ubuntu.beryl-project.org feisty main hinzu:

sudo gedit /etc/apt/sources.list

[...]
deb http://ubuntu.beryl-project.org feisty main [...]
Nun importiert man den GPG-Schlüssel des Beryl-Projekts und die macht ein Update der Paketdatenbank:

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

Nun muss man /etc/X11/xorg.conf erneut editieren:

sudo gedit /etc/X11/xorg.conf

man sucht sich die Module -Sektion heraus und muss sichergehen, dass die folgende Zeilen enthält:
        Load "dri"
Load "dbe" Load "glx"
Meine Module -Sektion sah beispielsweise so aus:
Section "Module"
Load "i2c" Load "bitmap" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "vbe" Load "dbe" EndSection
Mit /etc/X11/xorg.conf ist man jetzt fertig. Nach allen Änderungen sah meine /etc/X11/xorg.conf so aus:
# /etc/X11/xorg.conf (xorg X Window System server configuration file)
# # This file was generated by dexconf, the Debian X Configuration tool, using # values from the debconf database. # # Edit this file with caution, and see the /etc/X11/xorg.conf manual page. # (Type "man /etc/X11/xorg.conf" at the shell prompt.) # # This file is automatically updated on xserver-xorg package upgrades *only* # if it has not been modified since the last upgrade of the xserver-xorg # package. # # If you have edited this file but would like it to be automatically updated # again, run the following command: # sudo dpkg-reconfigure -phigh xserver-xorg Section "Files" FontPath "/usr/share/fonts/X11/misc" FontPath "/usr/share/fonts/X11/cyrillic" FontPath "/usr/share/fonts/X11/100dpi/:unscaled" FontPath "/usr/share/fonts/X11/75dpi/:unscaled" FontPath "/usr/share/fonts/X11/Type1" FontPath "/usr/share/fonts/X11/100dpi" FontPath "/usr/share/fonts/X11/75dpi" # path to defoma fonts FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType" EndSection #Section "Module" # Load "i2c" # Load "bitmap" # Load "ddc" # Load "dri" # Load "extmod" # Load "freetype" # Load "glx" # Load "int10" # Load "vbe" #EndSection Section "Module" Load "i2c" Load "bitmap" Load "ddc" Load "dri" Load "extmod" Load "freetype" Load "glx" Load "int10" Load "vbe" Load "dbe" EndSection Section "InputDevice" Identifier "Generic Keyboard" Driver "kbd" Option "CoreKeyboard" Option "XkbRules" "xorg" Option "XkbModel" "pc105" Option "XkbLayout" "de" Option "XkbOptions" "lv3:ralt_switch" EndSection Section "InputDevice" Identifier "Configured Mouse" Driver "mouse" Option "CorePointer" Option "Device" "/dev/input/mice" Option "Protocol" "ImPS/2" Option "ZAxisMapping" "4 5" Option "Emulate3Buttons" "true" EndSection Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" EndSection Section "InputDevice" Driver "wacom" Identifier "stylus" Option "Device" "/dev/wacom" # Change to # /dev/input/event # for USB Option "Type" "stylus" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" Driver "wacom" Identifier "eraser" Option "Device" "/dev/wacom" # Change to # /dev/input/event # for USB Option "Type" "eraser" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection Section "InputDevice" Driver "wacom" Identifier "cursor" Option "Device" "/dev/wacom" # Change to # /dev/input/event # for USB Option "Type" "cursor" Option "ForceDevice" "ISDV4" # Tablet PC ONLY EndSection #Section "Device" # Identifier "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]" # Driver "ati" # BusID "PCI:1:0:0" #EndSection Section "Device" Identifier "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]" Driver "radeon" BusID "PCI:1:0:0" Option "XAANoOffscreenPixmaps" Option "AGPMode" "4" Option "AGPFastWrite" "true" Option "DisableGLXRootClipping" "true" Option "AddARGBGLXVisuals" "true" Option "AllowGLXWithComposite" "true" Option "EnablePageFlip" "true" EndSection Section "Monitor" Identifier "Generic Monitor" Option "DPMS" EndSection Section "Screen" Identifier "Default Screen" Device "ATI Technologies Inc Radeon R250 [Mobility FireGL 9000]" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Depth 1 Modes "1280x800" EndSubSection SubSection "Display" Depth 4 Modes "1280x800" EndSubSection SubSection "Display" Depth 8 Modes "1280x800" EndSubSection SubSection "Display" Depth 15 Modes "1280x800" EndSubSection SubSection "Display" Depth 16 Modes "1280x800" EndSubSection SubSection "Display" Depth 24 Modes "1280x800" EndSubSection EndSection #Section "ServerLayout" # Identifier "Default Layout" # Screen "Default Screen" # InputDevice "Generic Keyboard" # InputDevice "Configured Mouse" # InputDevice "stylus" "SendCoreEvents" # InputDevice "cursor" "SendCoreEvents" # InputDevice "eraser" "SendCoreEvents" # InputDevice "Synaptics Touchpad" #EndSection Section "ServerLayout" Option "AIGLX" "true" Identifier "Default Layout" Screen "Default Screen" InputDevice "Generic Keyboard" InputDevice "Configured Mouse" InputDevice "stylus" "SendCoreEvents" InputDevice "cursor" "SendCoreEvents" InputDevice "eraser" "SendCoreEvents" InputDevice "Synaptics Touchpad" EndSection Section "DRI" Mode 0666 EndSection Section "Extensions" Option "Composite" "Enable" EndSection
Jetzt muss man X durch drücken von Ctrl-Alt-Backspace neu starten (oder das System rebooten, wenn es so nicht funktioniert).

Danach installiert man Beryl - und zwar so:

sudo apt-get install beryl beryl-manager emerald-themes

Als nächstes startet man Beryl:

beryl-manager

Wenn alles richtig war sollte der Desktop jetzt 3D-Effekte haben und man kann das rote Beryl-Icon in der oberen rechten Ecke des Desktops sehen:







Wenn dies nicht funktioniert hat,bitte einen rechten Mausklick auf das rote Beryl-Icon ausführen und Select Window Manager > Beryl wählen. Beryl sollte nun starten.

5 Beryl automatisch starten

Natürlich möchte man Beryl nicht jedesmal manuell starten, immer dann, wenn man sich in seinen Desktop einloggt. Zum Glück gibt es einen Weg, Beryl automatisch starten zu lassen:

Hierfür erstellt man zunächst die Datei /usr/bin/startberyl.sh:

sudo gedit /usr/bin/startberyl.sh

#!/bin/sh
beryl-manager sleep 4 exec gnome-session
Nun macht man sie ablauffähig:

sudo chmod a+x /usr/bin/startberyl.sh

Danach erstellt man die Datei /usr/share/xsessions/Beryl.desktop:

sudo gedit /usr/share/xsessions/Beryl.desktop

[Desktop Entry]
Encoding=UTF-8 Name=Beryl Exec=/usr/bin/startberyl.sh Icon= Type=Application
Jetzt loggt man sich aus der aktuellen Desktop-Sitzung aus. Auf dem Bildschirm zum Einloggen geht man zu Options > Select Session..., wählt Beryl und klickt auf den Change Session Knopf. Nun mit Benutzername und Passwort einloggen. Hier wird man gefragt:

Do you wish to make Beryl the default for future sessions?

Man kann zwischen Just For This Session und Make Default wählen. Wenn das der erste Versuch ist, würde ich jedem empfehlen Just For This Session zu wählen - nur um zu prüfen, ob Beryl wirklich automatisch startet. Wenn es funktioniert kann man beim nächsten Login einfach Make Default einstellen.

6 Anpassen des Programmverhaltens von Beryl und der Fenstereinstellungen (Window Themes)

Möchte man das Programmverhalten und die Effekte von Beryl modifizieren, geht man über Applications > System Tools > Beryl Manager. Im Menü, das nun erscheint, wählt man Beryl Settings Manager. Jetzt kann man Beryl anpassen:


Um das Fensterdesign (window decoration) und die Fenstereinstellungen (window themes) zu verändern, muss man den Emerald Theme Manager starten, indem man zu System > Preferences > Emerald Theme Manager geht:

7 Screenshots

Hier sind weitere Screenshots von Beryl in Aktion - diesmal z.B. mit einer wunderschönen Tapete anstelle des voreingestellten braunen Hintergrundes von Ubuntu:



8 Links

Copyright © 2007 Falko Timme

All Rights Reserved.