Wayland 1.26 verfügbar

Nach vier Monaten Entwicklung wurde die stabile Version des Protokolls, des Mechanismus für die Interprozesskommunikation und der Wayland-Bibliotheken 1.26 vorgestellt. Der Branch 1.26 ist auf API- und ABI-Ebene abwärtskompatibel mit den Veröffentlichungen 1.x und enthält hauptsächlich Bugfixes sowie kleinere Aktualisierungen des Protokolls. Die Projektergebnisse werden unter der MIT-Lizenz verbreitet. Der Referenz-Composite der Server Weston, der Code und Arbeitsbeispiele für die Verwendung von Wayland in Desktop-Umgebungen und eingebetteten Lösungen bereitstellt, entwickelt sich im Rahmen eines separaten Entwicklungszyklus.

Wichtige Änderungen im Protokoll:

  • Das Ereignis wl_pointer.warp wurde hinzugefügt, über das Benachrichtigungen über die neue Position des Zeigers ohne Verarbeitung des vom Benutzer generierten Ereignisses wl_pointer.motion empfangen werden können.
  • Die Anfrage wl_fixes.ack_global_remove wurde hinzugefügt, die dazu dient, dem Kompositor zu bestätigen, dass der Client die Verarbeitung des Ereignisses eingestellt hat, um einen Wettlaufzustand beim Entfernen globaler Ereignisse zu vermeiden. Nach Erhalt der Bestätigung von allen Clients kann der Kompositor den mit dem Ereignis verbundenen Handler auf seiner Seite entfernen.
  • Die Funktion wl_display_remove_socket_fd() wurde hinzugefügt, um Sockets zu entfernen, die zuvor über den Aufruf wl_display_add_socket_fd() hinzugefügt wurden.
  • Im Debugging-Modus WAYLAND_DEBUG wird die Log-Ausgabe mit Zeitstempeln im Format „HH:MM:ss.xxxxxx“ bereitgestellt, was die Analyse und den Vergleich von Logs erleichtert.

Nach der letzten Veröffentlichung von Wayland hinzugefügte Protokollerweiterungen, die das Basisprotokoll Wayland ergänzen und in einem separaten Set von Wayland-Protocols bereitgestellt werden:

  • xx-fractional-scale — zur Skalierung des Systems logischer Koordinaten, deren Werte in ganzen Zahlen angegeben werden, um die Genauigkeit der Positionierung zu erhöhen und die Auflösung der logischen Koordinaten auf Einzelpixel zu verbessern. Diese Funktion adressiert das Problem der begrenzten Auflösung des Systems logischer Koordinaten, die für die Positionierung auf Einzelpixel-Ebene, welche für die vollständige Umsetzung der fractional scaling erforderlich ist, nicht ausreichend ist.
  • xx-cutouts — zur Erfassung von Informationen über Ausschnitte auf dem Bildschirm (z. B. Bereiche unter der Frontkamera auf dem Smartphone-Bildschirm).
  • xx-zones — zur Erstellung und Hinzufügung von Top-Level-Fenstern in „Zonen“ — Umgebungen mit eigenem Koordinatensystem. Das Protokoll ermöglicht eine logische Anordnung der Fenster, wobei jedes Fenster in Bezug auf ein anderes Fenster platziert wird.
  • xx-keyboard-filter — zur Abfangen von vom Client ausgewählten Tastaturereignissen, Ändern von Eingaben oder Blockieren der Übertragung bestimmter Ereignisse zu einer Wayland-Oberfläche, auf der der Fokus liegt.
  • Der Protokoll xdg-session-management wurde zur Kategorie „Staging“ hinzugefügt und bietet Funktionen zur Wiederherstellung des Zustands und der Positionen von Fenstern nach einem unterbrochenen Sitzung in Umgebungen, die auf dem Wayland-Protokoll basieren, beispielsweise nach einem Absturz des Compositors Server oder der Anwendung.
  • Im Protokoll „linux-dmabuf“ wurde Unterstützung für den Betrieb auf Systemen mit mehreren GPUs hinzugefügt. Auf solchen Systemen kann der Client mit den Compositors festlegen, Server welche GPU verwendet werden soll.
  • Im Protokoll color-management-v1 wurde die Unterstützung für Bildmetadaten im BT.2100-Format hinzugefügt, um sie im Compositor anzuwenden. Server spezifische Handler, die eine korrekte Anzeige von HDR-Inhalten ermöglichen, die für Windows erstellt wurden.

Die auffälligsten Ereignisse, die mit Wayland in Zusammenhang stehen und seit der Veröffentlichung der letzten Version aufgetreten sind:

  • In Cinnamon wurde vollständige Unterstützung für Wayland implementiert.
  • In die ANGLE-Bibliothek, die in Chrome und Android verwendet wird, wurde Unterstützung für Wayland integriert.
  • In KDE wird bei Verwendung von Wayland die Unterstützung für das Wiederherstellen von Sitzungen implementiert, und das Wayland-Protokoll xx-fractional-scale-v2 für skalierte Darstellungen wird bereitgestellt.
  • Ein Port des X.Org-Treibers Synaptics wurde für Umgebungen auf Basis von Wayland erstellt.
  • Die Vorbereitung der VFX- und Animationsplattformen auf den Wechsel von X11 zu Wayland wurde initiiert.
  • Das Testen des Composite-Servers Xfwl4 aus dem Xfce-Projekt hat begonnen.
  • Auf Basis von Wayfire und Libadwaita wurde eine Benutzeroberfläche ähnlich Unity neu erstellt.
  • Die Composite-Server und Desktop-Umgebungen wurden aktualisiert: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.

Erinnern wir uns daran, dass Wayland ein Protokoll für die Interaktion zwischen einem Compositor-Server und den mit ihm verbundenen Anwendungen ist. Die Clients übernehmen die Darstellung ihrer Fenster in einem separaten Puffer und übermitteln Informationen über Aktualisierungen an den Compositor. Server, der die Inhalte der Puffer einzelner Anwendungen kombiniert, um die endgültige Ausgabe unter Berücksichtigung möglicher Besonderheiten wie Fensterüberlappungen und Transparenz zu erstellen. Mit anderen Worten, der Compositor-Server stellt keine API für das Rendern einzelner Elemente bereit, sondern arbeitet nur mit bereits erstellten Fenstern, was es ermöglicht, die doppelte Pufferung bei der Verwendung von hochgradigen Bibliotheken wie GTK und Qt, die für die Anordnung des Fensterinhalts verantwortlich sind, zu vermeiden.

Wayland löst viele Sicherheitsprobleme von X11 im X.Org-Server, da es im Gegensatz zu letzterem die Eingabe und Ausgabe für jedes Fenster isoliert, den Zugriff eines Clients auf den Inhalt anderer Fenster verhindert und auch das Abfangen von mit anderen Fenstern verbundenen Eingabeereignissen untersagt (im XLibre XServer wird die X11-Erweiterung Xnamespace implementiert, die die Isolierung von Clients durch Namensraumtrennung ermöglicht). Die Unterstützung für die direkte Arbeit mit Wayland ist für die meisten in Linux verwendeten Grafikbibliotheken realisiert, einschließlich GTK, Qt, SDL, FLTK, wxWidgets, Clutter und EFL (Enlightenment Foundation Library).

Die Interaktion mit der Hardware in Wayland/Weston, wie z.B. die Durchführung von Initialisierungen, das Wechseln der Video-Modi (drm modesetting) und das Speichermanagement (GEM für i915 und TTM für Radeon und Nouveau) von Grafikkarten kann direkt über ein Modul erfolgen, das auf Kernel-Ebene arbeitet, was es ermöglicht, ohne Superuser-Rechte auszukommen. Für die Ausführung herkömmlicher X11-Anwendungen in einer Umgebung auf Basis von Wayland wird die DDX-Komponente XWayland (Device-Dependent X) verwendet, die in ihrer Funktionsweise Xwin und Xquartz für die Plattformen Win32 und macOS ähnelt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster