Wayland/Architektur: Unterschied zwischen den Versionen
K Dirkwagner verschob die Seite Wayland/Aufbau nach Wayland/Architektur |
K Textersetzung - „ “ durch „ “ |
||
| Zeile 15: | Zeile 15: | ||
=== ''Wayland Compositor'' === | === ''Wayland Compositor'' === | ||
Mehrere Bilder | Mehrere Bilder | ||
| align | | align = center | ||
| Richtung = vertical | | Richtung = vertical | ||
| Kopfzeile | | Kopfzeile = Wayland: Libwayland und der Wayland Compositor | ||
| Breite | | Breite = 680 | ||
| Bild1 | | Bild1 =Linux Graphics Stack 2013.svg | ||
| Untertitel1 =Wayland-Clients schreiben mittels [[EGL (Programmierschnittstelle)|EGL]]<!-- OpenGL --> unmittelbar in den [[Bildspeicher]]; der Compositor entscheidet über die Ausgabe.<hr /><hr /><hr /> | | Untertitel1 =Wayland-Clients schreiben mittels [[EGL (Programmierschnittstelle)|EGL]]<!-- OpenGL --> unmittelbar in den [[Bildspeicher]]; der Compositor entscheidet über die Ausgabe.<hr /><hr /><hr /> | ||
| Bild2 | | Bild2 =Free and open-source-software display servers and UI toolkits.svg | ||
| Untertitel2 | | Untertitel2 =Der Display-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 [[Netzwerkprotokoll]] ist.<hr /><hr /><hr /> | ||
| Bild3 | | Bild3 =Linux graphics drivers DRI Wayland.svg | ||
| Untertitel3 =Wayland-Clients schreiben mittels [[EGL (Programmierschnittstelle)|EGL]]<!-- OpenGL --> unmittelbar in den [[Bildspeicher]]; der Compositor entscheidet über die Ausgabe. | | Untertitel3 =Wayland-Clients schreiben mittels [[EGL (Programmierschnittstelle)|EGL]]<!-- OpenGL --> unmittelbar in den [[Bildspeicher]]; der Compositor entscheidet über die Ausgabe. | ||
Version vom 14. Juni 2026, 00:50 Uhr
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 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 Clients 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.
Wayland greift auf vorhandene Komponenten des Kernel des jeweiligen Betriebssystems wie Direct Rendering Manager (DRM), Kernel Mode-Setting (KMS) und den Graphics Execution Manager (GEM) unter Linux zurück, um einen minimalen Display-Server bereitzustellen.[1] Im Juni 2010 wurde Weston von dem auf Desktops eher traditionellen OpenGL auf OpenGL ES portiert.
- Wayland kommt aber ohne OpenGL / OpenGL ES aus.
Wayland Compositor
Mehrere Bilder
| align = center | Richtung = vertical | Kopfzeile = Wayland: Libwayland und der Wayland Compositor | Breite = 680 | Bild1 =Linux Graphics Stack 2013.svg
| Untertitel1 =Wayland-Clients schreiben mittels EGL unmittelbar in den Bildspeicher; der Compositor entscheidet über die Ausgabe.
| Bild2 =Free and open-source-software display servers and UI toolkits.svg
| Untertitel2 =Der Display-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 Netzwerkprotokoll ist.
| Bild3 =Linux graphics drivers DRI Wayland.svg | Untertitel3 =Wayland-Clients schreiben mittels EGL unmittelbar in den Bildspeicher; der Compositor entscheidet über die Ausgabe.
- Weston: Die Referenzimplementierung eines Wayland-Compositors.
- KWin: Der Fenstermanager des KDE-Projekts, der zugleich auch ein Wayland Compositor ist.[2]
- Mutter: Ein Fenstermanager und gleichzeitig ein Wayland Compositor.
- EGL: Nachdem Nvidia-Mitarbeiter 2010 bekanntgegeben hatten, dass keine Unterstützung für Wayland geplant sei,
wurde im Oktober 2013 ein Treiber mit EGL-Unterstützung veröffentlicht, den auch Android nutzt.[3] Seit den Nvidia-Treibern mit der Version 470 wird Wayland auch von Nvidia für alle GPUs unterstützt, die mit diesen Treibern laufen.
- Lipstick: Die Implementierung des Wayland-Compositors in Sailfish OS, dem Betriebssystem des Jolla-Smartphones.
Bildsynthese
Das Wayland-Protokoll enthält keine API zur Bildsynthese.
Jeder Wayland-Client ist für die Bildsynthese seines Fensterinhaltes selbst verantwortlich und schreibt das Ergebnis in seinen eigenen Puffer.