Fantastische 3D-Effekte mit Xgl

Aus LinuxUser 02/2007

Fantastische 3D-Effekte mit Xgl

Würfelzauber

Computerarbeit ist oft mehr von Frust als Lust geprägt. Doch es geht auch anders: Mit den coolen Desktop-Effekten von XGL sind die langweiligen Tage gezählt.

Xgl ist eine von Novell entwickelte Technik, die die 3D-Fähigkeiten der Grafikkarte nutzt, um bestimmte Spezialeffekte darzustellen. Der bekannteste davon ist der Würfel (“Cube”, Abbildung 1) für den Wechsel zwischen den virtuellen Arbeitsflächen. Bevor Sie sich nun fieberhaft daran machen, den 3D-Desktop einzurichten, sollten Sie den Kasten “Checkliste” lesen: Sie ersparen sich damit eventuell viel Ärger bei der Einrichtung von Xgl.

Abbildung 1: Mit XGL drehen Sie den Desktop wie einen Würfel. Das Hintergrundbild nennt man Skydome.

Abbildung 1: Mit XGL drehen Sie den Desktop wie einen Würfel. Das Hintergrundbild nennt man Skydome.

Checkliste

Die Anweisungen in diesem Artikel beziehen sich auf Ubuntu 6.10 “Edgy Eft” sowie Open Suse 10.2. Für ältere Versionen und andere Distributionen finden sich zahlreiche Anleitungen im Internet.

Xgl funktioniert zurzeit am besten mit Nvidia-Grafikkarten, die den proprietären Treiber von Nvidia benutzen, und mit den i9xx-Grafikchips von Intel. Bei ATI-Karten gibt sich das System bereits wählerischer: Hier benötigen Sie in der Regel ein Board, das mit den proprietären Treibern funktioniert. Falls Ihre Grafikkarte XGL nicht unterstützt, arbeitet der Rechner entweder sehr langsam, oder das grafische System stürzt sogar ab. In seltenen Fällen kann auch Linux selbst das Handtuch werfen. Ohne 3D-Beschleunigung verweigert XGL komplett den Dienst.

Bei Problemen suchen Sie am besten zunächst nach aktuellen Paketen für Ihre Distribution. Werden Sie nicht fündig oder funktionieren auch diese nicht, laden Sie die neueste Xgl-Version aus dem Freedesktop-Wiki [5] herunter und übersetzen den 3D-Desktop selbst. Das setzt allerdings einiges an Linux-Know-How voraus.

Grundlagen

Das Setup von XGL und Compiz verläuft in dem drei folgenden Schritten:

  • die zugehörigen Pakete installieren,
  • XGL anstelle des traditionellen X-Servers einrichten, und
  • Compiz statt des herkömmlichen Fenstermanagers einrichten.

Je nach Distribution, Grafikkarte und bevorzugtem Desktop verlangen diese Schritte mehr oder weniger viele manuelle Eingriffe. Am einfachsten richten Sie XGL unter Open Suse 10.2 und dem Gnome-Desktop ein. Auch Mandriva 2007 bringt ein benutzerfreundliches Tool mit, mit dessen Hilfe das Xgl-Setup für KDE und Gnome ein Kinderspiel ist. Für die Einrichtung von XGL unter Ubuntu und älteren Suse-Versionen führt kein Weg an der Kommandozeile vorbei.

Setup unter Suse

Verwenden Sie die neueste Open-Suse-Version mit Gnome, dann installieren Sie über YaST die Pakete compiz, compiz-gnome und xgl. Anschließend rufen Sie das Tool gnome-xgl-settings auf. Erkennt das Gtk-Programm Ihre Grafikkarte, klicken Sie auf Desktop Effekte aktivieren (Abbildung 2). Open Suse richtet dann gegebenenfalls die 3D-Beschleunigung ein und startet Gnome neu. Dazu müssen Sie lediglich im Abmeldedialog von Gnome die Option Sitzung beenden anwählen. Beim Neustart werkelt hinter den Kulissen bereits Xgl.

Diese Schritte funktionieren nur, wenn Gnome als Standard-Desktop dient und als Displaymanager gdm arbeitet. Haben Sie dagegen ein KDE-System installiert, verwendet Suse den Login-Manager kdm. Um das zu ändern, tauschen Sie in Zeile 11 der Datei /etc/sysconfig/displaymanager den Eintrag DISPLAYMANAGER="kdm" gegen DISPLAYMANAGER="gdm" aus. Um die Änderung zu aktivieren, müssen Sie den Rechner in der Regel neu starten.

Anschließend geben Sie als Root auf der Konsole die folgenden zwei Befehle ein:

gnome-xgl-switch --enable-xgl
SuSEconfig

Nach einem Neustart der grafischen Oberfläche über die Befehle init 3 und init 5 startet auch hier automatisch der 3D-Desktop – allerdings auf einigen Rechnern ohne schwabbelnde Fenster. Deshalb fällt es zunächst unter Umständen gar nicht auf, dass XGL und Compiz bereits aktiv sind.

Unter KDE lädt Compiz das wobbly-Modul nicht, zumindest fehlt es in der Ausgabe von ps -ax | grep compiz. Damit auch die KDE-Fenster hübsch nachschwingen, müssen Sie eine neuere Version von Compiz installieren. Dieses Update empfiehlt sich auch auch für den Gnome-Desktop, da es unter anderem Unterstützung für den Skydome- und den Feuereffekt mitbringt. Aktuelle Pakete für Open Suse 10.2 finden sich in folgendem HTTP-Repository:

Server: repos.opensuse.org
URL: X11:/XGL/openSUSE_10.2/

Sie tragen die beiden Angaben über das YaST-Modul Software | Installationsquelle wechseln ein.

Bei älteren Versionen von Suse müssen Sie dem Desktop explizit mitteilen, dass anstelle von Kwin ein alternativer Fenstermanager zum Einsatz kommen soll. Dazu legen Sie den in Listing 1 zu sehenden Codeschnipsel an und speichern ihn als compiz-kde.sh im Verzeichnis /usr/local/bin. Am einfachsten starten Sie dazu den KDE-Editor Kate als Root über den Befehl kdesu kate.

Listing 1
# /usr/local/bin/compiz-kde.sh
#
/usr/bin/compiz gconf &
/usr/bin/gnome-window-decorator &

Machen Sie die Datei anschließend als Root in einem Terminal über den Befehl chmod +x /usr/local/bin/compiz-kde.sh ausführbar.

In einem zweiten Schritt teilen Sie KDE mit, dass es dieses Skript zum Start von XGL aufzurufen hat. Öffnen Sie dazu in Konqueror das Verzeichnis /home/Benutzer/.kde und legen Sie ein neues Verzeichnis env an. In diesem Verzeichnis legen Sie eine Datei mit dem Namen compiz.sh und folgendem Inhalt an:

export KDEWM=/usr/local/bin/compiz-kde.sh

Auch dieses Script machen Sie anschließend ausführbar. Klicken Sie dazu mit der rechten Maustaste in Konqueror auf die Datei und wählen Sie Eigenschaften | Berechtigungen. Setzen Sie danach eine Markierung vor der Option Ausführbar. Nach einem Neustart der grafischen Oberfläche benutzt auch KDE Compiz als Fenstermanager.

XGL unter Ubuntu

Bevor Sie sich an die Einrichtung von XGL unter Ubuntu machen, sollten Sie den Artikel zu AIGLX im LinuxUser 02/2007 lesen. “Edgy Eft” bringt von Haus aus Unterstützung für AIGLX mit, so dass hier mit Beryl zusammen eine Lösung zur Verfügung steht, die kaum Frickelarbeit erfordert. Zwar gibt es für Ubuntu sehr viele Howtos zu XGL und Compiz, die sich aber meist auf “Dapper Drake” beziehen, veraltete Informationen enthalten und sich teilweise gegenseitig widersprechen. Details dazu finden Sie im Kasten “XGL-Chaos”.

XGL-Chaos

Im Netz wimmelt es von detaillierten Howtos zu XGL und Compiz. Leider haben alle eines gemeinsam: Sie sind meistens nicht mehr aktuell. Suse-Benutzer sollten als erste Anlaufstelle das offizielle Open-Suse-Wiki zu Rate ziehen [2]. Erst wenn die hier gefunden Informationen nicht zum Erfolg führen, ist googeln angesagt.

Für Ubuntu eignet sich das Howto der deutschen Ubuntuusers ([3],[4]) sehr gut als Einstieg. Es verwies jedoch zu Redaktionsschluss dieser Ausgabe noch auf veraltete Pakete. Auch bringt das Ubuntu-Beryl-Repository [5] zwar Pakete für XGL mit, aber keine passende Compiz-Päckchen. Die finden Sie im Gandalfn-Blog [6], wobei der aktuelle Zweig für “Edgy” nicht main oder motu heißt, wie in vielen Howtos zu lesen steht, sondern vielmehr stable.

Ein Chaos besteht auch hinsichtlich der Setup-Tools. Suse benutzt dazu gnome-compiz-settings aus dem Paket compiz-gnome. In den neuesten Compiz-Paketen der Open-Suse-Repositories [7] finden Sie zusätzlich das Tool gnome-compiz-preferences (Abbildung 2). Es entspricht dem gnome-compiz-manager von Ubuntu, den es zurzeit aber nur bei Gandalfn gibt.

Abbildung 2: Das Setup-Tool     <code srcset=

gnome-compiz-manager alias gnome-compiz-preferences bietet Zugriff auf die wichtigsten XGL-Optionen.” width=”300″ height=”221″ /> Abbildung 2: Das Setup-Tool gnome-compiz-manager alias gnome-compiz-preferences bietet Zugriff auf die wichtigsten XGL-Optionen.

Zunächst müssen Sie aus dem Universe-Repository das Paket xserver-xgl nachinstallieren. Es ersetzt den aktuellen X-Server durch einen XGL-fähigen. Um diesen zu starten, erstellen Sie in einem zweiten Schritt ein passendes Skript. Dazu speichern Sie das Beispiel aus Listing 2 im Ordner /usr/bin/ unter dem Namen startxgl.sh. Anschließend machen Sie das Skript über den Befehl chmod +x /usr/bin/startxgl.sh ausführbar. Benutzen Sie eine Nvidia-Karte ändern Sie den Eintrag vx:pbuffer zu xv:fbo ab. Möchten Sie anstelle von Gnome lieber KDE starten, ändern Sie die letzte Zeile zu exec startkde.

Listing 2
#!/bin/sh
# /usr/bin/startxgl.sh
#
Xgl -fullscreen :1 -ac -br -accel glx:pbuffer -accel xv:pbuffer &
sleep 4
export DISPLAY=:1
cookie="$(xauth -i nextract - :0 | cut -d ' ' -f 9)"
xauth -i add :1 . "$cookie"
exec gnome-session

Um das Startskript bequem über den Login-Manager von KDE oder Gnome aufzurufen, brauchen Sie eine weitere Hilfsdatei folgenden Inhalts:

[Desktop Entry]
Encoding=UTF-8
Name=XGL
Comment=XGL starten
Exec=/usr/bin/startxgl.sh
Type=Application

Diese Datei speichern Sie als /usr/share/xsessions/xgl.desktop. Melden Sie sich nun aus KDE oder Gnome ab, wählen Sie im Login-Manager unter der Sitzungsverwaltung den Eintrag XGL aus. Dieser startet zwar den XGL-Server, zeigt aber mangels Compiz noch keine speziellen Effekte.

Compiz einrichten

Für Compiz verwenden Sie am besten die Pakete von Gandalfn [6]. In unseren Tests stürzte Compiz mit den Originalpaketen von Ubuntu immer wieder ab. Für die Gandalfn-Pakete fügen Sie in der Datei /etc/apt/sources.list die Zeile

deb http://gandalfn.club.fr/ubuntu edgy stable

ein und installieren dann nach einem apt-get update die Pakete compiz-freedesktop-gnome (Gnome) beziehungsweise compiz-freedesktop-kde (KDE) und gnome-compiz-manager. Nach dem Start einer XGL-Session aktivieren Sie nun per Mausklick im gnome-compiz-manager den 3D-Desktop.

Xgl nutzen

Die Bedienung von XGL erfolgt weitgehend über Tastenkombinationen und das Mausrad. Um zum nächsten Desktop zu wechseln, drücken Sie [Strg]+[Alt]+[Pfeil-rechts], zurück kommen Sie über [Strg]+[Alt]+[Pfeil-links]. Die Kombination [Strg]+[Alt]+[Pfeil-unten] zeigt sämtliche Desktops nebeneinander an.

Eine Sonderfunktion von XGL erreichen Sie, indem Sie den Mauszeiger in die obere linke (Gnome) oder rechte (KDE) Bildschirmecke bewegen. Das Programm ordnet dann sämtliche Fenster einer Arbeitsfläche nebeneinander an (Abbildung 3), sodass Sie per Klick das gewünschte Fenster in den Vordergrund holen können.

Abbildung 3: Bei Apple abgeschaut: Auf Wunsch ordnet XGL alle Fenster übersichtlich nebeneinander an.

Abbildung 3: Bei Apple abgeschaut: Auf Wunsch ordnet XGL alle Fenster übersichtlich nebeneinander an.

Zwei weitere nützliche Funktionen erreichen Sie nur per Mausrad oder Scrollbereich auf dem Touchpad. Bewegen Sie bei gedrückter Windows-Taste das Mausrad, vergrößert XGL den aktuellen Ausschnitt des Bildschirms. [Alt]+[Mausrad] über einem Fenster ändert den Transparenzwert. So stellen Sie einzelne Fenster vollständig durchsichtig ein.

Eine nette Spielerei aktivieren Sie über [Umschalt]+[F9]: Auf Ihrem Desktop fängt es dann an zu regnen, die einzelnen Tropfen hinterlassen ihre Spuren auf der Arbeitsfläche (Abbildung 4). Beachten Sie, dass nur wenige Grafikkarten diese Funktion perfekt unterstützen und Ihr System dabei sehr langsam werden kann. Erneutes Drücken von [Umschalt]+[F9] schaltet den Regen wieder aus. Sind auch die letzten Tropfen weg, normalisiert sich die Prozessorlast wieder.

Abbildung 4: XGL macht's möglich: Führen Sie Ihren Bekannten einmal diesen Regentanz vor.

Abbildung 4: XGL macht’s möglich: Führen Sie Ihren Bekannten einmal diesen Regentanz vor.

Licht und Schatten

Xgl ist mehr als eine bloße Spielerei. Der 3D-Desktop hat jedoch auch seine Schattenseiten: Bei vielen Problemen funktioniert irgendwann der X-Server nicht mehr. Hier hilft oft nur noch die Neuinstallation sämtlicher X.org-Pakete, gelegentlich bleibt die komplette Neuinstallation als einziger Ausweg.

Einige Benutzer berichten auch von einem weißen Würfel, der keinerlei Fenster oder andere Desktop-Elemente anzeigt. Das Problem trat vereinzelt auch auf Rechnern der Redaktion auf. Hierbei handelt es sich um einen Konflikt der für die Kompilierung von XGL und Compiz/Beryl benutzen X.org-Versionen. Achten Sie deshalb darauf, möglichst keine Fremdpakete zu installieren oder nach Möglichkeit dann sämtliche X.org-Pakete vom gleichen Drittanbieter zu beziehen. Details zum weißen Cube lesen Sie in der Bug-Datenbank von Beryl [8].

Bei manchen Spielen funktioniert die 3D-Beschleunigung unter XGL nicht, und durch den fremden Fenstermanager büßt KDE einiges an Funktionalität ein. Zumindest dieses Problem lässt sich durch einen Wechsel zu Gnome beheben. Für KDE-Benutzer ist dies allerdings keine echte Lösung – da bietet sich ein Umstieg auf Beryl/Aquamarine an. 

LinuxUser 02/2007 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben