Nach mehr als einem Jahr Entwicklungszeit wird eine stabile Version des Protokolls, des Interprozess-Kommunikationsmechanismus und der Wayland 1.23-Bibliotheken vorgestellt. Der 1.23-Zweig ist auf API- und ABI-Ebene abwärtskompatibel mit den 1.x-Versionen und enthält hauptsächlich Fehlerbehebungen und kleinere Protokollaktualisierungen. Die Entwicklungen des Projekts werden unter der MIT-Lizenz vertrieben. Der Weston Composite Reference Server, der Code und Arbeitsbeispiele für die Verwendung von Wayland in Desktop- und eingebetteten Umgebungen bereitstellt, wird als separater Entwicklungszyklus entwickelt.
Wesentliche Änderungen im Protokoll:
- libwayland implementiert eine API, die es dem Client ermöglicht, die maximale Größe des internen Verbindungspuffers auf der Serverseite zu bestimmen. Die maximale Basispuffergröße wird über die wl_display-Schnittstelle festgelegt und die neue API ermöglicht es Clients, sie für jede Client-Verbindung zu ändern. Auf der praktischen Seite ermöglicht die Änderung die Verwendung größerer Puffer in Wayland-spezifischen Clients wie Xwayland, die sich durch eine höhere Intensität von Eingabeereignissen auszeichnen.
- Für Anfragen, Ereignisse und Aufzählungen kann nun das XML-Attribut „deprecated-since“ verwendet werden, um veraltete Elemente zu kennzeichnen. In der Wayland-Terminologie sind Anfragen Nachrichten, die vom Client an den Server gesendet werden. ServerEreignisse sind Nachrichten, die vom Server an den Client gesendet werden; Aufzählungen sind benannte Mengen numerischer Werte, die vom Protokoll verarbeitet werden.
- Dem Dienstprogramm wayland-scanner wurde der Modus „enum-header“ hinzugefügt, der darauf ausgelegt ist, Header-Dateien und Code in der C-Sprache basierend auf XML-Dateien zu generieren, die das Protokoll beschreiben. Dazu gehört auch die Angabe nur von „Enumerationen“ in Header-Dateien.
- Der Wayland-Scanner bietet die Generierung von Verifizierungsfunktionen (Validator) für „Aufzählungen“ auf der Serverseite.
- Es wurde die Möglichkeit hinzugefügt, Ereigniswarteschlangen Namen zuzuweisen, um das Debuggen zu vereinfachen.
- Die Funktionen wl_client_get_user_data() und wl_client_set_user_data() wurden hinzugefügt, um das Anhängen beliebiger Daten an den Client zu erleichtern.
- Es wurde eine wl_shm.release-Anfrage hinzugefügt, um dem Client zu ermöglichen, den Server darüber zu informieren, die Verwendung eines gemeinsam genutzten Objekts einzustellen, sodass der Server den damit verbundenen Speicher freigeben kann.
- Unterstützung für die OpenBSD-Plattform hinzugefügt.
Wayland-bezogene Ereignisse, die seit der Veröffentlichung der letzten Ausgabe aufgetreten sind:
- XWayland 24.1.0 wurde mit Unterstützung für die Explicit-Sync-Technologie und verbesserter Unterstützung für GLAMOUR- und EXA-2D-Beschleunigungsarchitekturen veröffentlicht.
- Aktualisierung des Verbundservers labwc (Lab Wayland Compositor) mit Funktionen, die an den Openbox-Fenstermanager erinnern.
- Das WPRS-Projekt entwickelt einen Sitzungsmanager für Wayland, ähnlich dem Screen-Dienstprogramm, jedoch für grafische Anwendungen.
- Veröffentlichung eines zusammengesetzten Niri-Servers mit Wayland und Bereitstellung einer Kachel-Layout-Methode, die Fenster in einem endlos scrollenden Menüband auf dem Bildschirm gruppiert.
- Aktualisierung der Wayland-Protocols-Reihe von Protokollen und Erweiterungen: 1.34, 1.33, 1.32, 1.35.
- Entwicklung einer SDL3-Bibliothek, die standardmäßig Wayland verwendet.
- Veröffentlichung der LXQt 2.0.0-Desktop-Umgebung mit Wayland-Unterstützung im PCManFM-Qt-Dateimanager, Benachrichtigungssystem, Desktop, Runner, Panel, Abmeldeschnittstelle, LXQt-Konfigurationsschnittstelle und den meisten Anwendungen.
- Veröffentlichung der Sway 1.9-Benutzerumgebung mit Wayland.
- Neuer Composite-Manager Mirage-WM, basierend auf Wayland und Komponenten zum Aufbau von Mir-Composite-Managern.
- Louvre ist eine neue Bibliothek zur Entwicklung von Verbundwerkstoffen. Server basiert auf Wayland.
- Arbeite an der Implementierung der Wayland-Unterstützung in Xfce.
- Erste Unterstützung für Wayland in der Budgie-Desktop-Umgebung.
- Erste Unterstützung für Wayland in der Cinnamon-Desktop-Umgebung.
- Die Portierung des MATE-Desktops auf Wayland ist fast abgeschlossen.
- Die Lubuntu-Distribution wechselt zu Qt 6 und Wayland.
- KDE 6 bietet eine Standardsitzung, die das Wayland-Protokoll verwendet. Unterstützung für Wayland-Erweiterungen für das Farbmanagement implementiert.
- Der Fensterdekorationsmodus für Wayland ist auf der Electron-Plattform aktiviert.
- Update des Wayfire-Composite-Servers, der Wayland nutzt und es Ihnen ermöglicht, Benutzeroberflächen mit 3D-Effekten im Stil von 3D-Plugins für Compiz zu erstellen.
- Wayland-Unterstützung in IntelliJ- und OpenJDK-IDEs.
- Wayland-Unterstützung im GNU Emacs-Texteditor.
- Die Wayland-basierte Sitzung von GNOME unterstützt den KVM-Switch der Input Leap-Software, der es Ihnen ermöglicht, mehrere Computer mit einer einzigen Tastatur und Maus zu steuern.
- Die KDE-Desktop-Edition von Fedora unterstützt in der Basisdistribution keine X11-basierten Sitzungen mehr.
- Verbesserte Unterstützung für Wayland-basierte Umgebungen in proprietären NVIDIA-Treibern.
- Es wurde ein Treiber implementiert, der es Ihnen ermöglicht, Wine in Umgebungen zu verwenden, die auf dem Wayland-Protokoll basieren, ohne XWayland- und X11-Komponenten zu verwenden.
- Der Verbundserver Weston 13.0 wurde veröffentlicht.
- Um den Betrieb von KDE, GNOME, Enlightenment, Wayfire, Mir, Xfce und Sway zusätzlich zu Wayland zu testen, wird eine spezielle Rebecca Black Linux Live-Distribution veröffentlicht.
- Linux-Builds von Firefox sind standardmäßig für die Verwendung des Wayland-Verbundservers anstelle von XWayland aktiviert. Es ist nur in Wayland möglich, Baugruppen zu erstellen, die die Arbeit unterstützen.
Erinnern wir uns daran, dass Wayland ein Protokoll für die Interaktion zwischen einem Verbundserver und damit arbeitenden Anwendungen ist. Clients rendern ihre eigenen Fenster in einem separaten Puffer und übermitteln Aktualisierungen an den Verbundserver, der die Inhalte einzelner Anwendungspuffer kombiniert, um eine endgültige Ausgabe zu erzeugen, die mögliche Nuancen wie Fensterüberlappung und Transparenz berücksichtigt. Mit anderen Worten: Der Verbundserver stellt keine API zum Rendern einzelner Elemente bereit, sondern arbeitet nur mit bereits gebildeten Fenstern, wodurch Sie die doppelte Pufferung vermeiden können, wenn Sie High-Level-Bibliotheken wie GTK und Qt verwenden, die das übernehmen Arbeit, den Inhalt von Fenstern zusammenzustellen.
Wayland löst viele der Sicherheitsprobleme von Derzeit ist die Unterstützung für die direkte Arbeit mit Wayland bereits für die Bibliotheken GTK, Qt, SDL (ab Release 11), Clutter und EFL (Enlightenment Foundation Library) implementiert. Ab Qt 2.0.2 ist das QtWayland-Modul in der Implementierung von Komponenten zum Ausführen von Qt-Anwendungen in der Umgebung des vom Wayland-Projekt entwickelten Weston-Verbundservers enthalten.
Die Interaktion mit Wayland/Weston-Hardware, wie Initialisierung, DRM-Moduseinstellung und Speicherverwaltung (GEM für i915 und TTM für Radeon und Nouveau) von Grafikkarten, kann direkt über ein Modul erfolgen, das auf Kernel-Ebene ausgeführt wird, sodass auf Superuser-Rechte verzichtet werden kann . Der Verbundserver von Weston kann nicht nur mit dem Linux-Kernel-DRM ausgeführt werden, sondern auch auf X11, einem anderen Verbundserver von Wayland, Framebuffer und RDP. Darüber hinaus werden Projekte entwickelt, um Arbeiten auf dem Grafikstapel der Android-Plattform bereitzustellen.
Im Rahmen des Weston-Projekts wird eine der Implementierungen des Verbundservers entwickelt. Jedes andere Produkt, das das Wayland-Protokoll unterstützt, kann ebenfalls als Verbundserver fungieren. Derzeit wird beispielsweise daran gearbeitet, Wayland-Unterstützung in KWin bereitzustellen. In seiner aktuellen Form ist Weston bereits über eine Reihe von Beispielen zum Testen des Wayland-Protokolls hinausgegangen und kann Funktionalität durch Plugins und Ergänzungen erwerben. Es wird vorgeschlagen, benutzerdefinierte Shells und erweiterte Fensterverwaltungsfunktionen in Form externer Backends für Weston zu implementieren. Um die Ausführung gewöhnlicher X11-Anwendungen in einer Wayland-basierten Umgebung sicherzustellen, wird die DDX-Komponente XWayland (Device-Dependent


Source: opennet.ru
