Wayland 1.24 ist verfĂŒgbar.

Nach 13 Monaten Entwicklung wurde die stabile Version des Protokolls, des Mechanismus der Interprozesskommunikation und der Bibliotheken Wayland 1.24 veröffentlicht. Der Branch 1.24 ist auf API- und ABI-Ebene abwĂ€rtskompatibel mit den Versionen 1.x und enthĂ€lt hauptsĂ€chlich Fehlerbehebungen sowie geringfĂŒgige Aktualisierungen des Protokolls. Die Projektergebnisse werden unter der MIT-Lizenz veröffentlicht. Der Referenzkompositserver Weston, der Code und Arbeitsbeispiele fĂŒr die Nutzung von Wayland in Desktop-Umgebungen und eingebetteten Lösungen bereitstellt, entwickelt sich im Rahmen eines separaten Entwicklungszyklus.

HauptÀnderungen im Protokoll:

  • Es wurde die Schnittstelle wl_fixes implementiert, die es ermöglicht, Probleme mit anderen Software-Schnittstellen der Basisprotokolle zu lösen, die nicht durch die eigenen Möglichkeiten dieser Schnittstellen behoben werden können. Zum Beispiel erlaubt die Anfrage „wl_fixes::destroy_registry“ die Eliminierung des Objekts wl_registry, wonach der Client es nicht mehr verwenden kann und der Kompositserver die Übertragung von Ereignissen ĂŒber dieses Objekt einstellt.
  • Im Programm-Schnittstelle wl_keyboard::key wurde der Pseudostatus „repeated“ implementiert, der bedeutet, dass die Taste gedrĂŒckt gehalten wird. Eine Taste kann nur nach dem Übergang in den Status „pressed“ in den Zustand „repeated“ versetzt werden, jedoch bevor der Status „released“ eintritt. Die mit dem neuen Zustand verbundenen Ereignisse können mehrfach generiert werden, solange die Taste gedrĂŒckt ist. Diese Änderung ermöglicht es Kompositservern, wiederholte BetĂ€tigungen beim Halten der Tasten als separate ZustĂ€nde zu behandeln und nicht nur als Strom wiederholter BetĂ€tigungsereignisse („pressed“), was fĂŒr die Organisation der Arbeit mit einem entfernten Desktop.
  • Die Funktionen wl_display_dispatch_queue_timeout() und wl_display_dispatch_timeout() wurden hinzugefĂŒgt, um Ereignisse in der Warteschlange unter BerĂŒcksichtigung des Zeitlimits zu verarbeiten (die Funktionen wl_display_dispatch und wl_display_dispatch_queue geben nur dann 0 zurĂŒck, wenn keine Ereignisse vorliegen, wĂ€hrend die Varianten *_timeout zudem beim Erreichen des Zeitlimits 0 zurĂŒckgeben).
  • Die Funktionen wl_shm_buffer_ref() und wl_shm_buffer_unref() wurden hinzugefĂŒgt, um auf den gemeinsamen Speicher zuzugreifen, der mit dem Buffer wl_shm_buffer verbunden ist, nachdem dieser eliminiert wurde (z.B. wenn der Client beendet wird). Die Funktionen ermöglichen es, den Buffer wl_shm_buffer von der Lebensdauer der Hauptressource wl_buffer zu entkoppeln, wenn der Kompositserver den Übergang zu einem neuen Zustand verzögern muss.
  • Die Funktionen wl_proxy_get_interface() und wl_resource_get_interface() wurden hinzugefĂŒgt, die das wl_interface fĂŒr die angegebene Ressource zurĂŒckgeben, was in den Bindings fĂŒr dynamisch typisierte Sprachen gefragt ist.
  • Die Funktion wl_resource_post_error_vargs() wurde hinzugefĂŒgt, die eine Alternative zur Funktion wl_resource_post_error() darstellt und die Möglichkeit bietet, eine Liste von Argumenten zur Formatierung der Zeichenfolge (va_list) zu ĂŒbergeben.

Die bemerkenswertesten Ereignisse im Zusammenhang mit Wayland, die seit der Veröffentlichung der letzten Ausgabe stattgefunden haben:

  • Verbesserung der Wayland-UnterstĂŒtzung in proprietĂ€ren NVIDIA-Treibern.
  • KDE plant, nur die UnterstĂŒtzung fĂŒr Wayland beizubehalten. Trennung des Codes von kwin_x11 und kwin_wayland.
  • Ubuntu und Kubuntu werden nur die UnterstĂŒtzung fĂŒr Wayland-Sitzungen in GNOME und KDE beibehalten.
  • In GDM bleibt standardmĂ€ĂŸig nur die UnterstĂŒtzung fĂŒr Wayland.
  • GTK hat das X11-Backend als veraltet eingestuft.
  • In Fedora 43 wurde beschlossen, die im GNOME verwendeten Pakete zur Arbeit ĂŒber den X-Server aus dem Repository zu entfernen. Alle GNOME-Nutzer mit X11 werden gezwungen, auf eine Sitzung auf Basis von Wayland umzuschalten.
  • In der Budgie-Desktop-Umgebung bleibt nur die UnterstĂŒtzung fĂŒr Wayland.
  • In Xfce 4.20 wurde teilweise UnterstĂŒtzung fĂŒr Wayland implementiert.
  • MATE 1.28 mit experimenteller UnterstĂŒtzung fĂŒr Wayland.
  • Wayback – ein Wayland-Composite-Server zum AusfĂŒhren von Desktops auf Basis von X11.
  • Das Unternehmen Valve hat das Projekt Frog ins Leben gerufen, um die EinfĂŒhrung neuer Wayland-Protokolle zu beschleunigen.
  • Die grafische BenutzeroberflĂ€chenbibliothek Cosmoe, die Wayland und eine BeOS-Ă€hnliche API verwendet.
  • StandardmĂ€ĂŸig aktivierter Wayland-Treiber in Wine.
  • Der Übergang von Raspberry Pi OS zur Verwendung von Wayland.
  • Veröffentlichung des grafischen Toolkits FLTK 1.4.0 mit UnterstĂŒtzung fĂŒr Wayland.
  • Im Set der Wayland-Protokolle wurde eine zusĂ€tzliche Phase zur Förderung der Protokolle hinzugefĂŒgt – „experimental“, die darauf abzielt, die Barrieren bei der Integration von Protokollen zu verringern, die ÜberfĂŒhrung der Protokolle zu Entwicklern zu beschleunigen und die frĂŒhe Implementierung in bestehenden Projekten zu fördern.
  • AMD entwickelt seinen eigenen Composite-Server ACS, der Wayland verwendet.
  • Sieben Alpha-Versionen der Desktop-Umgebung COSMIC.
  • Aktualisierung der Composite-Server: Weston 14.0, Niri 25.05, Wayland Maker 0.5, miracle-wm 0.5, Hyprland 0.49, labwc 0.8.3, Cage 0.2, Wayfire 0.9, Sway 1.11.

Im letzten Jahr hinzugefĂŒgte Protokollerweiterungen, die das Basisprotokoll Wayland ergĂ€nzen und in einem separaten Set von Wayland-Protokollen bereitgestellt werden:

  • color-management – Funktionen zur Farbverwaltung und zur UnterstĂŒtzung eines erweiterten Dynamikbereichs der Helligkeit (HDR, High Dynamic Range).
  • color-representation-v1 — Aufgabe der farblichen Darstellung einer Wayland-OberflĂ€che.
  • xdg-toplevel-tag — ermöglicht es Wayland-Clients, Tags an Top-Level-OberflĂ€chen anzuhĂ€ngen, die vom Kompositionserver zur Identifizierung von Fenstern nach einem Neustart der Anwendung verwendet werden können.
  • ext-background-effect – Anwendung von Effekten auf transparente Teile der Wayland-OberflĂ€che, wie z. B. HintergrundunschĂ€rfe.
  • pointer-warp – ermöglicht es der Anwendung, den Zeiger sofort an die angegebene Position zu bewegen.
  • xx-session-management – Wiederherstellung des Zustands von Fenstern fĂŒr unterbrochene Sitzungen (z. B. nach einem Absturz des Kompositionsmanagers).
  • xx-input-method — Entwicklung eines neuen Protokolls zur Verwendung von Texteingabemethoden. ext-data-control — erlaubt privilegierten Clients die Verwaltung der Datenverarbeitung, beispielsweise zur Implementierung von Zwischenablage-Manager.
  • ext-workspace — implementiert das Konzept virtuellen ArbeitsplĂ€tzen und bietet Ereignisse mit Informationen ĂŒber den Status von ArbeitsflĂ€chen sowie Möglichkeiten zur Aktivierung und Deaktivierung von ArbeitsflĂ€chen.
  • xdg-system-bell — erlaubt die Ausgabe eines Systemsignals, das beispielsweise als Warnung in Terminal-Emulatoren verwendet werden kann.
  • xdg-toplevel-icon — zum Binden eines Symbols an ein Top-Level-Fenster.
  • ext-image-capture-source und ext-image-copy-capture — Erfassung des auf dem Bildschirm ausgegebenen Inhalts.
  • fifo — implementiert einen FIFO-Mechanismus (First In, First Out) zur Verarbeitung der Aktualisierungsanfragen des dargestellten OberflĂ€cheninhalts.
  • commit-timing — ermöglicht es, eine ZeitbeschrĂ€nkung an den Inhalt der OberflĂ€che zu binden (der Compositing-Server sollte Änderungen des Inhalts nach Möglichkeit innerhalb des angegebenen Zeitrahmens anzeigen, jedoch nicht frĂŒher).

Wir erinnern daran, dass Wayland ein Protokoll fĂŒr die Interaktion zwischen einem Kompositionserver und den mit ihm arbeitenden Anwendungen darstellt. Clients fĂŒhren die Darstellung ihrer Fenster in einem separaten Puffer selbst durch und ĂŒbermitteln Informationen ĂŒber Aktualisierungen an den Kompositionserver, der den Inhalt der einzelnen Anwendungs-Puffer kombiniert, um die endgĂŒltige Ausgabe unter BerĂŒcksichtigung möglicher Nuancen wie FensterĂŒberlappung und Transparenz zu erzeugen. Mit anderen Worten, der Kompositionserver stellt keine API zur VerfĂŒgung, um einzelne Elemente zu zeichnen, sondern arbeitet nur mit bereits formatierten Fenstern, was eine doppelte Pufferung bei der Verwendung von hochrangigen Bibliotheken wie GTK und Qt, die sich um die Anordnung des Fensterinhalts kĂŒmmern, vermeidet.

Wayland löst viele Sicherheitsprobleme von X11, da es im Gegensatz zu Letzterem Eingaben und Ausgaben fĂŒr jedes Fenster isoliert; es erlaubt einem Client nicht, auf den Inhalt der Fenster anderer Clients zuzugreifen, und verhindert auch das Abfangen von mit anderen Fenstern verbundenen Eingabeereignissen. Die UnterstĂŒtzung fĂŒr die direkte Arbeit mit Wayland ist fĂŒr die meisten in Linux verwendeten Grafikbibliotheken implementiert, 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 Umschalten von 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, das auf Kernel-Ebene arbeitet, erfolgen, was es ermöglicht, ohne Superuser-Rechte auszukommen. Um die AusfĂŒhrung herkömmlicher X11-Anwendungen in einer Wayland-basierten Umgebung zu ermöglichen, wird die DDX-Komponente XWayland (Device-Dependent X) verwendet, die hinsichtlich ihrer Funktionsweise Xwin und Xquartz fĂŒr die Plattformen Win32 und macOS Ă€hnelt.

Wayland 1.24 ist verfĂŒgbar.Wayland 1.24 ist verfĂŒgbar.


Quelle: opennet.ru
60GB SSD 8Gb DDR4