22.83D-Grafik
Als typischer Linux-Anwender werden Sie sich vielleicht fragen: »Wozu brauche ich 3D-Grafik? Ich spiele keine Spiele und verwende keine 3D-Grafikprogramme.« Ganz so einfach ist es aber leider nicht: Alle modernen Desktop-Systeme, also Gnome, KDE und Unity, verwenden die 3D-Funktionen der Grafikkarte zum Verschieben von Fenstern sowie für alle möglichen visuellen Effekte. Ohne 3D-Grafikfunktionen können viele aktuelle Distributionen nicht mehr vernünftig genutzt werden.
Wenn Sie auf realer Hardware arbeiten und keine ganz neue Grafikkarte verwenden, gibt es zum Glück nur selten 3D-Treiberprobleme. Die Open-Source-Treiber intel, nouveau und radeon bieten mittlerweile gute 3D-Unterstützung. Anders sieht es leider oft in virtuellen Maschinen aus: Viele Virtualisierungssysteme können 3D-Funktionen gar nicht weitergeben, und selbst wenn dies vorgesehen ist, treten dabei in der Praxis oft Probleme auf.
Dieser Abschnitt gibt einen Überblick über die in Linux eingesetzten 3D-Technologien. Weitere Hintergrundinformationen zum Thema 3D-Grafik und Linux finden Sie auf der folgenden Seite:
http://www.mesa3d.org
http://dri.freedesktop.org/wiki
Mit dem Programm glxinfo, das sich je nach Distribution im Paket mesa-utils, glx-utils oder Mesa-demo-x versteckt, können Sie die 3D-Funktionen Ihres Systems überprüfen. Das Programm liefert eine Menge Detailinformationen über das laufende GLX-System, also über die OpenGL-3D-Erweiterungen des X Window Systems. Mit grep filtern Sie die entscheidenden Zeilen heraus. Die folgenden Ergebnisse sind auf zwei unterschiedlichen Rechnern entstanden, einmal mit Intel-Grafik und einmal mit einer AMD-Grafikkarte und dem fglrx-Treiber:
Wenn dagegen kein 3D-beschleunigter Treiber läuft, sieht die Ausgabe wie in einem der drei folgenden Beispiele aus. Im ersten Beispiel stehen gar keine 3D-Funktionen zur Verfügung, im zweiten Fall werden sie per Software durch die Mesa-Bibliothek nachgebildet und im dritten Fall durch die llvmpipe-Bibliothek. Die seit 2012 gebräuchliche llvmpipe-Bibliothek erhöht zwar den Rechenaufwand der CPU beträchtlich, ermöglicht aber bei vielen Distributionen die Nutzung von 3D-Funktionen auch ohne einen richtigen 3D-Grafiktreiber.
Mit »3D-Desktop-Funktionen« sind grafische Effekte gemeint, die das Öffnen, Schließen und Verschieben von Menüs und anderen Desktop-Elementen begleiten. Dreidimensional sehen diese Effekte heute zwar nur noch selten aus, das ändert aber nichts daran, dass zu ihrer Realisierung 3D-Funktionen der Grafikkarte verwendet werden.
Als 3D-Desktop-Funktionen vor zehn Jahren erstmals verwendet wurden, sah das noch anders aus: Im Überschwang der technischen Möglichkeiten wurden Fenster beim Verschieben verzerrt, der Desktop beim Wechsel der Arbeitsfläche auf einen 3D-Würfel projiziert etc. Das sah lustig aus, lenkte aber ab und machte die Arbeit nicht produktiver. Deswegen sind in der Defaultkonfiguration heute dezentere Effekte üblich.
Für die Realisierung der 3D-Effekte ist der Window Manager verantwortlich. In Gnome 2 und KDE 3 kam dazu das Programm Compiz zum Einsatz. Gnome 3 verwendet den 3D-fähigen Window Manager Mutter und ist nicht mehr auf Compiz angewiesen. Auch KDE kommt seit Version 4 ohne Compiz aus und realisiert die 3D-Effekte selbst. Ein Sonderfall ist aber Ubuntu, das zur Fensterverwaltung die Compiz-Erweiterung Unity verwendet. Compiz ist somit nur noch unter Ubuntu gebräuchlich.
Compiz besteht im Wesentlichen aus zwei Programmen:
-
compiz ist der eigentliche Window Manager. Er ist dafür verantwortlich, welches Fenster gerade sichtbar ist, welches Fenster den Eingabefokus hat, welche Effekte beim Erscheinen, Verschieben und Schließen der Fenster zum Einsatz kommen und welche Tastenkombinationen dabei gelten. Für die eigentlichen 3D-Effekte sind Plugins zuständig.
-
compiz-decorator zeichnet rund um den eigentlichen Fensterinhalt die sogenannte Dekoration, zu der unter anderem die Titelleiste mit einigen Buttons zählt.
Compiz-Anwender können nahezu jeden einzelnen Effekt und die dazugehörenden Tastenkürzel mit dem Compiz Config Settings Manager (CCSM) einrichten (Paket compizconfig-settings-manager, siehe Abbildung 22.5). Die Bedienung dieses Programms ist allerdings wenig intuitiv.
Abbildung 22.5Compiz-Konfiguration für Fortgeschrittene