Wayland (Display-Server-Protokoll)
| Wayland
| |
|---|---|
| colspan="2" class="notheme" style="text-align:center; background:#Vorlage:Standardfarbe; color:#202122;" | Datei:Wayland Logo.svg | |
| Datei:Wayland demo 2.png Wayland-Demonstration | |
| Basisdaten
| |
| Maintainer | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Entwickler | Kristian Høgsberg |
| Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) |
| Aktuelle Version | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Aktuelle Vorabversion | Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value) (Lua-Fehler in Modul:Wikidata, Zeile 1686: attempt to index field 'wikibase' (a nil value)) |
| Betriebssystem | Linux, FreeBSD, DragonFly BSD, OpenBSD |
| Programmiersprache | C |
| Kategorie | Display-Server-Protokoll, Fenstersystem |
| Lizenz | MIT-Lizenz |
| deutschsprachig | ja |
| wayland.freedesktop.org | |
Wayland ist ein Display-Server-Protokoll für Linux und andere unixoide Betriebssysteme. Seine Hauptaufgabe ist das Rendern von Fenstern auf einer Bitmap.<ref name="WaylandQulle">Wayland Architecture. Erklärung der Wayland Architektur. Abgerufen am 27. März 2016.</ref> Es beschreibt die Kommunikation zwischen einem Display-Server und seinen Clients (üblicherweise die Anwendungen des Nutzers). Der Server wird Wayland-Compositor genannt, da er zusätzlich die Funktion eines Compositing Window Managers übernimmt. Ziel von Wayland ist es, dem Programmierer ein leichter zu wartendes Display-Server-Protokoll als den bisherigen X-Window-Server bereitzustellen und die Sicherheit zu erhöhen.<ref name="WaylandHP">Wayland Homepage. Erklärung der Ziele des Projektes im 1 Absatz. Abgerufen am 2. Juni 2020.</ref> Anwendungen, die noch vom X-Server abhängig sind, können mithilfe von XWayland auch unter einem Wayland-Compositor genutzt werden.<ref name="WaylandFAQ4">Is wayland replacing the X server? Abgerufen am 2. Juni 2020.</ref>
Die beiden verbreiteten Linux-Desktops Gnome und KDE Plasma entwickelten eine Zeit lang parallel an den Unterstützungen für jeweils X.org und Wayland. Seit ca. 2023/2024 setzen beide verstärkt auf Wayland, und auch einige weitere Unix-Desktops, die bis dahin nur für das traditionelle X Window System „X11“ verfügbar waren, werden seither für Wayland angepasst, wie z. B. Cinnamon<ref>Tim Schürmann: Linux-Desktops: Wayland nun auch in Cinnamon, Mate-Gründer rausgeworfen. In: Heise online. 2. November 2023.Vorlage:Abrufdatum</ref> und Xfce.<ref>David Wolski: XFCE 4.20: Schlanker Desktop auf dem Weg zu Wayland. In: Heise online. 18. Dezember 2024.Vorlage:Abrufdatum</ref> Bereits Ende 2023 dachten die Gnome-Entwickler öffentlich darüber nach, die Unterstützung für X.org komplett zu streichen<ref>Dirk Knop: Gnome: Entwickler wollen X11-Support auslaufen lassen. In: Heise online. 12. Oktober 2023.Vorlage:Abrufdatum; Zitat: „Die Gnome-Entwickler wollen sich mehr auf Wayland konzentrieren. Dazu diskutieren sie, den Support für X11 zu beenden.“.</ref> und gaben Mitte 2025 bekannt, die angekündigte Streichung von X11 umzusetzen. Die verbreiteten Linux-Distributionen Ubuntu Desktop und Kubuntu werden ab Version 25.10 nur noch mit Wayland-Unterstützung ausgeliefert.<ref>Thorsten Leemhuis: Aus für Xorg: Ubuntu Desktop 25.10 nur noch mit Wayland. In: Heise online. 10. Juni 2025.Vorlage:Abrufdatum; Zitat: „Jean Baptiste Lallement verwies bei der Bekanntgabe des Schritts auf die zwei Tage zuvor verkündeten Planungen zum Xorg-Abschied beim Gnome-Projects. Das will die Unterstützung von Xorg zuerst standardmäßig lahmlegen und ein halbes Jahr später entfernen …“.</ref><ref name="heiseonline_10457397">Thorsten Leemhuis: Kubuntu wechselt auf Wayland, neuer Fork von Xorg erschienen. In: Heise online. 24. Juni 2025.Vorlage:Abrufdatum; Zitat: „Kubuntu 25.10 wird von Haus aus keine X11-Sitzung mehr bieten; sie bleibt aber nachrüstbar, anders als bei Ubuntu Desktop 25.10, das voll auf Wayland setzen soll. … Die KDE-Entwickler haben derweil verkündet, den X11-Modus von KDE-Plasma weiter pflegen zu wollen.“.</ref> Auch KDE startet ab Plasma 6 per Voreinstellung als Wayland-Sitzung,<ref>Tim Schürmann: KDE Plasma 6 legt den Fokus auf Wayland. In: Heise online. 28. Februar 2024.Vorlage:Abrufdatum; Zitat: „Die Desktop-Umgebung startet standardmäßig eine Wayland-Sitzung.“.</ref> ursprünglich sollte X11 jedoch weiterhin alternativ zur Verfügung stehen.<ref name="heiseonline_10457397" /> Ende 2025 kündigten allerdings auch die KDE-Entwickler an, mit der für 2026 geplanten Version von Plasma 6.8 nur noch Wayland unterstützen zu wollen.<ref>Thorsten Leemhuis: KDE-Desktop sagt X11-Modus adé und setzt vollständig auf Wayland. In: Heise online. 27. November 2025.Vorlage:Abrufdatum</ref>
Entwicklung
Begonnen wurde das Softwareentwicklungsprojekt für Wayland von Kristian Høgsberg, einem Mitglied von Intels Open Source Technology Center (OSTC).<ref>Kristian Høgsberg (englisch) – Seite bei fosdem.org (abgerufen am 21. April 2013).</ref><ref><templatestyles src="Webarchiv/styles.css" />Interview: Kristian Høgsberg ( vom 3. Februar 2014 im Internet Archive) (englisch) – Seite bei fosdem.org zu einem Gespräch am 29. Januar 2012 (abgerufen am 21. April 2013).</ref> Unter Linux versteht sich Wayland als eine Alternative zum und Nachfolger vom X-Window-System, wobei letzteres weiterhin auf allen unixoiden Betriebssystemen lauffähig ist. Das von Kristian Høgsberg erklärte Ziel für die Software lautete:
„[…] 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.“
Aufbau
Unter X11 ist ein Extra-Programm, der Fenstermanager, für die Fensterdekoration (Titelleiste, Rahmen usw.) aller Fenster zuständig. Unter Wayland werden die Funktionen des Displayservers<ref>Displayserver: Wayland und Weston 1.3 erschienen – Golem, am 11. Oktober 2013</ref> und des Fenstermanagers im Wayland Compositor zusammengefasst; die Kommunikation zwischen den beiden entfällt somit. Nach wie vor kann jeder Client seine eigenen Fensterdekorationen zeichnen, oder sie können zentral vom Compositor gezeichnet werden. Weston, die Referenzimplementierung des Wayland Compositors, verlangt Client-seitige Fensterdekorationen, KWin, der Fenstermanager der Desktopumgebung von KDE, sorgt für Server-seitige.
Wayland-Display-Server-Protokoll
Das Wayland-Display-Server-Protokoll definiert, dass die angezeigte Grafik durch die Clients erstellt wird. Im Gegensatz zu X11 bietet das Protokoll selbst keine Funktionalität zum Zeichnen an. Zur Datenübermittlung können Shared-Memory-Bereiche verwendet werden, oder es kann für Hardware-Beschleunigung, z. B. mithilfe von EGL, im Speicher der Grafikkarte gerendert werden.
Wayland nutzt vorhandene Komponenten des Kernels des jeweiligen Betriebssystems wie Direct Rendering Manager (DRM), Kernel Mode-Setting (KMS) und Graphics Execution Manager (GEM) unter Linux, um einen minimalen Display-Server bereitzustellen.<ref name="wayland-google-groups">Wayland Google Groups</ref> Im Juni 2010 wurde Weston von dem auf Desktops eher traditionellen OpenGL auf OpenGL ES portiert.<ref>Wayland Meets Some Summer Love w/ New Changes (englisch) – Phoronix, am 6. Juni 2010 (abgerufen am 21. April 2013)</ref> 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.<ref>Wayland-FAQ – abgerufen am 31. Juli 2011</ref> Wayland kommt aber ohne OpenGL / OpenGL ES aus.<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig The real story behind Wayland and X.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 22. Oktober 2013.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig The real story behind Wayland and X (Video).] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 22. Oktober 2013.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
Wayland Compositor
<templatestyles src="Mehrere Bilder/styles.css" />
- Weston: Die Referenzimplementierung eines Wayland-Compositors.
- KWin: Der Fenstermanager des KDE-Projekts, der zugleich auch ein Wayland Compositor ist.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig KWin/Wayland KDE Community Wiki.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 24. Februar 2022 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- Mutter: Ein Fenstermanager und gleichzeitig ein Wayland Compositor.
- EGL: Nachdem Nvidia-Mitarbeiter 2010 bekanntgegeben hatten, dass keine Unterstützung für Wayland geplant sei,<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Foreneintrag von Nvidia-Mitarbeiter Aaron Plattner.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 13. Dezember 2013.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> wurde im Oktober 2013 ein Treiber mit EGL-Unterstützung veröffentlicht, den auch Android nutzt.<ref name="heiseonline_1973200">Thorsten Leemhuis: Anfänge für Mir- und Wayland-Support in Nvidias Linux-Treibern. In: Heise online. 7. Oktober 2013.Vorlage:Abrufdatum</ref> Seit den Nvidia-Treibern mit der Version 470 wird Wayland auch von Nvidia für alle GPUs unterstützt, die mit diesen Treibern laufen.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Nvidia GeForce: Linux-Grafiktreiber verbessert Wayland-Unterstützung.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 3. Januar 2022.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref>
- Lipstick: Die Implementierung des Wayland-Compositors in Sailfish OS, dem Betriebssystem des Jolla-Smartphones.
Bildsynthese
Das Wayland-Protokoll enthält keine API zur Bildsynthese.<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Wayland.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 5. September 2014.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung „No rendering API, all direct rendering“</ref><ref name="wldocrender">Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Wayland Documentation 1.3 – Wayland Rendering.] In: FreeDesktop.org. Wayland project, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 4. September 2014.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref name="waylandfaq">Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Wayland FAQ.] In: Wayland project. Wayland project, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 4. September 2014.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung „Wayland doesn’t render on behalf of the clients, it expects the clients to use whatever means they prefer to render into a shareable buffer.“</ref><ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig Introduction to Wayland.] Intel Open Source Technology Center, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung „Does not include a rendering API – Clients use what they want and send buffer handles to the server“</ref> Jeder Wayland-Client ist für die Bildsynthese seines Fensterinhaltes selbst verantwortlich und schreibt das Ergebnis in seinen eigenen Puffer. Für die Bildsynthese kann es eine eigene Engine mitbringen oder eine externe Bibliothek nutzen, wie z. B. Cairo, OpenGL oder Vulkan, oder auch die „rendering engine“ von Qt oder GTK+ benutzen.
Einsatz
Wayland wird als Ersatz für den X.Org-Server betrachtet, bietet aber andere potentielle Anwendungsmöglichkeiten, beispielsweise das Bereitstellen von X-Servern und GDM-Anmeldungen.<ref name="h-online.wayland.6-nov-2008" />
- Enlightenment: Ab der Version E20, welche im Dezember 2015 erschien, wird Wayland von Enlightenment unterstützt.<ref name="heiseonline_3028368">Liane M. Dubowy: Schlanker Linux-Desktop: Enlightenment E20 veröffentlicht. In: Heise online. 1. Dezember 2015.Vorlage:Abrufdatum</ref>
- Gnome: Im März 2013 kündigten GNOME-Entwickler Pläne für eine vollständige Portierung innerhalb eines Jahres an.<ref>Vorlage:Cite book/Name: [Internetquelle: archiv-url ungültig [Phoronix] GNOME Will Move Full-Speed With Wayland Support.] Phoronix.com, , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; abgerufen am 8. April 2013.Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref> Gnome 3.10, welches im September 2013 erschien, enthielt bereits eine experimentelle Wayland-Unterstützung. Ab Version 3.20, welche am 23. März 2016 erschien, gilt die Wayland-Unterstützung als alltagstauglich.
- KDE: Unterstützung von KWin für OpenGL ES wird ab Version 4.7 ausgeliefert.<ref>Vorlage:Cite book/NameVorlage:Cite book/Name: [Internetquelle: archiv-url ungültig KWin runs on OpenGL ES.] , archiviert vom Vorlage:IconExternal (nicht mehr online verfügbar) am Vorlage:Cite book/URL; 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.“Vorlage:Cite book/URLVorlage:Cite book/MeldungVorlage:Cite book/Meldung2Vorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/MeldungVorlage:Cite book/Meldung</ref><ref>Martin Flöser: On the Road to Modern OpenGL (ES). In: Martin’s Blog. 18. Januar 2011, abgerufen am 5. Januar 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Wayland-spezifische Änderungen sind seit 2011 in Entwicklung.<ref>Martin Flöser: The History on Wayland Support inside KWin. In: Martin’s Blog. 21. April 2013, abgerufen am 5. Januar 2020 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Seit Version 6.0 ist Wayland als Standard voreingestellt<ref>Plasma/Plasma 6 - KDE Community Wiki. Abgerufen am 1. Juni 2024.</ref> (X11 wird jedoch weiterhin unterstützt).
- Tizen: Tizen unterstützt Wayland in IVI-Konfigurationen.<ref>IVI/IVI Setup – Tizen Wiki. Wiki.tizen.org, abgerufen am 8. April 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref> Für Tizens Mobilplattform wurde Wayland-Unterstützung angekündigt.<ref>Upcoming Technologies: Wayland and oFono. Tizen, abgerufen am 8. April 2013 (Lua-Fehler in Modul:Multilingual, Zeile 153: attempt to index field 'data' (a nil value)).</ref>
- Sailfish OS: Jollas erstes Mobiltelefon mit Sailfish OS läuft laut Aussage der Entwickler mit Wayland.<ref>Jolla’s First Smartphone Powered By Wayland - Phoronix. Abgerufen am 5. Januar 2020.</ref>
Lizenz
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.<ref>COPYING - wayland/wayland - Wayland Compositor Infrastructure. Abgerufen am 5. Januar 2020.</ref>
Rezeption
Wayland war ursprünglich als ein neues Projekt auf der Website des Unternehmens 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.<ref name="phoronix-a-new-x-server" /> Høgsberg reagierte auf die Aufmerksamkeit der Medien über seinen 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.<ref name="blog.casuallydefiant.3-nov-2008">Kristian Høgsberg: Casually Defiant: Premature publicity is better than no publicity. In: Casually Defiant. 3. November 2008, abgerufen am 5. Januar 2020.</ref>
Streit mit Canonical
Kurze Zeit nach Beginn der Entwicklung wurde Wayland vom Großteil der Linux-Gemeinde als baldiger Standard akzeptiert. Anfang 2013 gab jedoch Canonical überraschend bekannt, 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.<ref>Linux Community: Canonical löst Shitstorm aus – Golem, am 9. März 2013</ref> In einer Stellungnahme von Mitarbeitern Canonicals wurde unter anderem argumentiert, Wayland habe schwerwiegende Sicherheitsprobleme vom X-Window-System geerbt. Diese Behauptung ist nachweislich falsch und wurde wenig später revidiert, führte jedoch dazu, dass die Fronten sich weiter verhärteten. Kritiker – darunter Høgsberg – warfen Canonical vor, das Projekt mit Falschaussagen torpedieren zu wollen.<ref>Martin Gräßlin: Kwami: Wayland vs. Mir. KDE-Entwickler auf Ubuntuusers.de, 7. März 2013</ref> 2017 gab Canonical schließlich die Entwicklung von Mir auf und verwendet nun in Ubuntu ebenfalls Wayland.<ref>Ferdinand Thommes: Linux: Ubuntu bereitet sich auf GNOME und Wayland vor. In: ComputerBase. (computerbase.de [abgerufen am 23. April 2017]).</ref>
Weblinks
- Casually Defiant Seite von Kristian Høgsberg (englisch)
- Wayland. Seite bei Freedesktop.org (englisch)
- Oliver Diedrich: Die Woche: Das Ende von X11?. In: Heise online. 11. November 2010 (c’t, Kommentar).Vorlage:Abrufdatum
Einzelnachweise
<references />