Zum Inhalt springen

Wayland/Architektur

Aus Foxwiki

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.
Das Wayland-Display-Server-Protokoll

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.

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.

  • 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.