Veröffentlichung von Wayland-Protocols 1.46

Die Veröffentlichung des Pakets wayland-protocols 1.46 wurde veröffentlicht, das eine Sammlung von Protokollen und Erweiterungen enthält, die das Grundprotokoll Wayland ergänzen und die notwendigen Funktionen für den Aufbau von Kompositionsservern und Benutzerumgebungen bereitstellen.

In der neuen Version:

  • Das experimentelle Protokoll xx-input-method wurde hinzugefügt, das es Anwendungen ermöglicht, Texteingabemethoden für Kompositionsserver zu implementieren und eingegebenen Text zu erstellen, was beispielsweise für die Erstellung virtueller Tastaturen und IME-Schichten (Input Method Editor) zur Verarbeitung von Eingaben verwendet werden kann.
  • Das experimentelle Protokoll xx-text-input wurde hinzugefügt, das es Kompositionsservern ermöglicht, Eingabemethoden zu implementieren und Text an Anwendungen zu senden. Das Protokoll standardisiert die Interaktion zwischen dem Kompositionsserver und den Anwendungen und ermöglicht die Verwaltung von Funktionen wie der Übertragung von eingegebenem Text, der Verarbeitung von Ereignissen zur Änderung des Eingabefokus und der Berücksichtigung von spezifischen Eingabefeldern (Sprache, Textauswahl, Inhaltstyp).
  • Die Protokolle color-management-v1 und color-representation-v1 wurden überarbeitet und bieten Funktionen zur Farbverwaltung, HDR-Unterstützung und zur Festlegung der FarDarstellung von Wayland-Oberflächen.

Alle Protokolle durchlaufen nacheinander die Phasen der Entwicklung, des Tests und der Stabilisierung. Nach Abschluss der Entwicklungsphase (Kategorie „unstable“) wird das Protokoll in den Branch „staging“ überführt und offiziell Bestandteil des Katalogs der wayland-protocols. Nach Beendigung der Tests wird es in die stabile Kategorie verschoben. Protokolle aus der Kategorie „staging“ können bereits in Composite-Servern und -Clients verwendet werden, wo die entsprechende Funktionalität erforderlich ist. Im Gegensatz zur Kategorie „unstable“ sind im „staging“ keine Änderungen erlaubt, die die Kompatibilität beeinträchtigen. Bei der Entdeckung von Problemen oder Mängeln während der Tests kann jedoch ein erheblicher Austausch des Protokolls oder einer anderen Wayland-Erweiterung nicht ausgeschlossen werden.

Um die Übermittlung von Protokollen an die Entwickler zu beschleunigen und die frühe Implementierung von Protokollen in bestehenden Projekten zu fördern, wurde seit der vorletzten Version eine zusätzliche Phase "experimental" eingeführt. In dieser Phase sind Änderungen zulässig, die die Kompatibilität beeinträchtigen, sowie das Hinzufügen "roher" Protokolle, die schrittweise auf die nötige Qualität gebracht werden können. Für den Übergang eines Protokolls in die Phase "staging" ist die Bildung eines Unterstützungsteams und das Erhalten einer bestimmten Anzahl von Bestätigungen (ACK) von den Gutachtern erforderlich; für den Eintritt in die Phase "experimental" reicht es aus, dass innerhalb eines zweiwöchigen Begutachtungszeitraums keine Einwände (NACK) erhoben werden.

Aktuell umfasst das Set der wayland-protocols die folgenden stabilen Protokolle, die abwärtskompatibel sind:

  • „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 als Fenster, die es ermöglicht, sie auf dem Bildschirm zu verschieben, zu minimieren, zu maximieren, ihre Größe zu ändern usw.
  • "linux-dmabuf" – bietet Möglichkeiten zur Erstellung von wl_buffer basierend auf 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 Kunden, dem Composite-Server Informationen zum angezeigten Inhalt zu übermitteln, die zur Optimierung des verhaltensbezogenen Inhalts verwendet werden können, wie z. B. die Festlegung spezifischer DRM-Eigenschaften wie "content type". Die Unterstützung für folgende Inhaltstypen wurde bestätigt: none (keine Angaben zum Datentyp), photo (Ausgabe digitaler Fotos, die minimale Bearbeitung erfordert), video (Video oder Animation, die eine genauere Synchronisation erfordert, um Ruckler zu vermeiden) und game (Spieleausführung, die eine Ausgabe mit minimaler Verzögerung erfordert).
  • 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" — stellt Werkzeuge für die explizite Synchronisierung von Buffern mithilfe von DRM-Synchronisationsobjekten (Direct Rendering Manager) bereit. Im Kontext der Synchronisation beim Rendern in den Buffer soll das vorgeschlagene Protokoll die Arbeit mit Treibern auf Basis von Grafik-APIs wie Vulkan und OpenGL verbessern (die Implementierung basiert auf Handlintern innerhalb der Treiber). Das neue Protokoll ermöglicht es sicherzustellen, dass der Renderauftrag im Buffer abgeschlossen ist, bevor der Kompositionsmanager 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.
  • xdg-toplevel-icon — bindet das Icon an das oberste Fenster.
  • ext-image-capture-source und ext-image-copy-capture — organisieren die Erfassung von Inhalten, die auf dem Bildschirm angezeigt werden.
  • xdg-system-bell — ermöglicht die Ausgabe eines Systemsignals, das beispielsweise als Warnung in Terminalemulatoren verwendet werden kann. Die Art der Signalausgabe liegt im Ermessen des Compositormanagers; es kann nicht nur ein Ton, sondern auch eine visuelle Rückmeldung sein.
  • fifo — implementiert den FIFO-Mechanismus (First In, First Out) für die Verarbeitung der Aktualisierungswarteschlange der angezeigten Oberfläche. Praktisch gesehen erlaubt das Protokoll, beim Rendern das Warten auf den Abschluss des vertikalen Synchronizationssignals (vblank) anstelle von Callback-Aufrufen bei jeder neuen Bilddarstellung zu nutzen, was das Problem mit der hohen GPU-Auslastung bei Verwendung von VSync löst.
  • commit-timing — ermöglicht es, eine Zeitbeschränkung an den Inhalt der Oberfläche zu binden (der komposite Server sollte Änderungen am Inhalt möglichst innerhalb der angegebenen Zeit anzeigen, jedoch nicht früher).
  • ext-data-control — ermöglicht privilegierten Kunden die Verwaltung der Datenverarbeitung, beispielsweise zur Implementierung von Clipboard-Managern.
  • ext-workspace — implementiert das Konzept virtuellen Arbeitsflächen und bietet Ereignisse mit Informationen über den Status der Desktops sowie Möglichkeiten zur Aktivierung und Deaktivierung von Desktops. Das Protokoll kann verwendet werden, um Panels und Indikatoren zu erstellen, die eine Liste verfügbarer virtueller Desktops anzeigen und den Wechsel zwischen ihnen ermöglichen.
  • Farbmanagement — bietet Funktionen zur Farbsteuerung und Unterstützung des erweiterten Dynamikbereichs (HDR, High Dynamic Range). Mit der hinzugefügten Erweiterung können Client-Anwendungen Informationen über die farbgebenden Eigenschaften von Ausgabegeräten abrufen und dem Composite-Server Daten über die Farbeigenschaften ihrer eigenen Inhalte übermitteln. Im Composite-Server kann diese Information zur automatischen Farbsteuerung beim Anzeigen von Inhalten auf verschiedenen Ausgabegeräten verwendet werden, zum Beispiel zur Umwandlung von Inhalten in ein Format, das für die Anzeige auf HDR-Monitoren geeignet ist. Farbprofile nach ICC werden zur Beschreibung von Farb- räumen verwendet.
  • xdg-toplevel-tag — ermöglicht es Wayland-Clients, Tags an Oberflächen des obersten Levels anzuhängen, die der Compositing-Server verwenden kann, um Fenster nach einem Neustart der Anwendung zu identifizieren (zum Beispiel kann die Anwendung die Tags „Hauptfenster“ und „Einstellungen“ für das Hauptfenster und das Einstellungsfenster setzen). Diese Art der Identifikation ist nützlich für die Wiederherstellung der Position, Größe und Eigenschaften von Fenstern nach einem Neustart sowie zur Festlegung besonderer Regeln für einzelne Fenstertypen.
  • color-representation — Definition der Farbdarstellung einer Wayland-Oberfläche. Wayland-Clients können Metadaten übermitteln, die zur Bestimmung der Transparenz, des Farbmodells, der Subdiskretisierung und des Quantisierungsbereichs erforderlich sind, und die bei der Umwandlung eines Buffers mit Daten, die dem Farbmodell YCbCr entsprechen, in die RGB-Darstellung angewendet werden.
  • ext-background-effect – Anwendung von Effekten auf halbtransparente Teile der Wayland-Oberfläche, wie z.B. Hintergrundunschärfe.
  • pointer-warp – ermöglicht es einer Anwendung, den Zeiger sofort an eine angegebene Position zu verschieben.

Protokolle, die in der „experimental“-Kategorie entwickelt werden:

  • xx-session-management — Wiederherstellung des Fensterzustands für unterbrochene Sitzungen (z. B. nach einem unerwarteten Abbruch des Kompositormanagers).

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

Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы 🔥 Купить надежный хостинг для сайтов с защитой от DDoS, VPS VDS серверы | ProHoster