Die Veröffentlichung des Wayland-Protokolle-Pakets 1.31 wurde bekannt gegeben, das eine Reihe von Protokollen und Erweiterungen enthĂ€lt, die die FunktionalitĂ€t des Basisprotokolls Wayland erweitern und die notwendigen Möglichkeiten fĂŒr den Aufbau von Kompositionsservern und Benutzerumgebungen bereitstellen.
Alle Protokolle durchlaufen drei Phasen - Entwicklung, Test und Stabilisierung. Nach Abschluss der Entwicklungsphase (Kategorie âunstableâ) wird das Protokoll in den Branch âstagingâ verschoben und offiziell in das Paket wayland-protocols aufgenommen. Nach Abschluss der Tests wird es in die Kategorie stabiler Protokolle verschoben. Protokolle aus der Kategorie âstagingâ können bereits in Komposition-Servern und Clients verwendet werden, in denen die damit verbundenen Funktionen benötigt werden. Im Gegensatz zur Kategorie âunstableâ ist in âstagingâ die EinfĂŒhrung von Ănderungen, die die KompatibilitĂ€t brechen, untersagt, aber wenn wĂ€hrend der Tests Probleme und MĂ€ngel auftreten, kann ein neues signifikantes Protokoll oder eine andere Wayland-Erweiterung ersetzt werden.
Die neue Version wurde eine Woche nach der Veröffentlichung von Wayland-Protokolle 1.30 veröffentlicht, in der die UnterstĂŒtzung des Tearing-Control-Protokolls zur Deaktivierung der vertikalen Synchronisation hinzugefĂŒgt wurde. In Version 1.31 wurde das Protokoll Fractional-Scale in die Kategorie âStagingâ aufgenommen, mit dem der Kompositionsmanager nicht-ganzzahlige Werte fĂŒr die Skalierung von OberflĂ€chen ĂŒbermitteln kann, was es dem Client ermöglicht, genauere PuffergröĂen fĂŒr wp_viewport-Objekte zu bestimmen, im Vergleich zur Ăbermittlung gerundeter MaĂinformationen. Implementierungen des Fractional-Scale-Protokolls sind fĂŒr wlroots, KWin und glfw vorbereitet.
Derzeit umfassen die wayland-protocols die folgenden stabilen Protokolle, die abwÀrtskompatibel sind:
- viewporterâ â ermöglicht es dem Client, die AktivitĂ€ten zur Skalierung und zum Zuschneiden der OberflĂ€che auf der Seite durchzufĂŒhren. Server.
- âpresentation-timeâ - sorgt fĂŒr die Wiedergabe von Videos.
- âxdg-shellâ - Schnittstelle zur Erstellung und Interaktion mit OberflĂ€chen wie Fenstern, die es ermöglicht, sie auf dem Bildschirm zu verschieben, zu minimieren, zu maximieren, die GröĂe zu Ă€ndern usw.
Protokolle, die im Branch âstagingâ getestet werden:
- drm-lease â bietet die benötigten Ressourcen zur Erstellung eines stereoskopischen Bildes mit unterschiedlichen Puffern fĂŒr das linke und das rechte Auge bei der Ausgabe auf Virtual-Reality-Headsets.
- «ext-session-lock» â definiert Mittel zur Sperrung einer Sitzung, beispielsweise 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 primĂ€ren OberflĂ€chen (zum Beispiel kann eine Anwendung den Fokus auf eine andere ĂŒbertragen).
- content-type â ermöglicht es Clients, Informationen ĂŒber den angezeigten Inhalt zu ĂŒbermitteln, die zur Optimierung des Verhaltens in Bezug auf den Inhalt verwendet werden können, beispielsweise zur Festlegung spezifischer DRM-Eigenschaften wie «content type». UnterstĂŒtzt werden folgende Inhaltstypen: none (keine Informationen ĂŒber den Datentyp), photo (Ausgabe digitaler Fotos, die minimale Verarbeitung erfordert), video (Video oder Animation, die eine genauere Synchronisation erfordert, um Ruckler zu vermeiden) und game (Start von Spielen, die eine Ausgabe mit minimaler Verzögerung erfordern). zu einem Server ext-idle-notify â ermöglicht es Kompositservern, den Clients Benachrichtigungen ĂŒber die InaktivitĂ€t des Benutzers zu ĂŒbermitteln, was zur Aktivierung zusĂ€tzlicher Energiesparmodi nach einer bestimmten InaktivitĂ€tszeit verwendet werden kann.
- tearing-control â ermöglicht die Deaktivierung der vertikalen Synchronisation (VSync) mit vertikalen RĂŒcklaufimpulsen in Fullscreen-Anwendungen, die zum Schutz vor Tearing bei der Ausgabe verwendet wird. In Multimedia-Anwendungen sind Artefakte durch Tearing ein unerwĂŒnschter Effekt, wĂ€hrend in Spielanwendungen mit Artefakten hinzunehmen ist, wenn die BekĂ€mpfung zu zusĂ€tzlichen Verzögerungen fĂŒhrt.
- ext-foreign-toplevel-list â ermöglicht den Zugriff auf Informationen ĂŒber OberflĂ€chen, die auf der obersten Ebene (toplevel) platziert sind und die das Anheften von Fenstern ĂŒber anderen Inhalten ermöglichen, beispielsweise zur Anbindung eigener Panels und Fensterschalter.
Protokolle, die im âunstableâ-Zweig entwickelt werden:
- âfullscreen-shellâ â Steuerung des Vollbildmodus.
- âinput-methodâ â Verarbeitung von Eingabemethoden.
- «idle-inhibit» â Verhinderung des Starts des Bildschirmschoners.
- «input-timestamps» â Zeitstempel fĂŒr Eingabeereignisse.
- «keyboard-shortcuts-inhibit» â Verwaltung der Anheftung von Tastenkombinationen und Hotkeys.
- âlinux-dmabufâ â die gemeinsame Nutzung mehrerer Grafikkarten mithilfe der dma-buf-Technologie.
- «linux-explicit-synchronization» â Linux-spezifischer Mechanismus zur Synchronisierung von Puffern in Bezug auf OberflĂ€chen.
- «pointer-gestures» â Verwaltung von Touchscreen-Eingaben.
- «pointer constraints» â EinschrĂ€nkungen fĂŒr Zeiger (Sperre).
- «primary-selection» â GewĂ€hrleistet analog zu X11 die FunktionalitĂ€t des primĂ€ren Clipboards (primary selection), dessen Informationen gewöhnlich mit der mittleren Maustaste eingefĂŒgt werden.
- «relative pointer events» â relative Zeigereignisse.
- âtabletâ â UnterstĂŒtzung der Eingabe ĂŒber Tablets.
- «text-input» â Organisation der Texteingabe.
- «xdg-foreign» â Schnittstelle zur Interaktion mit OberflĂ€chen eines 'benachbarten' Clients.
- «xdg-decoration» â Zeichnung von Fensterdekorationen auf der Serverseite.
- «xdg-output» â zusĂ€tzliche Informationen ĂŒber die Videoausgabe (verwendet fĂŒr fractional scaling).
- «xwayland-keyboard-grab» â Erfassen von Eingaben in XWayland-Anwendungen.
Quelle: opennet.ru
