Zum Hauptinhalt Zur Navigation

Xgl - ein OpenGL-basierter X-Server

Operationen auf transparente Fenster und Anti-Aliasing per OpenGL beschleunigt. Xgl ist ein vollwertiger X Server, der jedoch nicht eigene Treiber mitbringt, sondern OpenGL verwendet, um den Bildschirminhalt zu rendern. Dabei bietet er von Spielen gewohnte Performance beim Verschieben von transparenten Fenstern und Videos. Er nutzt dazu die erst im Oktober veröffentlichten XDamage- und XComposite-Erweiterungen, die unter anderem echt transparente Fenster in X11 ermöglichen.
/ Jens Ihlenfeld
104 Kommentare News folgen (öffnet im neuen Fenster)

Schon vor einigen Wochen hat David Reveman auf der X.org-Mailing-Liste den Xgl-Server(öffnet im neuen Fenster) veröffentlicht und zum Testen aufgefordert. Xgl verwendet die XComposite-Erweiterung, um Fenster in nicht sichtbaren Bereichen des Videospeichers zu rendern und via XDamage jeweils nur die veränderten Bereiche mit Hilfe von OpenGL-Operationen aufzufrischen.

Durch OpenGL werden auch Operationen auf transparente Fenster und Anti-Aliasing von Schriften via XRender durch die Hardware beschleunigt. In Zukunft wird so auch verstärkt stufenloses Zoomen der Fenster, etwa wie in Apples Expose, unter X11 Verwendung finden.

Theoretisch wäre es auch möglich, diese Beschleunigungen in den 2D-Treibern zu implementieren - zumindest Nvidias Linux-Treiber bieten dies bereits. In der Open-Source-Gemeinde zögert man jedoch vor diesem Schritt, da die interne X-Treiber-Schnittstelle (XAA) umgebaut und Teile der 3D-Beschleunigung in die 2D-Treiber kopiert werden müssten. Zurzeit favorisiert man daher, reine 3D-Treiber zu verwenden und die 2D-Operationen von X11 auf die 3D-Treiber abzubilden.

David Reveman ist schon von anderen Projekten wie dem Fenster Manager Waimea(öffnet im neuen Fenster) und der Arbeit an der OpenGL-Beschleunigung(öffnet im neuen Fenster) für die neue Grafik-Bibliothek Cairo(öffnet im neuen Fenster) bekannt geworden und seit kurzem bei Novell angestellt. Der Quellcode von Xgl ist bereits im neuen, modularen X-Server-CVS-Modul enthalten(öffnet im neuen Fenster) . [von René Rebe]


Relevante Themen