Wayland (Protokoll)

aus Wikipedia, der freien Enzyklopädie
(Weitergeleitet von Wayland (Anzeige-Server))
Wechseln zu: Navigation, Suche
Wayland
Wayland Logo.svg
Wayland demo 2.png
Wayland-Demonstration
Basisdaten
Entwickler Kristian Høgsberg
Erscheinungsjahr 2008
Aktuelle Version 1.5.0
(20. Mai 2014)
Betriebssystem Linux
Programmier­sprache C
Kategorie Anzeige-Server
Lizenz MIT-Lizenz
Deutschsprachig nein
http://wayland.freedesktop.org/

Wayland ist das Kommunikationsprotokoll, welches das als veraltet geltende Display-Server-Protokoll X Window System ablösen soll. Es ist für den Einsatz auf dem Linux-Desktop gedacht, dient also der Visualisierung jener grafischen Benutzeroberfläche, welche auf der Linux-Konsole aufsetzt. In der vorliegenden Konstellation kommuniziert der Display-Server mit seinen Clients, welche Anwendungen auf der grafischen Benutzeroberfläche repräsentieren; das Protokoll legt diese Kommunikation genau fest.

Entwicklung[Bearbeiten]

Begonnen wurde das Softwareentwicklungsprojekt für Wayland von Kristian Høgsberg, einem Mitglied von Intels Open Source Technology Center (OSTC).[1][2] Wayland versteht sich (zumindest auf Linux) als eine Alternative zum X Window System, wobei letzteres allerdings noch auf anderen unixoiden Betriebssystemen außer Linux lauffähig ist. Das von Kristian Høgsberg erklärte Ziel für die Software lautet: „[…] jeder Frame ist perfekt, und damit meine ich, dass alle Applikationen in der Lage sein werden, das Rendering so zu kontrollieren, dass wir niemals Tearing, instabile Bildwiederholfrequenzen, Redraw-Artefakte oder Flimmern sehen werden“.[3][4]

Lizenz[Bearbeiten]

Das Wayland-Display-Server-Protokoll wurde durch verschiedene Komponenten implementiert, wie z. B. libWayland-server, libWayland-client oder libWayland-EGL. Alle diese Komponenten sind freie Software und unterliegen zusammen mit dem Wayland-Compositor Weston der MIT-Lizenz.[5][6]

Design[Bearbeiten]

Das Wayland-Display-Server-Protokoll definiert, dass Klienten via EGL direkt in den Framebuffer zeichnen. Für Mesa 3D wurde dafür libwayland-EGL geschrieben. Diese Bibliothek erweitert die vorhandene Mesa-Implementierung von EGL dahingehend, dass die Zugriffe effizienter werden.
Unter X11 war ein extra Programm, der Fenstermanager, für die Fensterdekoration aller Fenster zuständig. Unter Wayland werden die Funktionen des Displayservers und des Fenstermanagers im Wayland Compositor zusammengefasst, die Kommunikation zwischen den beiden entfällt somit. Nach wie vor kann jeder Klient seine eigenen Fensterdekorationen zeichnen oder sie können zentral vom Compositor gezeichnet werden. Weston verlangt klientseitige Fensterdekorationen, Kwin sorgt für serverseitige.

Wayland greift auf vorhandene Komponenten des Linux-Kernels wie Direct Rendering Manager (DRM), Kernel Mode-Setting (KMS) und den Graphics Execution Manager (GEM) zurück, um einen minimalen Display-Server bereitzustellen.[7][8] Im Juni 2010 wurde Wayland Compositor von dem auf Desktops eher traditionellen OpenGL auf OpenGL ES portiert.[9] Grund dafür war, dass die einzige verfügbare freie OpenGL-Implementierung Mesa 3D von GLX und damit vom X Window System abhängt, die OpenGL-ES-Implementierung von Mesa 3D aber nicht.[10]

Wayland kommt aber ohne OpenGL / OpenGL ES aus.[11] [12]

Die Aufmerksamkeit der Medien[Bearbeiten]

Wayland war ursprünglich als ein neues Projekt über die Internetseite der Firma Phoronix Media vorgestellt worden, als im November 2008 ein Artikel mit dem Titel „Wayland: Ein neuer X.Org-Server für Linux“ veröffentlicht wurde.[3] Høgsberg reagierte auf die Aufmerksamkeit der Medien über sein Blog und informierte darüber, dass Wayland nicht ein neuer X-Server sei, sondern ein neuer Display-Server, und stellte fest, dass es ein junges, noch unreifes Projekt sei.[13]

Unberechtigte Kritik[Bearbeiten]

Kurze Zeit nach Beginn der Entwicklung wurde Wayland vom Großteil der Linux-Gemeinde als baldiger Standard akzeptiert. Anfang 2013 kündigte jedoch Canonical überraschend an, eine eigene Lösung namens „Mir“ entwickeln zu wollen. Diese Entscheidung löste Kontroversen aus, da viele es lieber gesehen hätten, dass gemeinschaftlich Wayland vorangebracht und so ein einheitlicher Standard etabliert würde.[14] In einer Stellungnahme von Mitarbeitern Canonicals wurde unter anderem argumentiert, Wayland habe die gleichen, schwerwiegenden Sicherheitsprobleme vom X Window System geerbt. Diese Behauptung ist nachweislich falsch und wurde wenig später auch wieder revidiert, führte jedoch dazu, dass die Fronten weiter verhärteten. Kritiker – darunter auch Høgsberg – warfen Canonical vor, das Projekt mit Falschaussagen torpedieren zu wollen.[15]

Wayland-Compositor[Bearbeiten]

Linux Graphics Stack 2013.svg
Wayland-Clienten schreiben mittels EGL unmittelbar in den Bildspeicher; der Compositor entscheidet über die Ausgabe.
Free and open-source-software display servers and UI toolkits.svg
Der Anzeige-Server (Wayland Compositor) sitzt zwischen dem Linuxkern und seinen Clienten und überträgt seine Daten über das sogenannte Display-Server-Protokoll, welches einfach ein weiteres Kommunikationsprotokoll ist.
Linux graphics drivers DRI Wayland.svg
Wayland-Clienten schreiben mittels EGL unmittelbar in den Bildspeicher; der Compositor entscheidet über die Ausgabe.

Weston[Bearbeiten]

Weston ist die Referenzimplementierung eines Wayland-Compositors.

KWin[Bearbeiten]

KWin, der Fenstermanager des KDE-Projektes, wird derzeit um Wayland-Unterstützung erweitert.[16]

Mutter[Bearbeiten]

Hauptartikel: Mutter (Software)

EGL[Bearbeiten]

Nachdem Nvidia-Mitarbeiter 2010 bekannt gaben, dass keine Unterstützung für Wayland geplant sei[17], ist im Oktober 2013 ein Treiber mit EGL-Unterstützung (das auch Android nutzt) veröffentlicht worden.[18]. Dennoch bleibt X11 vorläufig das einzige unterstützte Fenstersystem.[19]

Lipstick[Bearbeiten]

Lipstick ist die Implementierung des Wayland-Compositors in SailfishOS, dem Betriebssystem des Jolla-Smartphones.

Einsatz[Bearbeiten]

Wayland wird als Ersatz für den X.Org-Server betrachtet, besitzt aber andere potentielle Anwendungsmöglichkeiten, wie beispielsweise das Bereitstellen von X-Servern und GDM-Anmeldungen.[4]

GNOME
Im März 2013 kündigten GNOME-Entwickler Pläne für eine vollständige Portierung innerhalb eines Jahres an.[20]
KDE
Unterstützung von KWin für OpenGL ES wird seit Version 4.7 ausgeliefert.[21][22] Wayland-spezifische Änderungen sind seit 2011 in Entwicklung.[23]
Tizen
Tizen unterstützt Wayland in IVI-Konfigurationen.[24] Für Tizens Mobilplattform wurde Wayland-Unterstützung angekündigt.[25]
Sailfish OS
Jollas erstes Mobiltelefon mit Sailfish OS läuft laut Aussage der Entwickler mit Wayland.[26]

Siehe auch[Bearbeiten]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. Kristian Høgsberg (englisch) – Seite bei fosdem.org (Abgerufen am: 21. April 2013)
  2. Interview: Kristian Høgsberg (englisch) – Seite bei fosdem.org zu einem Gespräch am 29. Januar 2012 (Abgerufen am: 21. April 2013)
  3. a b Wayland: A New X Server For Linux (englisch) – Artikel bei Phoronix, vom 3. November 2008 (Abgerufen am: 21. April 2013)
  4. a b New Wayland X server looks to how a modern desktop works (englisch) – Artikel bei The H, vom 6. November 2008 (Abgerufen am: 21. April 2013)
  5. http://cgit.freedesktop.org/wayland/wayland/tree/COPYING
  6. http://cgit.freedesktop.org/wayland/weston/tree/COPYING
  7. Wayland Google Groups
  8. Red Hat Developer erstellt neue X-Server, Wayland
  9. Wayland Meets Some Summer Love w/ New Changes (englisch) – Artikel bei Phoronix, vom 6. Juni 2010 (Abgerufen am: 21. April 2013)
  10. Wayland FAQ, abgerufen am 31. Juli 2011
  11. Daniel Stone: The real story behind Wayland and X. 1. Februar 2012. Abgerufen am 22. Oktober 2013.
  12. Daniel Stone: The real story behind Wayland and X (Video). 1. Februar 2012. Abgerufen am 22. Oktober 2013.
  13. Casually Defiant (Kristians Blog) - Premature publicity is better than no publicity
  14. Linux Community: Canonical löst Shitstorm aus
  15. Wayland vs. Mir von KDE-Entwickler Martin Gräßlin
  16. Martin Gräßlin: KWin wird ein Wayland-Compositor. Golem.de. 22. April 2013. Abgerufen am 22. April 2013.
  17. Foreneintrag von Nvidia-Mitarbeiter Aaron Plattner. 7. November 2010. Abgerufen am 13. Dezember 2013.
  18. Anfänge für Mir- und Wayland-Support in Nvidias Linux-Treibern. 7. Oktober 2013. Abgerufen am 22. Oktober 2013.
  19. Release Notes des Nvidia-Treiber 331.13. Abgerufen am 13. Dezember 2013.
  20. [Phoronix] GNOME Will Move Full-Speed With Wayland Support. Phoronix.com. 13. März 2013. Abgerufen am 8. April 2013.
  21. Martin Gräßlin: KWin runs on OpenGL ES. 28 November 2010. Abgerufen am 22. Oktober 2013: „It does not only help, it is a must have to start working for Wayland. So to say it’s the first part of the KWin port to Wayland“
  22. http://blog.martin-graesslin.com/blog/2011/01/on-the-road-to-modern-opengl-es/
  23. http://blog.martin-graesslin.com/blog/2013/04/the-history-on-wayland-support-inside-kwin/
  24. IVI/IVI Setup - Tizen Wiki. Wiki.tizen.org. Abgerufen am 8. April 2013.
  25. Upcoming Technologies: Wayland and oFono. Tizen. Abgerufen am 8. April 2013.
  26. http://www.phoronix.com/scan.php?page=news_item&px=MTQxMDA