Efter seks måneders udvikling er udgivelsen af wayland-protocols 1.33-pakken blevet offentliggjort, indeholdende et sæt protokoller og udvidelser, der komplementerer mulighederne i basis-Wayland-protokollen og giver de nødvendige funktioner til at bygge sammensatte servere og brugermiljøer.
Alle protokoller gennemgår sekventielt tre faser - udvikling, test og stabilisering. Efter at have gennemført udviklingsfasen (den "ustabile" kategori), placeres protokollen i "staging"-grenen og officielt inkluderet i wayland-protokollerne, og efter at testen er afsluttet, flyttes den til den stabile kategori. Protokoller fra kategorien "staging" kan allerede bruges i sammensatte servere og klienter, hvor relateret funktionalitet er påkrævet. I modsætning til kategorien "ustabil" er det i "iscenesættelse" forbudt at foretage ændringer, der krænker kompatibilitet, men hvis problemer og mangler identificeres under testning, er udskiftning med en ny væsentlig version af protokollen eller en anden Wayland-udvidelse ikke udelukket.
Den nye version flytter protokollen "linux-dmabuf", som muliggør delt brug af flere grafikkort ved hjælp af DMA-BUF-teknologi (tillader oprettelse af en wl_buffer baseret på DMA-BUF), til den stabile kategori. En ny "ext-transient-seat"-protokol er blevet tilføjet og placeret i kategorien "staging". Den nye protokol kan bruges til at oprette midlertidige uafhængige sessioner (seats) designet til brug med virtuelle inputenheder implementeret ved hjælp af protokollerne "virtual_keyboard_unstable_v1" og "wlr_virtual_pointer_unstable_v1". For eksempel, når man implementerer muligheden for at oprette forbindelse til... fjernskrivebord Protokollen tillader oprettelse af en separat session med et virtuelt tastatur og en mus for hver bruger.
I øjeblikket inkluderer wayland-protokoller følgende stabile protokoller, som giver bagudkompatibilitet:
- "viewporter" - giver klienten mulighed for at udføre skalering og overfladekanttrimning på serversiden.
- "præsentationstid" - giver videovisning.
- "xdg-shell" er en grænseflade til at skabe og interagere med overflader som vinduer, som giver dig mulighed for at flytte dem rundt på skærmen, minimere, udvide, ændre størrelse osv.
Protokoller testet i "iscenesættelse"-grenen:
- drm-lease - giver de nødvendige ressourcer til at generere et stereobillede med forskellige buffere til venstre og højre øje, når der udsendes til virtual reality-headset.
- "ext-session-lock" - definerer et middel til at låse en session, for eksempel mens pauseskærmen kører, eller godkendelsesdialogen vises.
- "single-pixel-buffer" - giver dig mulighed for at oprette enkelt-pixel buffere, der inkluderer fire 32-bit RGBA-værdier.
- "xdg-activation" - giver dig mulighed for at overføre fokus mellem forskellige overflader på første niveau (f.eks. ved hjælp af xdg-aktivering kan en applikation skifte fokus til en anden).
- indholdstype - tillader klienter at sende sammensatte server Information om det viste indhold, der kan bruges til at optimere indholdsbevidst adfærd, f.eks. indstilling af specifikke DRM-egenskaber såsom "indholdstype". Understøttelse af følgende indholdstyper er angivet: ingen (ingen datatypeinformation), foto (digitalt fotooutput, der kræver minimal behandling), video (video eller animation, der kræver mere præcis synkronisering for at undgå hakken) og spil (spilstart, der kræver output med minimal latenstid).
- ext-idle-notify - Tillader sammensatte servere at sende meddelelser til klienter om brugerinaktivitet, som kan bruges til at aktivere yderligere strømbesparende tilstande efter en vis tids inaktivitet.
- tearing-control - giver dig mulighed for at deaktivere vertikal synkronisering (VSync) med en vertikal dæmpningsimpuls i fuldskærmsapplikationer, der bruges til at beskytte mod rivning i output. I multimedieapplikationer er artefakter på grund af rivning en uønsket effekt, men i spilprogrammer kan artefakter tolereres, hvis håndteringen af dem forårsager yderligere forsinkelser.
- ext-foreign-toplevel-list - Henter information om overflader placeret på øverste niveau, som giver dig mulighed for at organisere vinduer til at docke oven på andet indhold, for eksempel for at vedhæfte dine egne paneler og vindueskontakter.
- security-context - giver dig mulighed for at identificere klienter ved hjælp af sandbox isolation. En klient kan registrere en ny forbindelse til en Wayland-baseret sammensat server og knytte en sikkerhedskontekst til den, hvorefter den sammensatte administrator vil begrænse de tilgængelige muligheder for den etablerede forbindelse baseret på den angivne sikkerhedskontekst.
- cursor-shape er en alternativ måde at tilpasse markørens udseende på, baseret på at sende en række markørbilleder i stedet for at snappe til en overflade (wl_surface).
Protokoller, der udvikles i den "ustabile" gren:
- "fullscreen-shell" - kontrol af arbejde i fuldskærmstilstand.
- "input-metode" - behandling af inputmetoder.
- "idle-inhibit" - blokering af lanceringen af pauseskærmen (pauseskærm).
- "input-tidsstempler" - tidsstempler for inputhændelser.
- "keyboard-shortcuts-inhibit" - styrer vedhæftning af tastaturgenveje og genvejstaster.
- "linux-eksplicit-synkronisering" er en Linux-specifik mekanisme til synkronisering af overfladebundne buffere.
- "pointer-gestures" - kontrol fra touchskærme.
- "pointer constraints" - pointer constraints (blokering).
- "primært valg" - analogt med X11 sikrer det driften af det primære udklipsholder (primært valg), hvorfra information normalt indsættes med den midterste museknap.
- "relative pointer events" - relative pointer events.
- "tablet" - understøttelse af input fra tablets.
- "tekst-input" - organisering af tekstinput.
- "xdg-foreign" er en grænseflade til at interagere med overfladerne på den "nabo" klient.
- "xdg-decoration" - gengivelse af vinduesdekorationer på serversiden.
- "xdg-output" - yderligere information om videooutput (bruges til fraktioneret skalering).
- "xwayland-keyboard-grab" - optag input i XWayland-applikationer.
Kilde: opennet.ru
