Von Fenstern und Farben
Fachbegriffe zum X-Window-System erklärt
Compiz und Beryl
Die Entwicklung von XGL ist stark mit Compiz verbunden, einem Composite- und Fenstermanager, der ebenfalls von Novell stammt. Da Compiz beide Aufgaben angeht, bezeichnet man es auch als "Compositing Window Manager" [12]. Es kümmert sich nicht nur um die Effekte, sondern auch um Titelleisten und Funktionen wie das Schließen eines Fensters. Compiz lässt sich durch Plugins beliebig erweitern: Jeder Effekt, wie Miniaturansichten der geöffneten Fenster oder der berühmte 3D-Würfel, entspricht einem Compiz-Plugin.
Novell entwickelte Compiz und XGL eine Zeit lang hinter geschlossenen Türen. Dies sahen andere Open-Source-Programmierer nicht gerne. Nachdem Novell den Source-Code veröffentlichte, machten sich deshalb einige Entwickler daran, auf der Grundlage von Compiz einen neuen Compositing Window Manager auf die Beine zu stellen: das Resultat heißt Beryl [13]. Der neue Composite-Manager hat Compiz inzwischen in puncto Feature-Vielfalt und Geschwindigkeit der Entwicklung hinter sich gelassen. Details zu beiden Projekten lesen Sie in den folgenden zwei Artikeln.
Fazit
Für die grafische Ausgabe unter Linux arbeiten verschiedene Programme zusammen. Die Kernkomponente stellt der X-Server, auf den die X-Clients zugreifen. Verblüffende Effekte zeichnen die X-Clients mit Hilfe spezieller Composite-Manager an den Bildschirm. Diese benutzen dazu die OpenGL-Funktion der Grafikkarte.
Während der X-Server zurzeit noch hauptsächlich 2D-Aufgaben wahrnimmt, arbeiten einige Projekte auch an einem X-Window-System, das komplett auf OpenGL basiert. Solange Linux jedoch nicht bei allen Grafikkarten den 3D-Modus unterstützt, wird sich ein solches Projekt jedoch kaum durchsetzen.
Glossar
X-Window-System
Eine Sammlung von Programmen und Standards [1], um grafische Benutzeroberflächen darstellen zu können. Dabei lassen sich einzelne Programme jederzeit austauschen, weil Standards und Protokolle festlegen, was die Programme können müssen.
Windowmanager
Windowmanager, auch Fenstermanager genannt, kümmern sich um das Aussehen und das Verhalten von Fenstern. Sie stellen in der Regel Rahmen und Titelleiste für ein Fenster bereit und können oft auch weitere Design-Einstellungen am Desktop vornehmen.
Displaymanager
Displaymanager stellen eine grafische Anmeldung zur Verfügung, die meist direkt nach dem Systemstart angezeigt wird. Nach der Angabe von Benutzername und Passwort startet der Displaymanager eine neue X-Sitzung. Bekannte Displaymanager sind Xdm (generisch), Kdm (KDE) und Gdm (Gnome).
GUI
Graphical User Interface, die grafische Benutzerschnittstelle.
Sichtbarer Bildspeicher
Der sichtbare Bildspeicher ist ein Teil des Speichers der Grafikkarte, der ein genaues Abbild des Bildschirminhalts enthält.
OpenGL
Open Graphics Library, eine plattformunabhängige Programmierschnittstelle für 3D-Computergrafik. Der Standard beschreibt rund 250 Befehle, für deren Umsetzung in Hardwarebefehle der Grafikkartentreiber sorgt. Dabei muss er gegebenenfalls nicht vorhandene Funktionen durch die CPU emulieren. Damit X-Window-Systeme auf OpenGL zugreifen können, gibt es die X-Server-Erweiterung GLX (OpenGL Extension).
Framebuffer Device
Kurz auch:
fbdev. Ein Linux-Kernel-Treiber für Grafikkarten, der Programmen direkten Zugriff auf die Grafikkarte ohne den Umweg über den X-Server ermöglicht. Aktuelle Distributionen benutzen diese Funktion, um schon beim Hochfahren des Systems Grafiken anzuzeigen.
[1] X-Window-System (Wikipedia): http://de.wikipedia.org/wiki/X-Window-System
[2] X.org-Server (Wikipedia): http://de.wikipedia.org/wiki/X.Org-Server
[3] X.org-Foundation: http://www.x.org
[4] Windowmanager (Wikipedia): http://de.wikipedia.org/wiki/Windowmanager
[5] X.org 6.8: René Rebe, "Ein neuer Start", Linux-Magazin, 11/2004, S. 84
[6] AIGLX (Wikipedia): http://de.wikipedia.org/wiki/AIGLX
[7] AIGLX-Projekt: http://fedoraproject.org/wiki/RenderingProject/aiglx
[8] Framebuffer: D. Schön, B. Kuhn, "Klein ist fein", Linux-Magazin 10/2000, http://www.linux-magazin.de/Artikel/ausgabe/2000/10/Framebuffer/framebuffer.html
[9] Videos von Novells XGL: http://www.novell.com/products/desktop/features/xgl/
[10] XGL bei Open Suse: http://de.opensuse.org/Xgl
[11] Xegl: http://www.freedesktop.org/wiki/Xegl
[12] Compiz: http://www.go-compiz.org
[13] Beryl: http://beryl-project.org



