Die Ausgabe des Pakets wayland-protocols 1.31 wurde veröffentlicht, das eine Reihe von Protokollen und Erweiterungen enthĂ€lt, die die Funktionen des grundlegenden Wayland-Protokolls ergĂ€nzen und die notwendigen Möglichkeiten fĂŒr den Aufbau von Kompositservern 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.
Die neue Version wurde eine Woche nach der Veröffentlichung von Wayland-Protocols 1.30 veröffentlicht, in der die UnterstĂŒtzung des Protokolls tearing-control 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 Komposit-Manager nicht ganze Skalierungswerte fĂŒr 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 Skalierungsinformationen. Implementierungen des fractional-scale-Protokolls wurden fĂŒr wlroots, KWin und glfw vorbereitet.
Derzeit umfasst das Paket wayland-protocols die folgenden stabilen Protokolle, die AbwÀrtskompatibilitÀt bieten:
- viewporter â ermöglicht es dem Client, Skalierungs- und Zuschneideaktionen an den Kanten der OberflĂ€che auf der Client-Seite durchzufĂŒhren. Server.
- 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.
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.
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-dmabuf» â ermöglicht die gemeinsame Nutzung mehrerer Grafikkarten ĂŒber die DMA-Buf-Technologie.
- «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.
- «tablet» â UnterstĂŒtzung fĂŒr die Eingabe von Tablets.
- «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
