Veröffentlichung der Wayland-Protokolle 1.34

Nach einem halben Jahr Entwicklung wurde das Release des Pakets wayland-protocols 1.34 veröffentlicht, das eine Sammlung von Protokollen und Erweiterungen enthält, die die Funktionen des Basisprotokolls Wayland erweitern und die erforderlichen Möglichkeiten für den Aufbau von Kompositservern und Benutzerumgebungen bieten.

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 wurden mehrere neue Protokolle in die Kategorie „staging“ eingestuft:

  • „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.

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).

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.

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.
  • «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

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster