Release van Wayland-Protocols 1.44 en composietserver Weston 14.0.2

De uitgave van het wayland-protocols pakket 1.44 is gepubliceerd, met een set protocollen en uitbreidingen die het basisprotocol Wayland aanvullen en de mogelijkheden bieden die nodig zijn voor het bouwen van composietservers en gebruikersomgevingen.

In Wayland-Protocols 1.44 is een nieuw protocol color-representation-v1 voorgesteld voor het definiëren van de kleurweergave van een Wayland-oppervlak. Met het nieuwe protocol kunnen clients metadata verzenden die nodig zijn voor het bepalen van transparantie, kleurenmodel, subdiscretisatie en het kwantiseringsbereik, en die worden toegepast bij het converteren van de buffer met gegevens die overeenkomen met het kleurenmodel YCbCr naar RGB-weergave.

Alle protocollen doorlopen opeenvolgende fasen van ontwikkeling, testen en stabilisatie. Na de ontwikkeling fase (categorie 'unstable') wordt het protocol in de 'staging' tak geplaatst en officieel opgenomen in het pakket wayland-protocols. Na voltooiing van de tests wordt het overgebracht naar de stabiele categorie. Protocollen uit de 'staging' categorie kunnen al worden toegepast in compositors en clients waar de bijbehorende functionaliteit vereist is. In tegenstelling tot de 'unstable' categorie mogen er in 'staging' geen wijzigingen worden aangebracht die de compatibiliteit verstoren, maar indien er tijdens het testen problemen of tekortkomingen worden vastgesteld, kan een nieuwe significante versie van het protocol of een andere Wayland-uitbreiding worden vervangen.

Om de tijdige overdracht van protocollen naar ontwikkelaars te versnellen en de vroege implementatie van protocollen in bestaande projecten te stimuleren, is er sinds de vorige release een fase 'experimental' toegevoegd, waarin wijzigingen die de compatibiliteit verbreken en het toevoegen van 'ruwe' protocollen zijn toegestaan, die geleidelijk kunnen worden verfijnd. Als een protocol in de fase 'staging' moet komen, is het nodig om een ondersteunend team te vormen en een bepaald aantal bevestigingen (ACK) van beoordelingsdeelnemers te verkrijgen, maar voor 'experimental' is het voldoende dat er gedurende een beoordelingsperiode van twee weken geen bezwaren (NACK) zijn.

Momenteel omvat de set wayland-protocols de volgende stabiele protocollen die compatibiliteit waarborgen:

  • «viewporter» — stelt de client in staat om acties uit te voeren voor schaling en het bijsnijden van randen van oppervlakken aan de serverzijde.
  • 'presentation-time' - zorgt voor videoweergave.
  • 'xdg-shell' - interface voor het creëren en interactie met oppervlakken als vensters, die het mogelijk maakt ze over het scherm te verplaatsen, te minimaliseren, maximaliseren, van grootte te veranderen, enz.
  • 'linux-dmabuf' - biedt mogelijkheden voor het creëren van wl_bufferen op basis van DMA-BUF.
  • 'tablet' - organisatie van invoer van grafische tablets.

Protocollen die worden getest in de 'staging'-lijn:

  • drm-lease - biedt de benodigde middelen voor het vormen van een stereobeeld met verschillende buffers voor het linker en rechter oog bij weergave op virtual reality-headsets.
  • 'ext-session-lock' - defineert de middelen voor sessievergrendeling, bijvoorbeeld tijdens het werken met een screensaver of het weergeven van een authenticatiedialoog.
  • 'single-pixel-buffer' - maakt het mogelijk om een enkelpixelbuffers te creëren die vier 32-bits RGBA-waarden bevatten.
  • 'xdg-activation' - stelt het mogelijk om de focus tussen verschillende eerste-niveau oppervlakken over te dragen (bijvoorbeeld kan één toepassing met xdg-activation de focus op een andere overschakelen).
  • content-type — stelt clients in staat om de compositormanagement informatie over de weergegeven inhoud te verstrekken, die kan worden gebruikt om het gedrag met betrekking tot de inhoud te optimaliseren, bijvoorbeeld door specifieke DRM-eigenschappen in te stellen, zoals 'content type'. Ondersteuning is verklaard voor de volgende type inhoud: none (geen informatie over datatype), photo (weergave van digitale foto's die minimale verwerking vereisen), video (video of animatie, die een nauwkeurigere synchronisatie vereist om haperingen te voorkomen) en game (het starten van games, die een output met minimale vertraging vereisen).
  • tearing-control — maakt het mogelijk om verticale synchronisatie (VSync) met frame-drops uit te schakelen in volledig scherm applicaties, welke worden toegepast om het verschijnen van tearing bij de weergave te voorkomen. In multimedia-applicaties is het verschijnen van artefacten door tearing een ongewenst effect, maar in games kan men zich tevredenstellen met artefacten als het bestrijden ervan leidt tot extra vertraging.
  • ext-foreign-toplevel-list — verkrijging van informatie over oppervlakken die zich op het allerhoogste niveau (toplevel) bevinden, waarmee het mogelijk is om vensters boven andere inhoud vast te zetten, bijvoorbeeld voor het aansluiten van eigen panelen en vensterschakelaars.
  • security-context — stelt in staat cliënten te identificeren die sandbox-isolatie gebruiken. Een cliënt kan een nieuwe verbinding met een composietserver op basis van Wayland registreren en deze verbinden met een beveiligingscontext, waarna de composietmanager de mogelijkheden beheert die beschikbaar zijn voor de ingestelde verbinding op basis van de opgegeven beveiligingscontext.
  • cursor-shape — een alternatieve manier om het uiterlijk van de cursor aan te passen, gebaseerd op het verzenden van een reeks cursorafbeeldingen in plaats van gebonden te zijn aan een oppervlak (wl_surface).
  • cursor-shape — een alternatieve manier om het uiterlijk van de cursor aan te passen, gebaseerd op een serie cursorafbeeldingen in plaats van gebonden te zijn aan een oppervlak (wl_surface).
  • «ext-transient-seat» is bedoeld voor het creëren van tijdelijke, onafhankelijke sessies (seat), die zijn ontworpen voor gebruik met virtuele invoerapparaten. Bijvoorbeeld, bij het implementeren van de mogelijkheid om verbinding te maken met een externe desktop, stelt het protocol in staat om voor elke gebruiker een aparte sessie te creëren met virtueel toetsenbord en muis.
  • «xdg-toplevel-drag» breidt het mechanisme „drag & drop” uit met de mogelijkheid om bovenliggende vensters aan de verplaatsingsoperatie te koppelen, wat bijvoorbeeld kan worden gebruikt voor het organiseren van het slepen met de muis van tools of browser tabs. Het nieuwe protocol maakt het mogelijk om loskoppelbare vensteronderdelen te creëren die, wanneer ze uit dit venster worden gesleept, nieuwe vensters worden en zich boven bestaande vensters kunnen verplaatsen voordat ze opnieuw worden bevestigd.
  • «xdg-dialog» maakt het mogelijk om bovenliggende oppervlakken specifieke eigenschappen voor dialoogvensters toe te wijzen, bijvoorbeeld om modale dialoogvensters te creëren die de interactie van de gebruiker met de rest van de interface blokkeren.
  • «linux-drm-syncobj» biedt tools voor expliciete synchronisatie van buffers met behulp van synchronisatieobjecten van DRM (Direct Rendering Manager). In de context van synchronisatie bij het afbeelden in een buffer zal het voorgestelde protocol naar verwachting de werking met drivers op basis van grafische API's zoals Vulkan en OpenGL verbeteren (de implementatie is gebaseerd op handlers in de drivers). Het nieuwe protocol zorgt ervoor dat de tekenoperatie in de buffer is voltooid voordat de compositor deze buffer weergeeft.
  • alpha-modifier, die klanten in staat stelt om het transparantieniveau van een oppervlak te veranderen en de transparentie-operaties naar de compositor-server te verplaatsen, die deze operaties op zijn beurt kan doorsturen naar KMS.
  • xdg-toplevel-icon — koppeling van een pictogram aan een bovenliggend venster.
  • ext-image-capture-source en ext-image-copy-capture — organisatie van het vastleggen van inhoud die op het scherm wordt weergegeven.
  • xdg-system-bell — maakt het mogelijk om een systeem signaal uit te geven, dat bijvoorbeeld kan worden gebruikt als waarschuwing in terminalemulatoren. De vorm van de signaaluitvoer wordt bepaald naar de voorkeur van de compositor, dit kan niet alleen geluid zijn, maar ook een visuele respons.
  • fifo — implementeert een FIFO-mechanisme (eerste gekomen, eerste gegaan) voor het verwerken van de wachtrij van de inhoudsupdate van de weergegeven oppervlakte. Praktisch gezien stelt het protocol gebruikers in staat om te wachten tot de verticale afrol voltooid is (vblank) in plaats van callback-aanroepen te gebruiken bij elke gereedheid om een nieuw frame weer te geven, wat het probleem van hoge belasting van de GPU bij gebruik van VSync oplost.
  • commit-timing — maakt het mogelijk om een tijdslimiet aan de inhoudsoppervlakte te koppelen (de composietserver moet de wijziging van de inhoud zo mogelijk doorvoeren binnen de opgegeven tijd, maar niet eerder).
  • ext-data-control — stelt geprivilegieerde klanten in staat om de verwerking van gegevens te beheren, bijvoorbeeld voor de implementatie van klembordbeheerders.
  • ext-workspace — implementeert het concept virtuele desktops en biedt evenementen met informatie over de status van werkruimten, evenals mogelijkheden om werkruimten in en uit te schakelen. Het protocol kan worden toegepast voor het creëren van panelen en indicatoren die een lijst van beschikbare virtuele werkruimten weergeven en het mogelijk maken om tussen deze te schakelen.
  • color-management — biedt mogelijkheden voor kleurbeheer en ondersteuning voor een uitgebreid dynamisch helderheidsbereik (HDR, High Dynamic Range). Met de toegevoegde extensie kunnen clienttoepassingen informatie verkrijgen over kleurgerelateerde eigenschappen van uitvoerapparaten en de composietserver gegevens over de kleurweergave-eigenschappen van hun eigen inhoud doorgeven. In de composiet de server kan deze informatie worden gebruikt voor automatisch kleurbeheer tijdens het weergeven van inhoud op verschillende uitvoerapparaten, bijvoorbeeld voor het converteren van inhoud in een indeling die geschikt is voor weergave op HDR-monitoren. Voor het beschrijven van kleurenschema's worden ICC-profielen gebruikt.
  • xdg-toplevel-tag — stelt Wayland-clients in staat om tags aan top-level oppervlakten toe te voegen, die de composietserver kan gebruiken om vensters te identificeren na het opnieuw opstarten van de applicatie (bijvoorbeeld kan de applicatie de tags "hoofdvenster" en "instellingen" instellen voor het hoofdvenster en het instellingenvenster). Dergelijke identificatie is nuttig voor het herstellen van de positie, maat en kenmerken van vensters na het opnieuw opstarten, evenals voor het definiëren van speciale regels voor verschillende soorten vensters.

Protocollen die ontwikkeld worden in de 'unstable' tak:

  • "fullscreen-shell" — beheer van de werking in de volledig scherm modus.
  • "invoermethode" — verwerking van invoermethoden.
  • "idle-inhibit" — blokkering van de screensaver (scherminvoeging) activatie.
  • "input-timestamps" — tijdstempels voor invoer-gebeurtenissen.
  • "keyboard-shortcuts-inhibit" — beheer van het koppelen van sneltoetsen en sneltoetsen.
  • "linux-explicit-synchronization" — Linux-specifiek mechanisme voor buffer-synchronisatie in verband met het oppervlak.
  • "pointer-gestures" — beheer van aanraakschermbedieningen.
  • "pointer constraints" — beperkingen van aanwijsinstellingen (blokkering).
  • "primary-selection" — werkt, net als bij X11, met de primaire klembord (primary selection), waarvan de invoer meestal wordt uitgevoerd met de middelste muisknop.
  • "relative pointer events" — relatieve aanwijsgebeurtenissen.
  • "tekst-invoer" — organisatie van tekstinvoer.
  • "xdg-foreign" — interface voor interactie met de oppervlakken van een 'buur'-client.
  • «xdg-decoration» — het renderen van vensterdecoraties aan de serverzijde.
  • «xdg-output» — aanvullende informatie over de videouitgang (gebruikt voor fractale schaalverhouding).
  • «xwayland-keyboard-grab» — het vastleggen van invoer in XWayland-applicaties.

Daarnaast is de update van het Weston-project 14.0.2 vermeld, dat zich richt op het ontwikkelen van een referentiecomposietserver die is ontworpen om een hoogwaardige codebasis en werkvoorbeelden te bieden voor het gebruik van Wayland in desktopomgevingen en ingebedde platforms. In de nieuwe versie van Weston zijn, naast bugfixes, ook de mogelijkheden voor het bouwen van de VNC-backend voor remote desktop-werkbeheer met de nieuwe neatvnc-bibliotheek geïmplementeerd.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster