Wayland-Protocols 1.46-Veröffentlichung

Das Paket wayland-protocols 1.46 wurde veröffentlicht und enthält eine Reihe von Protokollen und Erweiterungen, die das Basisprotokoll Wayland ergänzen und die für den Aufbau zusammengesetzter Server und Benutzerumgebungen erforderlichen Funktionen bereitstellen.

In der neuen Version:

  • Es wurde ein experimentelles Protokoll, xx-input-method, hinzugefügt, das es Anwendungen ermöglicht, Texteingabemethoden für zusammengesetzte Server zu implementieren und Eingabetext zu generieren, der beispielsweise zur Erstellung virtueller Tastaturen und IME-Schichten (Input Method Editor) für die Eingabeverarbeitung verwendet werden kann.
  • Das experimentelle xx-Text-Input-Protokoll wurde hinzugefügt, wodurch Composite-Server Eingabemethoden implementieren und Text an Anwendungen senden können. Das Protokoll standardisiert die Interaktionen zwischen dem Composite-Server und den Anwendungen und ermöglicht die Steuerung von Funktionen wie der Übertragung von Eingabetext, der Behandlung von Fokusereignissen und der Berücksichtigung von Eingabefeldspezifika (Sprache, Textauswahl, Inhaltstyp).
  • Die Protokolle color-management-v1 und color-representation-v1 wurden verbessert und bieten nun Funktionen für das Farbmanagement, die HDR-Unterstützung und die Definition der Farbdarstellung einer Wayland-Oberfläche.

Alle Protokolle durchlaufen nacheinander Entwicklungs-, Test- und Stabilisierungsphasen. Nach Abschluss der Entwicklungsphase (Kategorie „instabil“) wird das Protokoll in den Zweig „Staging“ gestellt und offiziell in den Wayland-Protokollsatz aufgenommen. Nach Abschluss der Tests wird es in die Kategorie „stabil“ verschoben. Protokolle aus der Kategorie „Staging“ können bereits in Verbundservern und Clients verwendet werden, bei denen entsprechende Funktionalität erforderlich ist. Anders als in der Kategorie „instabil“ ist es im „Staging“ verboten, Änderungen vorzunehmen, die gegen die Kompatibilität verstoßen. Wenn jedoch beim Testen Probleme und Mängel festgestellt werden, ist ein Ersatz durch eine neue signifikante Version des Protokolls oder eine andere Wayland-Erweiterung nicht ausgeschlossen.

Um die Bereitstellung von Protokollen für Entwickler zu beschleunigen und eine frühzeitige Implementierung von Protokollen in bestehende Projekte zu fördern, wurde beginnend mit der vorherigen Version eine „experimentelle“ Phase hinzugefügt, die Änderungen ermöglicht, die die Kompatibilität beeinträchtigen, und das Hinzufügen von „rohen“ Protokollen, die schrittweise auf das richtige Niveau gebracht werden können. Während für ein Protokoll die Bildung eines Supportteams und das Erhalten einer bestimmten Anzahl von Bestätigungen (ACKs) von Gutachtern erforderlich ist, um in die Staging-Phase einzutreten, müssen für den Eintritt in die experimentelle Phase während der zweiwöchigen Überprüfungsphase nur keine Einwände (NACKs) vorliegen.

Die Wayland-Protokollsuite umfasst derzeit die folgenden stabilen Protokolle, die abwärtskompatibel sind:

  • „Viewporter“ – ermöglicht dem Client die Durchführung von Skalierungs- und Oberflächenkantentrimmaktionen auf der Serverseite.
  • „presentation-time“ – stellt Videoanzeige bereit.
  • „xdg-shell“ ist eine Schnittstelle zum Erstellen von und Interagieren mit Oberflächen als Fenster, die es Ihnen ermöglicht, diese auf dem Bildschirm zu verschieben, zu reduzieren, zu erweitern, ihre Größe zu ändern usw.
  • „linux-dmabuf“ – bietet Funktionen zum Erstellen von wl_buffers basierend auf DMA-BUF.
  • „Tablet“ – Organisation der Eingabe von Grafiktabletts.

Im „Staging“-Zweig getestete Protokolle:

  • drm-lease – stellt die notwendigen Ressourcen bereit, um bei der Ausgabe an Virtual-Reality-Headsets ein Stereobild mit unterschiedlichen Puffern für das linke und rechte Auge zu erzeugen.
  • „ext-session-lock“ – definiert eine Möglichkeit zum Sperren einer Sitzung, beispielsweise während der Bildschirmschoner läuft oder der Authentifizierungsdialog angezeigt wird.
  • „single-pixel-buffer“ – ermöglicht die Erstellung von Einzelpixelpuffern, die vier 32-Bit-RGBA-Werte enthalten.
  • „xdg-activation“ – ermöglicht es Ihnen, den Fokus zwischen verschiedenen Oberflächen der ersten Ebene zu übertragen (mit xdg-activation kann beispielsweise eine Anwendung den Fokus auf eine andere wechseln).
  • Inhaltstyp – Ermöglicht Clients die Weitergabe von Informationen über den angezeigten Inhalt an den Verbundserver, die zur Optimierung des inhaltsbezogenen Verhaltens verwendet werden können, z. B. durch das Festlegen bestimmter DRM-Eigenschaften wie „Inhaltstyp“. Folgende Inhaltstypen werden unterstützt: Keine (keine Angaben zum Datentyp), Foto (Ausgabe digitaler Fotos, erfordert minimale Bearbeitung), Video (Video oder Animation, genauere Synchronisierung ist erforderlich, um Ruckler zu vermeiden) und Spiel (Starten). Spiele, Ausgabe ab minimaler Verzögerung).
  • ext-idle-notify – Ermöglicht Verbundservern das Senden von Benachrichtigungen an Clients über Benutzerinaktivität, die zum Aktivieren zusätzlicher Energiesparmodi nach einer bestimmten Zeit der Inaktivität verwendet werden können.
  • Tearing-Control – Ermöglicht die Deaktivierung der vertikalen Synchronisierung (VSync) mit einem vertikalen Dämpfungsimpuls in Vollbildanwendungen, die zum Schutz vor Tearing in der Ausgabe verwendet wird. Bei Multimedia-Anwendungen stellen Tearing-Artefakte einen unerwünschten Effekt dar, bei Gaming-Programmen können Artefakte jedoch toleriert werden, wenn der Umgang mit ihnen zu zusätzlichen Verzögerungen führt.
  • ext-foreign-toplevel-list – Ruft Informationen über auf der obersten Ebene platzierte Oberflächen ab, die es Ihnen ermöglichen, Fenster so zu organisieren, dass sie an anderen Inhalten andocken, um beispielsweise Ihre eigenen Bedienfelder und Fensterschalter anzubringen.
  • Sicherheitskontext – ermöglicht die Identifizierung von Clients mithilfe der Sandbox-Isolation. Ein Client kann eine neue Verbindung zu einem Wayland-basierten Verbundserver registrieren und diesem einen Sicherheitskontext hinzufügen. Anschließend schränkt der Verbundmanager die für die hergestellte Verbindung verfügbaren Funktionen basierend auf dem angegebenen Sicherheitskontext ein.
  • Cursorform ist eine alternative Möglichkeit, das Erscheinungsbild des Cursors anzupassen, indem eine Reihe von Cursorbildern übergeben werden, anstatt an einer Oberfläche (wl_surface) einzurasten.
  • „ext-transient-seat“ dient der Erstellung temporärer, unabhängiger Sitzungen (Sitze) zur Verwendung mit virtuellen Eingabegeräten. Beispielsweise bei der Implementierung der Verbindungsmöglichkeit zu Remote-Desktop Das Protokoll ermöglicht die Einrichtung einer separaten Sitzung mit virtueller Tastatur und Maus für jeden Benutzer.
  • „xdg-toplevel-drag“ – erweitert den „Drag & Drop“-Mechanismus um die Möglichkeit, Fenster der obersten Ebene an einen Drag-Vorgang anzuhängen, der beispielsweise zum Organisieren des Ziehens von Symbolleisten oder Browser-Tabs mit der Maus verwendet werden kann. Mit dem neuen Protokoll können Sie abnehmbare Teile eines Fensters erstellen, die beim Ziehen aus diesem Fenster zu neuen Fenstern werden und über das vorhandene Fenster verschoben werden können, bevor sie wieder angefügt werden.
  • „xdg-dialog“ – ermöglicht Ihnen die Zuweisung von dialogspezifischen Attributen zu Oberflächen der obersten Ebene. Sie können beispielsweise modale Dialoge erstellen, die die Benutzerinteraktion mit dem Rest der Benutzeroberfläche blockieren.
  • „linux-drm-syncobj“ – bietet Tools für die explizite Puffersynchronisierung mithilfe von DRM-Synchronisierungsobjekten (Direct Rendering Manager). Es wird davon ausgegangen, dass das vorgeschlagene Protokoll im Kontext der Synchronisierung beim Rendern in einen Puffer die Arbeit mit Treibern verbessert, die auf den Grafik-APIs von Vulkan und OpenGL basieren (die Implementierung basiert auf Handlern in den Treibern). Das neue Protokoll ermöglicht es sicherzustellen, dass ein Zeichenvorgang in einen Puffer abgeschlossen ist, bevor der Compositing-Manager diesen Puffer anzeigt.
  • Alpha-Modifikator, der es Clients ermöglicht, den Grad der Transparenz der Oberfläche zu ändern und Vorgänge zur Gewährleistung der Transparenz auf die Seite des Verbundservers zu übertragen, der diese Vorgänge wiederum an KMS umleiten kann.
  • xdg-toplevel-icon – bindet das Symbol an das Fenster der obersten Ebene.
  • ext-image-capture-source und ext-image-copy-capture – Organisation der Erfassung des auf dem Bildschirm angezeigten Inhalts.
  • xdg-system-bell – ermöglicht die Ausgabe eines Systemsignals, das beispielsweise als Warnung in einem Terminalemulator verwendet werden kann. Die Form der Signalausgabe liegt im Ermessen des Composite-Managers; es kann nicht nur eine akustische, sondern auch eine visuelle Reaktion sein.
  • fifo – implementiert einen FIFO-Mechanismus (First In, First Out) zur Verarbeitung der Inhaltsaktualisierungswarteschlange der angezeigten Oberfläche. Auf der praktischen Seite ermöglicht das Protokoll, dass bei der Ausgabe auf den Abschluss des vertikalen Scans (vblank) gewartet wird, anstatt jedes Mal Rückrufaufrufe zu verwenden, wenn ein neuer Frame angezeigt werden soll. Dadurch wird das Problem der hohen GPU-Last bei Verwendung von VSync gelöst.
  • commit-timing – ermöglicht es Ihnen, ein Zeitlimit an den Oberflächeninhalt zu binden (der Verbundserver sollte die Inhaltsänderung nach Möglichkeit nach der angegebenen Zeit widerspiegeln, jedoch nicht früher).
  • ext-data-control – Ermöglicht privilegierten Clients die Steuerung der Datenverarbeitung, beispielsweise um Zwischenablage-Manager zu implementieren.
  • ext-workspace — implementiert das Konzept virtuelle Desktops Es bietet außerdem Informationen zum Status von Desktops sowie die Möglichkeit, Desktops zu aktivieren und zu deaktivieren. Das Protokoll kann verwendet werden, um Dashboards und Indikatoren zu erstellen, die eine Liste der verfügbaren virtuellen Desktops anzeigen und das Umschalten zwischen ihnen ermöglichen.
  • Farbmanagement – ​​bietet Funktionen für das Farbmanagement und Unterstützung für einen erweiterten dynamischen Helligkeitsbereich (HDR, High Dynamic Range). Mit der hinzugefügten Erweiterung können Clientanwendungen Informationen zu den farbbezogenen Eigenschaften von Ausgabegeräten abrufen und Daten zu den farbbezogenen Eigenschaften ihrer eigenen Inhalte an den Composite-Server weitergeben. In einem Composite-Server können diese Informationen verwendet werden, um die Farbe bei der Anzeige von Inhalten auf verschiedenen Ausgabegeräten automatisch zu verwalten, beispielsweise um Inhalte in eine für die Anzeige auf HDR-Monitoren geeignete Präsentation zu konvertieren. Zur Beschreibung von Farbräumen werden ICC-Profile verwendet.
  • xdg-toplevel-tag – Ermöglicht Wayland-Clients, Tags an Oberflächen der obersten Ebene anzuhängen, die der Compositing-Server verwenden kann, um Fenster nach dem Neustart der Anwendung zu identifizieren (beispielsweise könnte eine Anwendung die Tags „Hauptfenster“ und „Einstellungen“ für das Hauptfenster und das Einstellungsfenster festlegen). Eine solche Identifizierung ist nützlich, um die Position, Größe und Eigenschaften von Fenstern nach einem Neustart wiederherzustellen und um spezielle Regeln für einzelne Fenstertypen zu definieren.
  • Farbdarstellung – definiert die Farbdarstellung der Wayland-Oberfläche. Wayland-Clients können Metadaten übergeben, die zur Definition von Transparenz, Farbmodell, Unterabtastung und Quantisierungsbereich erforderlich sind und bei der Konvertierung eines Puffers mit Daten, die dem YCbCr-Farbmodell entsprechen, in eine RGB-Darstellung verwendet werden.
  • ext-background-effect – wendet Effekte auf halbtransparente Teile einer Wayland-Oberfläche an, wie z. B. Hintergrundunschärfe.
  • Zeiger-Warp – Ermöglicht einer Anwendung, den Zeiger sofort an eine angegebene Position zu bewegen.

Im experimentellen Zweig werden folgende Protokolle entwickelt:

  • xx-session-management – ​​stellt den Windows-Status für unterbrochene Sitzungen wieder her (z. B. nach einem Absturz des Composite Managers).

Protokolle, die im „instabilen“ Zweig entwickelt werden:

  • „fullscreen-shell“ – Kontrolle der Arbeit im Vollbildmodus.
  • „Eingabemethode“ – Eingabemethoden verarbeiten.
  • „idle-inhibit“ – Blockieren des Starts des Bildschirmschoners (Bildschirmschoner).
  • „input-timestamps“ – Zeitstempel für Eingabeereignisse.
  • „keyboard-shortcuts-inhibit“ – steuert das Anhängen von Tastaturkürzeln und Hotkeys.
  • "linux-explicit-synchronization" ist spezifisch für Linux Mechanismus zur Synchronisierung von Puffern in Bezug auf die Oberfläche.
  • „Zeigergesten“ – Steuerung über Touchscreens.
  • „Zeigerbeschränkungen“ – Zeigerbeschränkungen (Blockierung).
  • „Primärauswahl“ – stellt analog zu X11 den Betrieb der primären Zwischenablage (Primärauswahl) sicher, aus der Informationen normalerweise mit der mittleren Maustaste eingefügt werden.
  • „relative Zeigerereignisse“ – relative Zeigerereignisse.
  • „text-input“ – Organisation der Texteingabe.
  • „xdg-foreign“ ist eine Schnittstelle zur Interaktion mit den Oberflächen des „benachbarten“ Clients.
  • „xdg-decoration“ – Rendern von Fensterdekorationen auf der Serverseite.
  • „xdg-output“ – zusätzliche Informationen zur Videoausgabe (wird für die fraktionale Skalierung verwendet).
  • „xwayland-keyboard-grab“ – Eingaben in XWayland-Anwendungen erfassen.

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster