AA-123RF-20926498-Kennerth_Kullman-123RF.jpg

© Kennerth Kullman, 123RF

Der X.org-Nachfolger Wayland im Praxiseinsatz

Fensterwechsel

Ab Mitte 2016 soll Wayland in vielen Distributionen den in die Jahre gekommenen X.org-Server ablösen. Unser Test zeigt, dass dieser Plan aufgehen könnte. Dennoch wird uns das alte X-Window-System noch über Jahre erhalten bleiben.

Die Hauptaufgabe eines Display-Servers besteht darin, alle Ein- und Ausgaben seiner Clients zu verarbeiten und untereinander und mit dem Rest des Betriebssystems sowie der Hardware so zu koordinieren, dass auf dem Bildschirm die Elemente eines modernen grafischen Desktops erscheinen (Abbildung 1). Auf dem Linux-Desktop tritt das seit 2008 unter Federführung des Intel-Mitarbeiters Kristian Høgsberg entwickelte Netzwerkprotokoll Wayland an, diese Aufgabe von dem mittlerweile in die Jahre gekommene Display-Server-Protokoll X Window System (X11) zu übernehmen.

Abbildung 1: Der Display-Server zwischen Kernel und Hardware und den Anwendungen.

Das gemäß dem Client-Server-Modell ausgelegte X11 feierte im vergangenen Herbst seinen dreißigsten Geburtstag, seine Ablösung wäre längst überfällig: Der X11-Code gilt als Flickenteppich, der sich nur noch schwierig warten und kaum noch erweitern lässt. Immer wieder tauchen gravierende Fehler auf, die oft seit vielen Jahren unentdeckt im Quelltext schlummern. So entdeckten Entwickler erst 2014 eine Sicherheitslücke im Font-Server, die seit 1991 bestand [1]. Auch die rigoros praktizierte Rückwärtskompatibilität trägt ihren Teil dazu bei, dass X11 als nicht unbedingt sicher gilt. Die Software schleppt Kernkomponenten aus den Anfangstagen mit sich herum, die heute kaum mehr eine Anwendung finden, aber gemäß Standard zur Verfügung stehen müssen.

Auch war die Ausrichtung zu Beginn der X11-Entwicklung aufgrund anderer Anforderungen eine völlig andere als jene, die man von einem modernen Grafikstack erwartet. Fähigkeiten wie das Zeichnen von Kreisen und Rechtecken oder das Verschieben von Fenstern regeln heutige Grafikbibliotheken wesentlich effizienter, ohne dafür auf einen X-Server zurückgreifen zu müssen. Zudem gibt es inzwischen Shared Libraries, sodass grafikfähige Applikationen nicht Unmengen an Grafikfunktionen mitschleppen müssen. Moderne Clients erwarten vom Display-Server lediglich das Zuteilen eines Bereichs, in den sie schreiben dürfen, und das Darstellen dieser Inhalte. Das entspricht exakt der Arbeitsweise von Wayland (Abbildung 2).

Abbildung 2: Wayland im Gefüge des Betriebssystems.

Um- und Abwege

Verantwortlich für die heutige Rolle von Wayland als Erbe von X11 zeichnet jemand, der das Protokoll vermutlich gar nicht mehr nutzen will: Mark Shuttleworth kündigte 2010 in seinem Blog an, Ubuntu werde ab Version 12.04 mit Wayland anstatt mit X11 laufen [2]. Das gab dem ursprünglich als Hobbyprojekt deklarierten Wayland den nötigen Schub in der Entwicklung, um sich als Nachfolger von X11 zu empfehlen. Ursprünglich sollte Wayland eigentlich nur beweisen, dass sich X11 ohne allzu viel Aufwand umbauen lässt.

Später entschied sich Shuttleworth jedoch, einen eigenen Display-Server namens Mir zu entwickeln, anstatt Wayland zu unterstützen. Mir soll in Ubuntu 16.10 zusammen mit Unity 8 und dem Snappy-Paketformat einen der Pfeiler für die seit Langem angestrebte Konvergenz zwischen mobilen Geräten und PCs bilden [3]. Dieser erneute Alleingang von Canonical rief in der gesamten Linux-Community heftige Kritik hervor – vor allem, da die Ubuntu-Seite ihn mit nachweislich falschen Anschuldigungen gegen Wayland begründete. KDE-Entwickler Martin Gräßlin kündigte an, Mir in KWin nicht zu unterstützen, solange es lediglich bei Ubuntu zum Einsatz käme. Er nannte Mir "eine Lösung zu einem Problem, das es nie gegeben hat" [4].

Die meisten anderen Distributionen arbeiten mittlerweile am Umstieg auf Wayland; X11 wird uns jedoch generell noch einige Jahre begleiten. Um in der Umstiegsphase Probleme mit Anwendungen auszuschließen, die noch X11 benötigen, arbeitet in Form von Xwayland ein zusätzlicher, leicht modifizierter X-Server als Kompatibilitätsschicht im Hintergrund. Als erste Distribution plant Fedora, mit seiner Mitte Mai 2016 anstehenden 24. Ausgabe auf Wayland als Standard umzusteigen.

Wesentliche Unterschiede

Wayland unterscheidet sich konzeptionell und funktional in mehreren Punkten von X11. So fungiert es lediglich als Netzwerkprotokoll, der jeweilige Compositor stellt den eigentlichen Display-Server dar. Dagegen handelt es sich unter X11 beim Compositor um eine externe Komponente und somit um einen zusätzlichen Arbeitsschritt (Abbildung 3). Als Compositor bezeichnet man im Kontext von Wayland einen Display-Server, der das entsprechende Wayland-Protokoll implementiert. Beispiele dafür wären unter anderem die für Wayland erstellte Referenzimplementation Weston, Gnomes Display-Server Mutter und KWin bei KDE. Ein Blick auf die Handhabung eines Ereignisses wie eines Mausklicks macht die Unterschiede deutlich.

Abbildung 3: Der X-Server hat einen externen Compositor.

Bei X11 übermittelt der Kernel einen Mausklick über den Evdev-Treiber [5]. Der X-Server stellt fest, zu welchem Fenster das Ereignis gehört, und sendet es an den für das Fenster verantwortlichen Client weiter. Als problematisch erweist sich dabei, dass nicht etwa X die Position des Fensters kontrolliert, sondern der Compositor: Was zu tun ist, entscheidet also der Client. Da sich durch den Mausklick Elemente des Fensters ändern oder sich ein neues Fenster öffnet, sendet der Client eine Anforderung zum Rendern an den X-Server. Der X-Server wiederum leitet diese an den Grafiktreiber weiter, der seinerseits die Hardware mit dem Rendern beauftragt.

Der X-Server kalkuliert daraufhin die Geometrie und Lage der zu rendernden Fläche und sendet einen sogenannten Damage Event an den Compositor. Der entnimmt diesem Report, dass sich im Fenster etwas geändert hat und dass er einen Bereich des Displays neu zeichnen muss. Die Befehle dazu müssen nun erneut den X-Server durchlaufen. Der schleppt so reichlich Ballast mit, offeriert jedoch andererseits kaum Funktionen, die sich heute noch gebrauchen ließen. Er fungiert also nur noch als Mittelsmann, erzeugt dabei aber überflüssige Schritte zwischen Applikationen und dem Compositor sowie zwischen Compositor und der Grafikhardware.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Radikaler Umbau
    Die Ablösung des X11-Windowing-Systems durch Wayland steht für die absehbare Zukunft bevor. Anhand des auf Debian basierenden RebeccaBlackOS lässt sich bestens nachverfolgen, wie weit die Entwicklung mittlerweile fortgeschritten ist.
  • Neue Version 1.2 von Wayland

    Wayland 1.2 bringt neben zahlreichen kleineren Bugfixes auch nennenswerte größere Änderungen gegenüber der Version 1.1 mit, die vor drei Monaten erschienen ist.
  • Glasklare Glaskugel
    In der virtuellen Maschine gehen Sie auf eine gefahrlose Reise in die Zukunft des Desktops unter Linux mit dem Gespann Hawaii und Maui.
  • Chromium-Wayland macht Fortschritte, Hawaii soll in Fedora landen
    Der X11-Nachfolger Wayland findet immer breitere Zustimmung und Beachtung. Intel portiert derzeit Chromium im Projekt Ozone-Wayland auf Wayland, die neue Desktop-Umgebung Hawaii möchte in Fedora 22 aufgenommen werden und der Compositor Weston läuft mit DirectFB.
  • Durchbruch auf dem freien Desktop

    Einem KDE-Entwickler ist es gelungen, X11-Clients und Wayland-Clients gemeinsam unter einem X11-Window-Manager zu betreiben.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Installation Linux mint auf stick
Reiner Schulz, 10.12.2017 17:34, 0 Antworten
Hallo, ich hab ein ISO-image mit Linux Mint auf einem Stick untergebracht Jetzt kann ich auch...
Canon Maxify 2750 oder ähnlicher Drucker
Hannes Richert, 05.12.2017 20:14, 4 Antworten
Hallo, leider hat Canon mich weiterverwiesen, weil sie Linux nicht supporten.. deshalb hier die...
Ubuntu Server
Steffen Seidler, 05.12.2017 12:10, 1 Antworten
Hallo! Hat jemand eine gute Anleitung für mich, wie ich Ubuntu Server einrichte? Habe bisher...
Tinte sparen bei neuem Drucker
Lars Schmitt, 30.11.2017 17:43, 2 Antworten
Hi Leute, ich habe mir Anfang diesen Monats einen Tintenstrahldrucker angeschafft, der auch su...
Für Linux programmieren
Alexander Kramer, 25.11.2017 08:47, 3 Antworten
Ich habe einen Zufallsgenerator entworfen und bereits in c++ programmiert. Ich möchte den Zufalls...