Open Source im professionellen Einsatz

Grafische Benutzeroberfläche direkt im Framebuffer statt X11

Ohne X-tras

In der Welt der freien Software hat fast jede Anwendung Konkurrenz - nur nicht die X11-Umgebung. Doch wer nachforscht, findet sogar hier alternative Techniken, die Fenster ohne X-Server ermöglichen.

Inhalt

48 | Tooltipps

Nützliche Werkzeuge für Administratoren und alle, die im
Web browsen.

50 | Bitparade

Nichts präsentiert eine Software anschaulicher als ein
Screencast. Die Bitparade stellt die besten Tools dazu vor.

56 | Projekteküche

Diesmal geht es um ein possierliches Flughörnchen und um eine
Software, die ihr menschliches Gegenüber versteht.

60 | Open EMM

Mailings sind ein wichtiges Marketing-Instrument. Open EMM
gestaltet die Werbebotschaften persönlich.

Der X-Server genießt, was Komplexität und Speicherverbrauch angeht, nicht den besten Ruf. Wie gewichtig sein Quellcode im Vergleich zu anderer damals verbreiteter Software ausfiel, zeigt sich schon darin, dass Schelme die X-Window-Distribution Anfang der 90er-Jahre gerne als Mailbombe missbrauchten.

Richtig teuer war sein Speicherhunger zu Zeiten, als 16 MByte RAM noch viel Speicher war. Heute weint zwar niemand mehr über 30 MByte verschwendeten Arbeitsspeicher. Allerdings kommt es immer wieder vor, dass X.org im Lauf der Wochen auf mehrere hundert MByte anwächst. Das schmerzt immer noch.

Messfehler

Zu bedenken ist, dass sich der Speicherverbrauch des X-Servers nicht einfach mit Top messen lässt. Das Tool nennt nicht den reinen RAM-Verbrauch, vielmehr enthält der angezeigte Wert auch den auf der Grafikkarte genutzten Speicher.

Dazu kommt ein architekturbedingtes Defizit: Anwendungen speichern Bitmaps - etwa Icons - direkt im X-Server. Das Tool Xrestop [1] macht diesen Verbrauch sichtbar. Den allozierten Speicher wieder freizugeben ist Sache der Applikation. Patzt die Software, so schwillt der Speicherbedarf des X-Servers an. Das ist zwar nicht dessen Schuld, eine intelligente Garbage Collection könnte aber aus der Klemme helfen.

Alternativ

Wie eine grafische Oberfläche ohne X-Server und seine in die Jahre gekommene Client-Server-Architektur aussehen könnte, zeigt das Xfast-Projekt [2] (Abbildung 1). Eine gepatchte GTK-Version erspart es den Entwicklern, ein eigenes Widget-Set zu erfinden und alle Anwendungen darauf zu portieren. Ist eine normale GTK-Anwendung gegen die in Xfast enthaltene GTK-Variante gelinkt, läuft sie ohne X.org in einem lokalen Fenster, das das Toolkit selbst verwaltet. Eine minimale Desktopumgebung gibt es gratis dazu. Von praktischer Bedeutung ist die Einsparung vor allem bei Embedded-Geräten. So trägt das QT-Pendant "QT Embedded" [3] diesen Anwendungsbereich auch im Namen.

Abbildung 1: Ein X-Server? Nein, die Abbildung zeigt die Xfast-Umgebung, die GTK-Anwendungen ohne X-Window-Verwaltung startet.

Abbildung 1: Ein X-Server? Nein, die Abbildung zeigt die Xfast-Umgebung, die GTK-Anwendungen ohne X-Window-Verwaltung startet.

Weitere Versuche, den konventionellen X-Server auf dem Desktop vom Thron zu stoßen, gab es auch im Gefolge der 3D-Desktopumgebungen: Hier war der Leitgedanke, das X-Protokoll auf Basis von Open GL von Grund auf neu umzusetzen, statt die 3D-Beschleunigung in das bestehende X11 zu integrieren.

Noch aktiv und schon experimentell nutzbar ist das Projekt XDirectFB [4]. Die Software nutzt die Open-GL-Library Direct FB, die eine GL-Umgebung direkt auf dem Framebuffer implementiert. Außer einer X-Umgebung gibt es auch Direct-FB-Projekte, die wie Xfast das X-Protokoll komplett über Bord werfen. Ein Beispiel ist GTK on Direct FB [5], das wie Xfast Fenster ohne X für GTK-Anwendungen ermöglicht.

Wer die Fensterverwaltung in das Toolkit verlegt, muss leider auf die X11-Netzwerktransparenz verzichten. Besser wäre, der Server würde sparsam mit seinem Speicher umgehen und gelegentlich ein ungenutztes Bitmap verwerfen.

Infos

[1] Xrestop: [http://freedesktop.org/wiki/Software/xrestop]

[2] Xfast: [http://xfast.wiki.sourceforge.net]

[3] QT Embedded: [http://trolltech.com/products/qt/features/platforms/embedded]

[4] XDirectFB: [http://www.directfb.org/index.php?path=Projects%2FXDirectFB]

[5] GTK on DirectFB: [http://www.directfb.org/wiki/index.php/Projects:GTK_on_DirectFB]

Diesen Artikel als PDF kaufen

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook