Wayland-Protokolle Version 1.49

Die Version des Pakets wayland-protocols 1.49 wurde veröffentlicht, die eine Reihe von Protokollen und Erweiterungen enthĂ€lt, 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:

  • Ein experimentelles Protokoll xx-fractional-scale wurde hinzugefĂŒgt, das die Skalierung von Systemlogik-Koordinaten ermöglicht, wobei die Werte als ganze Zahlen angegeben werden, um die Positionierung genau zu erhöhen und die Auflösung von logischen Koordinaten auf einzelne Pixel zu vergrĂ¶ĂŸern. Diese FĂ€higkeit löst das Problem der begrenzten Auflösung des Systems der logischen Koordinaten, die nicht ausreicht, um auf der Ebene einzelner Pixel zu positionieren, was fĂŒr die vollstĂ€ndige Implementierung von fractional scaling erforderlich ist.
  • Im Protokoll „linux-dmabuf“ wurde UnterstĂŒtzung fĂŒr den Betrieb auf Systemen mit mehreren GPUs hinzugefĂŒgt. Auf solchen Systemen kann der Client mit den Compositors festlegen, dem Server durch welche GPU verwendet werden soll.
  • Im Protokoll color-management-v1 wurde die UnterstĂŒtzung fĂŒr Bildmetadaten im BT.2100-Format hinzugefĂŒgt, um sie im Compositor anzuwenden. Server spezifische Handler, die eine korrekte Anzeige von HDR-Inhalten ermöglichen, die fĂŒr Windows erstellt wurden.

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 Teil des wayland-protocols-Sets. Nach Abschluss der Tests wird es in die Kategorie stabilen Protokolle verschoben. Protokolle aus der Kategorie „staging“ können bereits in Kompositen verwendet werden. Servern und Klienten, wo die damit verbundene FunktionalitĂ€t erforderlich ist. Im Gegensatz zur Kategorie „unstable“ ist in „staging“ die EinfĂŒhrung von Änderungen, die die KompatibilitĂ€t beeintrĂ€chtigen, verboten. Bei Feststellung von Problemen und MĂ€ngeln wĂ€hrend der Tests ist jedoch ein Austausch gegen eine neue, bedeutende Version des Protokolls oder eine andere Wayland-Erweiterung nicht ausgeschlossen.

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, 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 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 es, den Fokus zwischen verschiedenen First-Level-OberflĂ€chen zu ĂŒbertragen (zum Beispiel durch
    xdg-activation kann eine Anwendung den Fokus auf eine andere umschalten).
  • 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“ ist fĂŒr die Schaffung temporĂ€rer unabhĂ€ngiger Sitzungen (seats) vorgesehen, die fĂŒr die Nutzung mit virtuellen EingabegerĂ€ten ausgelegt sind. Beispielsweise ermöglicht das Protokoll die Bereitstellung separater Sitzungen mit virtueller Tastatur und Maus fĂŒr jeden Benutzer bei der Implementierung der Möglichkeit zur Verbindung mit einem Remote-Desktop.
  • „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 Zeitgrenze an den Inhalt einer OberflĂ€che zu binden (der Compositor der Server sollte Änderungen des Inhalts nach Möglichkeit innerhalb der angegebenen Zeit und nicht frĂŒher anzeigen).
  • 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.
  • xdg-session-management — Funktionen zur Wiederherstellung des Status und der Position von Fenstern nach einem unterbrochenen Sitzung, beispielsweise nach einem Absturz des Composite-Servers oder der Anwendung.

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).
  • xx-input-method — ermöglicht es Anwendungen, Texteingabemethoden fĂŒr Composite-Server zu implementieren und eingegebenen Text zu generieren, was beispielsweise fĂŒr die Erstellung virtueller Tastaturen und IME-Schichten (Input Method Editor) zur Verarbeitung der Eingabe genutzt werden kann.
  • xx-text-input — erlaubt es Composite-Servern, Eingabemethoden zu implementieren und Text an Anwendungen zu senden. Das Protokoll standardisiert die Interaktion zwischen dem Composite-Server und den Anwendungen und ermöglicht die Verwaltung von Funktionen wie der Übertragung eingegebener Texte, der Verarbeitung von Ereignissen zu EingabefokusĂ€nderungen und der BerĂŒcksichtigung spezifischer Eingabefelder (Sprache, Texthervorhebung, Inhaltstyp).
  • xx-cutouts — zur Erfassung von Informationen ĂŒber Ausschnitte auf dem Bildschirm (z. B. Bereiche unter der Frontkamera auf dem Smartphone-Bildschirm).
  • xx-zones — zur Erstellung und HinzufĂŒgung von Top-Level-Fenstern in „Zonen“ — Umgebungen mit ihrem eigenen Koordinatensystem. Das Protokoll ermöglicht eine logische Anordnung der Fenster, bei der jedes Fenster relativ zu einem anderen Fenster platziert ist.
  • xx-keyboard-filter — zur Abfangen von vom Client ausgewĂ€hlten Tastaturereignissen, Ändern von Eingaben oder Blockieren der Übertragung bestimmter Ereignisse zu einer Wayland-OberflĂ€che, auf der der Fokus liegt.

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

ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen đŸ”„ ZuverlĂ€ssiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster