Etter seks måneders utvikling har utgivelsen av Wayland-protocols 1.33-pakken blitt publisert, som inneholder et sett med protokoller og utvidelser som utfyller egenskapene til basis-Wayland-protokollen og gir de nødvendige egenskapene for å bygge sammensatte servere og brukermiljøer.
Alle protokoller går sekvensielt gjennom tre faser - utvikling, testing og stabilisering. Etter å ha fullført utviklingsstadiet (den "ustabile" kategorien), blir protokollen plassert i "staging"-grenen og offisielt inkludert i settet med wayland-protokoller, og etter at testingen er fullført, flyttes den til den stabile kategorien. Protokoller fra «staging»-kategorien kan allerede brukes i sammensatte servere og klienter der relatert funksjonalitet er nødvendig. I motsetning til kategorien "ustabil" forbyr "staging" å gjøre endringer som bryter med kompatibilitet, men hvis problemer og mangler blir identifisert under testing, er erstatning med en ny betydelig versjon av protokollen eller en annen Wayland-utvidelse ikke utelukket.
Den nye versjonen flytter protokollen «linux-dmabuf», som muliggjør delt bruk av flere skjermkort ved hjelp av DMA-BUF-teknologi (tillater opprettelse av en wl_buffer basert på DMA-BUF), til den stabile kategorien. En ny protokoll «ext-transient-seat» er lagt til og plassert i kategorien «staging». Den nye protokollen kan brukes til å opprette midlertidige uavhengige økter (seter) designet for bruk med virtuelle inndataenheter implementert ved hjelp av protokollene «virtual_keyboard_unstable_v1» og «wlr_virtual_pointer_unstable_v1». For eksempel, når man implementerer muligheten til å koble til eksternt skrivebord Protokollen tillater å opprette en separat økt med et virtuelt tastatur og en mus for hver bruker.
For øyeblikket inkluderer wayland-protokoller følgende stabile protokoller, som gir bakoverkompatibilitet:
- "viewporter" - lar klienten utføre skalering og overflatekanttrimming på serversiden.
- "presentation-time" - gir videovisning.
- "xdg-shell" er et grensesnitt for å lage og samhandle med overflater som vinduer, som lar deg flytte dem rundt på skjermen, minimere, utvide, endre størrelse osv.
Protokoller testet i "staging"-grenen:
- drm-lease - gir ressursene som er nødvendige for å generere et stereobilde med forskjellige buffere for venstre og høyre øyne når du sender ut til virtual reality-headset.
- "ext-session-lock" - definerer et middel for å låse økten, for eksempel mens skjermspareren kjører eller autentiseringsdialogen vises.
- "single-pixel-buffer" - lar deg lage enkeltpikselbuffere som inkluderer fire 32-biters RGBA-verdier.
- "xdg-activation" - lar deg overføre fokus mellom forskjellige overflater på første nivå (for eksempel, ved å bruke xdg-aktivering, kan en applikasjon bytte fokus til en annen).
- innholdstype - lar klienter sende kompositt server Informasjon om innholdet som vises, som kan brukes til å optimalisere innholdsbevisst atferd, for eksempel å angi spesifikke DRM-egenskaper, for eksempel "innholdstype". Støtte for følgende innholdstyper er deklarert: ingen (ingen datatypeinformasjon), bilde (digital bildeutdata som krever minimal behandling), video (video eller animasjon, som krever mer presis synkronisering for å unngå hakking) og spill (spillstart, som krever utdata med minimal forsinkelse).
- ext-idle-notify – Lar sammensatte servere sende varsler til klienter om brukerinaktivitet, som kan brukes til å aktivere ytterligere strømsparingsmoduser etter en viss tids inaktivitet.
- rivekontroll - lar deg deaktivere vertikal synkronisering (VSync) med en vertikal dempingspuls i fullskjermsapplikasjoner, brukt for å beskytte mot riving i utdata. I multimedieapplikasjoner er gjenstander som skyldes riving en uønsket effekt, men i spillprogrammer kan gjenstander tolereres hvis håndteringen av dem forårsaker ytterligere forsinkelser.
- ext-foreign-toplevel-list – Henter informasjon om overflater plassert på toppnivå, som lar deg organisere vinduer for å dokke på toppen av annet innhold, for eksempel for å feste dine egne paneler og vindusbrytere.
- security-context - lar deg identifisere klienter ved hjelp av sandkasseisolasjon. En klient kan registrere en ny tilkobling til en Wayland-basert sammensatt server og knytte en sikkerhetskontekst til den, hvoretter den sammensatte administratoren vil begrense mulighetene som er tilgjengelige for den etablerte tilkoblingen basert på den angitte sikkerhetskonteksten.
- cursor-shape er en alternativ måte å tilpasse utseendet til markøren på, basert på å sende en serie bilder av markøren i stedet for å knipse til en overflate (wl_surface).
Protokoller som utvikles i den "ustabile" grenen:
- "fullskjermskall" - kontroll over arbeidet i fullskjermmodus.
- "input-method" - behandling av input-metoder.
- "idle-inhibit" - blokkerer lanseringen av skjermspareren (skjermsparer).
- "input-timestamps" - tidsstempler for input-hendelser.
- "keyboard-shortcuts-inhibit" - kontrollerer vedlegget av tastatursnarveier og hurtigtaster.
- «linux-explicit-synchronization» er spesifikk for Linux mekanisme for synkronisering av buffere i forhold til overflaten.
- "pekerbevegelser" - kontroll fra berøringsskjermer.
- "pekerbegrensninger" - pekerbegrensninger (blokkering).
- "primært utvalg" - analogt med X11, sikrer det driften av det primære utklippstavlen (primært utvalg), informasjon som vanligvis settes inn med den midterste museknappen.
- "relative pointer events" - relative pointer events.
- "nettbrett" - støtte for input fra nettbrett.
- "tekstinntasting" - organisering av tekstinntasting.
- "xdg-foreign" er et grensesnitt for å samhandle med overflatene til "nabo"-klienten.
- "xdg-decoration" - gjengivelse av vindusdekorasjoner på serversiden.
- "xdg-output" - tilleggsinformasjon om videoutgangen (brukes for brøkskalering).
- "xwayland-keyboard-grab" - fange inn input i XWayland-applikasjoner.
Kilde: opennet.ru
