Release von Wayland-Protokollen 1.49

Die Version des Pakets wayland-protocols 1.49 wurde veröffentlicht. Sie enthĂ€lt eine Reihe von Protokollen und Erweiterungen, die das grundlegende Wayland-Protokoll ergĂ€nzen und Funktionen bereitstellen, die fĂŒr den Aufbau von Compositing-Servern und Benutzerumgebungen erforderlich sind.

In der neuen Version:

  • Das experimentelle Protokoll xx-fractional-scale wurde hinzugefĂŒgt. Es ermöglicht die Skalierung des Systems logischer Koordinaten, deren Werte in ganzen Zahlen angegeben werden, um die Positionierung genau zu erhöhen und die Auflösung der logischen Koordinaten auf einzelne Pixel zu steigern. Diese Funktion löst das Problem der begrenzten Auflösung des Systems logischer Koordinaten, die nicht ausreicht, um Positionierungen auf der Ebene einzelner Pixel vorzunehmen, was fĂŒr die vollstĂ€ndige Umsetzung der BrĂŒche Skalierung erforderlich ist.
  • Das Protokoll „linux-dmabuf“ hat die UnterstĂŒtzung fĂŒr den Betrieb auf Systemen mit mehreren GPUs erweitert. Auf solchen Systemen kann der Client mit den Compositors abstimmen, Server welche GPU verwendet werden soll.
  • Das Protokoll color-management-v1 hat die UnterstĂŒtzung fĂŒr Bildmetadaten im BT.2100-Format integriert, um spezifische Handler fĂŒr die korrekte Anzeige von HDR-Inhalten, die fĂŒr Windows erstellt wurden, in Compositors anzuwenden. Server spezifische Handler, die eine korrekte Anzeige von fĂŒr Windows erstelltem HDR-Inhalt ermöglichen.

Alle Protokolle durchlaufen nacheinander Phasen der Entwicklung, des Testens und der Stabilisierung. Nach Abschluss der Entwicklungsphase (Kategorie „unstable“) wird das Protokoll in den „staging“-Zweig verschoben und offiziell zum Set der wayland-protocols hinzugefĂŒgt. Nach Abschluss des Testens wird es in die Kategorie der stabilen Protokolle verschoben. Protokolle aus der Kategorie „staging“ können bereits in Kompositionsumgebungen verwendet werden. Servern und Kunden, bei denen die damit verbundene FunktionalitĂ€t erforderlich ist. Im Gegensatz zur Kategorie „unstable“ ist in „staging“ das Einbringen von Änderungen, die die KompatibilitĂ€t verletzen, verboten, doch im Falle von Problemen oder MĂ€ngeln wĂ€hrend der Tests kann der Austausch gegen eine neue, umfassende Version des Protokolls oder eine andere Wayland-Erweiterung nicht ausgeschlossen werden.

Um die Übermittlung von Protokollen an Entwickler zu beschleunigen und die frĂŒhe Implementierung von Protokollen in bestehenden Projekten zu fördern, wurde seit der letzten Version zusĂ€tzlich die Phase „experimental“ eingefĂŒhrt, in der Änderungen vorgenommen werden dĂŒrfen, die die KompatibilitĂ€t verletzen, sowie „rohe“ Protokolle hinzugefĂŒgt werden können, die schrittweise auf das erforderliche Niveau gebracht werden. WĂ€hrend zur Erreichung der Phase „staging“ ein UnterstĂŒtzerteam gebildet und eine bestimmte Anzahl von BestĂ€tigungen (ACK) von den PrĂŒfern eingeholt werden muss, genĂŒgt es fĂŒr die Phase „experimental“, dass innerhalb eines zweiwöchigen PrĂŒfzeitraums keine WidersprĂŒche (NACK) vorliegen.

Aktuell umfasst das Set von wayland-protocols folgende stabile Protokolle, die AbwÀrtskompatibilitÀt gewÀhrleisten:

  • 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“ — eine Schnittstelle zur Erstellung und Interaktion mit OberflĂ€chen als Fenstern, die es erlaubt, diese auf dem Bildschirm zu verschieben, zu minimieren, zu maximieren, die GrĂ¶ĂŸe zu Ă€ndern usw.
  • „linux-dmabuf“ — bietet Möglichkeiten zur Erstellung von wl_buffer auf Basis von DMA-BUF.
  • „tablet“ — Eingabeverarbeitung von Grafiktabletts.

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.
  • Das „xdg-activation“-Protokoll ermöglicht es, den Fokus zwischen verschiedenen OberflĂ€chen erster Ebene zu ĂŒbertragen (zum Beispiel mithilfe von
    xdg-activation kann eine Anwendung den Fokus auf eine andere Anwendung umschalten).
  • 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.
  • 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.
  • security-context — ermöglicht die Identifizierung von Clients, die Sandbox-Isolation verwenden. Der Client kann eine neue Verbindung zu einem Composite-Server auf Basis von Wayland registrieren und einen Sicherheitskontext anhĂ€ngen, wonach der Composite-Manager die verfĂŒgbaren Möglichkeiten fĂŒr die hergestellte Verbindung gemĂ€ĂŸ dem angegebenen Sicherheitskontext einschrĂ€nkt.
  • cursor-shape — eine alternative Methode zur Anpassung des Aussehens des Cursors, die auf der Übertragung einer Reihe von Cursorbildern basiert, anstatt an einer OberflĂ€che (wl_surface) gebunden zu sein.
  • „ext-transient-seat“ ist fĂŒr die Erstellung temporĂ€rer unabhĂ€ngiger Sitzungen (seats) vorgesehen, die fĂŒr die Verwendung mit virtuellen EingabegerĂ€ten vorgesehen sind. Beispielsweise ermöglicht das Protokoll beim Implementieren einer Remote-Desktop-Verbindung die Erstellung separater Sitzungen mit virtueller Tastatur und Maus fĂŒr jeden Benutzer.
  • „xdg-toplevel-drag“ — erweitert den „Drag & Drop“-Mechanismus um die Möglichkeit, Fenster oberster Ebene an Bewegungsoperationen anzuhĂ€ngen, was beispielsweise fĂŒr das Drag & Drop von Symbolleisten oder Browser-Tabs verwendet werden kann. Das neue Protokoll ermöglicht es, abtrennbare Teile eines Fensters zu erstellen, die beim Drag & Drop aus diesem Fenster neue Fenster werden und ĂŒber bestehenden Fenstern bewegt werden können, bevor sie wieder angehĂ€ngt werden.
  • „xdg-dialog“ — ermöglicht es, OberflĂ€chen oberster Ebene Merkmale zuzuweisen, die spezifisch fĂŒr Dialogfenster sind, zum Beispiel können modale Dialoge erstellt werden, die die Interaktion des Benutzers mit dem restlichen Teil der OberflĂ€che blockieren.
  • „linux-drm-syncobj“ — bietet Werkzeuge zur expliziten Synchronisation von Puffer mittels DRM-Synchronisationsobjekten (Direct Rendering Manager). Es wird davon ausgegangen, dass das vorgeschlagene Protokoll im Kontext der Synchronisation beim Rendern in den Puffer die Arbeit mit Treibern auf Basis der Grafik-APIs Vulkan und OpenGL verbessern wird (die Implementierung basiert auf Handler in den Treibern). Das neue Protokoll ermöglicht es, sicherzustellen, dass die Zeichnung in den Puffer abgeschlossen ist, bevor der Kompositionsmanager diesen Puffer anzeigt.
  • alpha-modifier, der es Kunden ermöglicht, den Transparenzgrad der OberflĂ€che zu Ă€ndern und die VorgĂ€nge zur GewĂ€hrleistung der Transparenz an den Compositing-Server auszulagern, der diese VorgĂ€nge dann an KMS weiterleiten kann.
  • xdg-toplevel-icon — bindet das Symbol an das Fenster der oberen Ebene.
  • 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 das Ausgeben eines Systemsignals, das beispielsweise als Warnung im Terminalemulator verwendet werden kann. Die Form der Signalgebung wird nach Ermessen des Compositing-Managers festgelegt, dies kann nicht nur Ton, sondern auch eine visuelle RĂŒckmeldung sein.
  • fifo — implementiert einen FIFO-Mechanismus (first in, first out) zur Verarbeitung der Aktualisierungswarteschlange fĂŒr den angezeigten Inhalt. Praktisch ermöglicht das Protokoll die Ausgabe unter Nutzung des Wartens auf das Ende der vertikalen Synchronisierung (vblank) anstelle von Callback-Aufrufen bei jeder Bereitschaft zur Anzeige eines neuen Frames, was das Problem der hohen GPU-Belastung bei Verwendung von VSync löst.
  • commit-timing ermöglicht es, eine zeitliche EinschrĂ€nkung an den Inhalt einer OberflĂ€che zu binden (der Compositor Server sollte Änderungen des Inhalts möglichst innerhalb der angegebenen Zeit anzeigen, aber nicht frĂŒher).
  • ext-data-control — ermöglicht privilegierten Clients die Verwaltung der Datenverarbeitung, beispielsweise zur Implementierung von Zwischenablage-Managern.
  • ext-workspace — implementiert das Konzept virtuellen ArbeitsplĂ€tzen und bietet Ereignisse mit Informationen ĂŒber den Zustand der ArbeitsflĂ€chen sowie Möglichkeiten zur Aktivierung und Deaktivierung von ArbeitsflĂ€chen. Das Protokoll kann verwendet werden, um Panels und Anzeigen zu erstellen, die eine Liste verfĂŒgbarer virtueller ArbeitsflĂ€chen anzeigen und den Wechsel zwischen diesen ermöglichen.
  • Farbenmanagement – bietet Möglichkeiten zur Farbverwaltung und UnterstĂŒtzung fĂŒr den erweiterten dynamischen Bereich von Helligkeit (HDR, High Dynamic Range). Mit der hinzugefĂŒgten Erweiterung können Client-Anwendungen Informationen ĂŒber die mit der FarbĂŒbertragung verbundenen Eigenschaften von AusgabegerĂ€ten erhalten und dem Kompositionserver Daten ĂŒber die Eigenschaften der FarbĂŒbertragung ihres eigenen Inhalts ĂŒbermitteln. Im Kompositionserver kann diese Information zur automatischen Farbverwaltung 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. FĂŒr die Beschreibung von FarbrĂ€umen werden ICC-Profile verwendet.
  • xdg-toplevel-tag – ermöglicht es Wayland-Clients, Tags an OberflĂ€chensimmen, die der Kompositionserver zur Identifizierung von Fenstern nach dem Neustart der Anwendung verwenden kann (z. B. kann die 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 dem Neustart wiederherzustellen und spezielle Regeln fĂŒr verschiedene Fenstertypen zu definieren.
  • color-representation – Definition der FarbprĂ€sentation einer Wayland-OberflĂ€che. Wayland-Clients können Metadaten ĂŒbermitteln, die erforderlich sind, um Transparenz, Farbmodell, Subsampling und Quantisierungsbereich zu bestimmen, die bei der Umwandlung eines Puffers mit Daten, die dem Farbmodell YCbCr entsprechen, in die RGB-Darstellung angewendet werden.
  • ext-background-effect – Anwendung von Effekten auf transparente Teile der Wayland-OberflĂ€che, wie z. B. HintergrundunschĂ€rfe.
  • pointer-warp – ermöglicht es der Anwendung, den Zeiger sofort an die angegebene Position zu bewegen.
  • xdg-session-management bietet Möglichkeiten zur Wiederherstellung des Zustands und der Position der Fenster eines unterbrochenen Sitzungs, zum Beispiel nach einem unerwarteten Beenden des Compositors oder der Anwendung.

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

  • xx-session-management – Wiederherstellung des Zustands von Fenstern fĂŒr unterbrochene Sitzungen (z. B. nach einem Absturz des Kompositionsmanagers).
  • xx-input-method ermöglicht es Anwendungen, Text-Eingabemethoden fĂŒr Compositing-Server zu implementieren und eingegebenen Text zu formatierten, was beispielsweise zur Erstellung virtueller Tastaturen und IME-Schichten (Input Method Editor) zur Verarbeitung von Eingaben verwendet werden kann.
  • xx-text-input erlaubt es Compositing-Servern, Eingabemethoden zu realisieren und Text an Anwendungen zu senden. Das Protokoll standardisiert die Interaktion zwischen dem Compositor und Anwendungen und ermöglicht das Management von Funktionen wie der Übertragung eingegebenen Texts, der Verarbeitung von Ereignissen zur Änderung des Eingabefokus und der BerĂŒcksichtigung spezifischer Eingabefelder (Sprache, Textauswahl, Inhaltstyp).
  • xx-cutouts – um Informationen ĂŒber Ausschnitte auf dem Bildschirm (z.B. Bereiche fĂŒr die Frontkamera auf dem Bildschirm eines Smartphones) zu erhalten.
  • xx-zones dienen der Erstellung und HinzufĂŒgung von Fenstern der oberen Ebene in „Zonen“ – Umgebungen mit ihrem eigenen Koordinatenraum. Dieses Protokoll ermöglicht die logische Anordnung von Fenstern, bei der jedes Fenster relativ zu einem anderen Fenster platziert wird.
  • xx-keyboard-filter – zum Abfangen ausgewĂ€hlter Tastaturereignisse durch den Client, zur Änderung von Eingabeereignissen oder zur Blockierung der Übertragung bestimmter Ereignisse an die Wayland-OberflĂ€che, auf der der Eingabefokus liegt.

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

60GB SSD 8Gb DDR4