Die Veröffentlichung des Pakets wayland-protocols 1.36 wurde bekannt gegeben, welches eine Sammlung von Protokollen und Erweiterungen enthĂ€lt, die die Möglichkeiten des Basisprotokolls Wayland ergĂ€nzen und die erforderlichen Funktionen fĂŒr den Aufbau von Compositing-Servern und Benutzerumgebungen bereitstellen.
Alle Protokolle durchlaufen drei Phasen: Entwicklung, Testung und Stabilisierung. Nach Abschluss der Entwicklungsphase (Kategorie âunstableâ) wird das Protokoll in den Branch âstagingâ ĂŒberfĂŒhrt und offiziell Teil des Pakets wayland-protocols. Nach der Testphase wird es in die stabile Kategorie verschoben. Protokolle aus der Kategorie âstagingâ können bereits in Compositing-Servern und -Clients verwendet werden, wo die zugehörigen Funktionen erforderlich sind. Im Gegensatz zur Kategorie âunstableâ sind in âstagingâ Ănderungen, die die KompatibilitĂ€t beeintrĂ€chtigen, nicht erlaubt. Wenn jedoch wĂ€hrend der Testphase Probleme oder MĂ€ngel entdeckt werden, kann es auch zu einer signifikanten Versionsersetzung des Protokolls oder zu einer anderen Wayland-Erweiterung kommen.
In der neuen Version:
- Das Protokoll xdg-toplevel-icon wurde zur Kategorie âstagingâ hinzugefĂŒgt, das dazu dient, ein Icon an ein obiges Fenster zu binden.
- Die Protokolle ext-image-capture-source und ext-image-copy-capture wurden zur Kategorie âstagingâ hinzugefĂŒgt, um die Erfassung der auf dem Bildschirm ausgegebenen Inhalte zu ermöglichen.
Derzeit umfasst das Paket wayland-protocols die folgenden stabilen Protokolle, die AbwÀrtskompatibilitÀt bieten:
- âviewporterâ â ermöglicht es dem Client, auf der Serverseite Aktionen zur Skalierung und zum Beschneiden der Kanten der OberflĂ€che durchzufĂŒhren.
- presentation-time â gewĂ€hrleistet die Anzeige von Video.
- «xdg-shell» â eine Schnittstelle zur Erstellung und Interaktion mit OberflĂ€chen wie Fenstern, die es ermöglicht, sie auf dem Bildschirm zu bewegen, zu minimieren, zu maximieren, die GröĂe zu Ă€ndern usw.
- âlinux-dmabufâ â ermöglicht die gemeinsame Nutzung mehrerer Grafikkarten durch die DMA-BUF-Technologie (ermöglicht die Erstellung eines wl_buffer auf Basis von DMA-BUF).
- "tablet" â Organisation der Eingabe von Grafiktabels.
Protokolle, die im »staging«-Branch getestet werden:
- drm-lease â stellt die Ressourcen bereit, die erforderlich sind, um ein stereoskopisches Bild mit unterschiedlichen Puffern fĂŒr das linke und rechte Auge bei der Ausgabe an Virtual-Reality-Headsets zu erzeugen.
- «ext-session-lock» â definiert die Mittel zur Sperrung der Sitzung, z. B. wĂ€hrend der AktivitĂ€t des Bildschirmschoners oder der Anzeige eines Authentifizierungsdialogs.
- «single-pixel-buffer» â ermöglicht die Erstellung von Ein-Pixel-Puffern, die vier 32-Bit RGBA-Werte enthalten.
- «xdg-activation» â ermöglicht die Ăbertragung des Fokus zwischen verschiedenen obersten OberflĂ€chen (z. B. kann eine Anwendung ĂŒber xdg-activation den Fokus auf eine andere verschieben).
- content-type â ermöglicht es Clients, Daten an den Compositor zu ĂŒbermitteln. Server Informationen zum angezeigten Inhalt, die zur Optimierung des Verhaltens in Bezug auf Inhalte verwendet werden können, wie zum Beispiel die Festlegung spezifischer DRM-Eigenschaften, wie z. B. 'Content Type'. UnterstĂŒtzt werden die folgenden Inhaltstypen: none (keine Informationen ĂŒber den Datentyp), photo (Ausgabe digitaler Fotos, die minimale Verarbeitung erfordern), video (Video oder Animation, die eine genauere Synchronisation erfordert, um Ruckler zu vermeiden) und game (Start von Spielen, bei denen eine Ausgabe mit minimaler Verzögerung erforderlich ist).
- ext-idle-notify â ermöglicht es zusammengesetzten Servern, Benachrichtigungen ĂŒber die InaktivitĂ€t des Benutzers an Clients zu senden, die zur Aktivierung zusĂ€tzlicher Energiesparmodi nach einer bestimmten Zeit der InaktivitĂ€t verwendet werden können.
- tearing-control â ermöglicht das Deaktivieren der vertikalen Synchronisation (VSync) mit einem Frame-Rate-DĂ€mpfungsimpuls in Vollbildanwendungen, um das Auftreten von Tearing zu verhindern. In Multimedia-Anwendungen sind Artefakte durch Tearing unerwĂŒnscht, wĂ€hrend sie in Spieleprogrammen toleriert werden können, wenn deren BekĂ€mpfung zu zusĂ€tzlichen Verzögerungen fĂŒhrt.
- ext-foreign-toplevel-list â Abruf von Informationen ĂŒber OberflĂ€chen, die auf der obersten Ebene (toplevel) platziert sind und die es ermöglichen, Fenster ĂŒber anderem Inhalt zu fixieren, beispielsweise zur Anbindung eigener Panels und Fensterwechsel.
- security-context â ermöglicht die Identifizierung von Klienten, die Sandbox-Isolation verwenden. Der Klient kann eine neue Verbindung zum Kompositserver auf Basis von Wayland registrieren und einen Sicherheitskontext anfĂŒgen, woraufhin der Komposit-Manager die verfĂŒgbaren Möglichkeiten fĂŒr die etablierte Verbindung gemÀà dem angegebenen Sicherheitskontext einschrĂ€nkt.
- cursor-shape â eine alternative Möglichkeit zur Anpassung des Aussehens des Cursors, die auf der Ăbertragung einer Serie von Cursor-Bildern basiert, anstatt an eine OberflĂ€che (wl_surface) gebunden zu sein.
- «ext-transient-seat» â dient zur Erstellung temporĂ€rer unabhĂ€ngiger Sitzungen (seat), die fĂŒr die Verwendung mit virtuellen EingabegerĂ€ten ausgelegt sind. Zum Beispiel bei der Implementierung der Möglichkeit zur Verbindung mit einem Remote-Desktop Das Protokoll ermöglicht es, fĂŒr jeden Benutzer eine separate Sitzung mit einer virtuellen Tastatur und Maus zu erstellen.
- âxdg-toplevel-dragâ erweitert den Mechanismus âDrag & Dropâ um die Möglichkeit, Top-Level-Fenster an den Ziehvorgang zu koppeln, was beispielsweise verwendet werden kann, um das Ziehen von Werkzeugleisten oder Browser-Tabs zu organisieren. Das neue Protokoll erlaubt es, abtrennbare Teile eines Fensters zu erstellen, die beim Ziehen aus diesem Fenster neue Fenster werden und ĂŒber dem bestehenden Fenster verschoben werden können, bevor sie wieder angeheftet werden.
- âxdg-dialogâ ermöglicht es, Top-Level-OberflĂ€chen spezifische Merkmale fĂŒr Dialogfenster zuzuweisen, zum Beispiel können modale Dialoge erstellt werden, die die Interaktion des Benutzers mit dem restlichen Teil der BenutzeroberflĂ€che blockieren.
- «linux-drm-syncobj» â bietet Werkzeuge fĂŒr die explizite Synchronisierung von Buffern mithilfe von DRM-Synchronisationsobjekten (Direct Rendering Manager). Im Kontext der Synchronisation beim Rendern in einen Buffer wird erwartet, dass das vorgeschlagene Protokoll die Zusammenarbeit mit Treibern auf Basis der Grafik-APIs Vulkan und OpenGL verbessert (die Implementierung basiert auf Handlern in den Treibern). Das neue Protokoll ermöglicht es, sicherzustellen, dass der Rendering-Vorgang in den Buffer abgeschlossen ist, bevor der Composite-Manager diesen Buffer anzeigt.
- Der alpha-Modifikator ermöglicht es den Kunden, den Transparenzgrad der OberflÀche zu Àndern und Transparenzoperationen an den Composite-Server auszulagern, der diese Operationen wiederum an KMS weiterleiten kann.
Protokolle, die im »unstable«-Branch entwickelt werden:
- «fullscreen-shell» â Verwaltung der AktivitĂ€ten im Vollbildmodus.
- «input-method» â Verarbeitung von Eingabemethoden.
- «idle-inhibit» â Verhinderung des Starts des Bildschirmschoners.
- «input-timestamps» â Zeitstempel fĂŒr Eingabeereignisse.
- «keyboard-shortcuts-inhibit» â Verwaltung von Tastenkombinationen und Hotkeys.
- «linux-explicit-synchronization» â spezifischer Synchronisationsmechanismus fĂŒr Linux zur Buffersynchronisation in Bezug auf OberflĂ€chen.
- «pointer-gestures» â Steuerung ĂŒber Touchscreen.
- «pointer constraints» â EinschrĂ€nkungen fĂŒr Zeiger (Sperrung).
- «primary-selection» â Ă€hnlich wie in X11, ermöglicht den Betrieb des primĂ€ren Clipboard (primary selection), dessen Informationen normalerweise ĂŒber die mittlere Maustaste eingefĂŒgt werden.
- «relative pointer events» â relative Zeigerereignisse.
- «text-input» â Text Eingabeorganisation.
- «xdg-foreign» â Schnittstelle zur Interaktion mit oberflĂ€chen âbenachbarterâ Clients.
- «xdg-decoration» â Zeichnung der Fensterdekorationen auf der Serverseite.
- «xdg-output» â zusĂ€tzliche Informationen ĂŒber den Videoausgang (wird fĂŒr skalierte Darstellungen verwendet).
- «xwayland-keyboard-grab» â Eingabeverwaltung in XWayland-Anwendungen.
Quelle: opennet.ru
