Zum Hauptinhalt Zur Navigation Zur Suche

Schwingende Fenster: Neue Optik für Linux & Co.

Videovorschau: Neue Generation von X11-Projekten am Horizont. Weltweit arbeiten Open-Source-Entwickler sowie Novell, Red Hat und Sun daran, den X11-Desktop zu modernisieren. Mit Xgl, Luminocity und Enlightenment 17 wird Linux in puncto Grafik-Interface mit anderen kommerziellen Systemen aufschließen und sogar mehr Möglichkeiten der Visualisierung bieten. Golem.de bietet einen Überblick der aktuellen Entwicklungen unter anderem in bewegten Bildern.
/ Jens Ihlenfeld
187 Kommentare Auf Google folgen (öffnet im neuen Fenster)

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Mit X.org 6.8 wurde die X-Server-Referenzimplementierung um Pixelformate mit Alpha-Kanal sowie zwei Erweiterungen ergänzt, die es ermöglichen, Programme im nicht sichtbaren Videospeicher darzustellen. Auf diese Bilder können dann beliebige Transformationen angewandt werden, um das für den Nutzer sichtbare Monitorbild zu zeichnen. Dieses als "Compositing" bezeichnete Verfahren erlaubt die bereits von MacOS X bekannten durchsichtigen Fenster und die "Genie-Animationen" beim Verkleinern und Vergrößern der Fenster sowie Exposé(öffnet im neuen Fenster) – die Darstellung aller offenen Fenster als Minibildchen. Das Zusammenstellen der Fenster sowie die Transformationen übernimmt dabei ein Composition-Manager, der bei KDE 3.4 sowie Gnomes Metacity bereits integriert ist.

Die für die durchsichtigen Operationen nötigen XRender-Funktionen sind bisher jedoch bei kaum einem X11-Treiber hardwarebeschleunigt implementiert. Da die Darstellung so oft mit nur einem Bild pro Sekunde deutlich zu träge wird, finden diese Funktionen noch keinen breiten Einsatz. Lediglich der Binärtreiber von Nvidia sowie experimentelle X-Server, die auf Keith Packards Kdrive-Architektur basieren, bieten hinreichende Beschleunigung. Allerdings gab es für die XRender-Software-Implementierung vor ein paar Tagen einige Modifikationen von Trolltech, welche die sehr langsame Implementierung je nach Anwendungsfall drei- bis achtmal beschleunigen.

Das Problem hierbei ist, in allen Treibern ausreichende 2D-XRender-Hardwarebeschleunigung zu implementieren – die eigentlich einfach nur ein Sonderfall der existierenden 3D-Beschleunigung darstellt.

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Eine viel diskutierte Möglichkeit ist es, den X-Server bereits in OpenGL zu implementieren, so dass die Grafikkartentreiber hauptsächlich 3D-Beschleunigung integrieren müssen, der X-Server so beliebige Transformationen auf die Programmfenster anwenden und dabei die vollen Möglichkeiten moderner Hardware ausschöpfen kann. Solch ein OpenGL-Server steht nun mit Xgl als erste Referenzimplementierung zur Verfügung.

Für die Ausgabe verwendet die Software dabei die aus dem Cairo-Projekt hervorgegangene OpenGL-Bibliothek Glitz, die wie Xgl ebenfalls von David Reveman geleitet wird.

Xgl (DivX-Video; 1 MByte) verwendet dabei den bereits laufenden X-Server für die OpenGL-Ausgabe – muss also zusätzlich gestartet werden. Zwei X-Server sind natürlich im produktiven Betrieb unerwünscht und die X-Entwickler beschäftigen sich daher mit der Implementierung des OpenGL-Standards für Embedded-Systeme(öffnet im neuen Fenster), um zukünftig hardwarebeschleunigte 3D-Grafik ohne X als Grundlage für OpenGL-X-Server zu verwenden. Gleichzeitig eröffnet dieser Schritt auch neue Möglichkeiten im Einsatz von freien Betriebssystemen für Embedded-Systeme mit anspruchsvollen Visualisierungsaufgaben.

Die Nutzung von 3D-Treibern für zukünftige Oberflächen kann sich aber zugleich als geschickter Schachzug erweisen, die Entwicklung der freien 3D-Treiber zu beschleunigen sowie die Hardware-Hersteller bei Linux-Support zu guten 3D-Treibern zu zwingen.

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Anders als Xgl, der als reiner X-Server ausgelegt ist und für die Komposition der Fensterinhalte einen separaten Composition-Manager benötigt, ist Luminocity (DivX-Video #1; 2,5 MByte) als normales X-Programm implementiert, das den Inhalt eines ohne Ausgabe laufenden X-Servers wie etwa Xfake übernimmt.

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Dabei rendert Luminocity (DivX-Video #2; 4 MByte) transparente Fenster, die beim Verschieben auch Trägheit aufweisen und so elegant "nachschwingen". Beim Desktopwechsel wird aus dem Desktop herausgezoomt, so dass der gesamte Bildschirminhalt verkleinert wird. Schön zu erkennen ist, dass auch mehrere Instanzen desselben Fensters synchron aufgefrischt werden: Videos und Transformationen der Fenster beim Verschieben sind zudem im Pager sichtbar und auch verdeckte Videos laufen dort weiter.

Sowohl Xgl als auch Luminocity sind derzeit nur direkt aus dem CVS zu beziehen und benötigen relativ viele Einzelpakete aus dem modularisierten X-Projekt(öffnet im neuen Fenster).

Sun bietet mit "Looking Glas" ebenfalls einen 3D-Desktop, der – teils in Java geschrieben – auf derselben seit X.org 6.8 vorhandenen Composite-Erweiterung aufbaut.

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Etwas weniger experimentell, aber auch nur aus dem CVS zu beziehen, ist Enlightenment 17 (DivX-Video #1; 1,8 MByte). Unter diesem Namen arbeitet das Enlightenment-Projekt rund um Carsten Haitzler schon seit Jahren daran, die etwas angestaubte Version 16 zu überarbeiten. Diese setzte vor Jahren mit den Standard, was unter Unix an grafischer Gestaltung möglich ist.

In der Version 17 wurde mit Evas eine eigene Rendering-Engine mit Subpixel-Rendering und Transparenz implementiert, die im Normalfall via OpenGL-Hardware beschleunigt wird. Im Gegensatz zu Xrender bietet Evas aber eine sehr schnelle Software-Implementierung, die auch auf Embedded-Systemen verwendet werden kann. Da man auf bisherige X-Server aufsetzt, kümmert sich auch die Version 17 nicht um transparente oder transformierte Fenster, sondern bietet mit Evas und vielen anderen Support-Bibliotheken ein Framework für die Gestaltung von Applikationen.

Ausgefallen ist die Art, wie das Aussehen und Verhalten der Oberfläche beeinflusst wird: Die grafischen Elemente werden in einem ZIP-ähnlichen Container gruppiert und können in der C-ähnlichen Skriptsprache Embryo – eine Variante von Small(öffnet im neuen Fenster) – geschriebene Anweisungen enthalten und so dynamisch das Look-and-Feel steuern.

So lässt sich etwa die Lampe des Docks am Mauszeiger einblenden, die blinkenden Lauflichter zum Vergrößern der Elemente zeichnen oder im Foto-Betrachter das Einblenden der Bedienelemente realisieren. Die Enlightenment-Webseite sieht es gar als das Äquivalent zu Shockwave bzw. Flash.

amazon Affiliate

Wenn Sie auf diesen Link klicken und darüber einkaufen, erhält Golem eine kleine Provision. Dies ändert nichts am Preis der Artikel.

Dabei bieten die in Enlightenment 17 (DivX-Video #2; 2 MByte) entstandenen Programme oft sehr ausgefeilte "Game based"-Schnittstellen, mit automatisch eingeblendeten Bedienelementen, wie man sie aus Computerspielen oder Filmen kennt.

Video-Downloads:

Die Videos entstanden auf einem Athlon-XP 2500+ mit einer nicht ganz aktuellen Radeon 7500. Ohne die parallel laufende Videoaufzeichnung liefen die Animationen absolut flüssig. Dabei lief das System unter dem System Development Environment T2(öffnet im neuen Fenster), das die rund 23 notwendigen X-Pakete bereits enthält. [von René Rebe]


Relevante Themen