Nakon šest mjeseci razvoja objavljeno je izdanje paketa wayland-protocols 1.33, koje sadrži skup protokola i ekstenzija koje dodatno obogaćuju mogućnosti osnovnog protokola Wayland i pružaju funkcionalnosti potrebne za izgradnju kompozitnih poslužitelja i korisničkih okruženja.
Svi protokoli prolaze kroz tri faze — razvoj, testiranje i stabilizaciju. Nakon završetka faze razvoja (kategorija „unstable”), protokol se premješta u granu „staging” i službeno se uključuje u skup wayland-protocols, a nakon završetka testiranja prelazi u kategoriju stabilnih. Protokoli iz kategorije „staging” već se mogu koristiti u kompozitnim poslužiteljima i klijentima gdje je potrebna s njima povezana funkcionalnost. Za razliku od kategorije „unstable”, u „staging” su promjene koje narušavaju kompatibilnost zabranjene, no u slučaju otkrivanja problema i nedostataka tijekom testiranja, ne isključuje se zamjena novom značajnom verzijom protokola ili drugom Wayland-ekstenzijom.
U novoj verziji premješten je u kategoriju stabilnih protokol „linux-dmabuf”, koji omogućuje zajedničko korištenje više grafičkih kartica putem tehnologije DMA-BUF (omogućuje stvaranje wl_buffer na temelju DMA-BUF). Dodan je novi protokol „ext-transient-seat”, koji je smješten u kategoriju „staging”. Novi protokol može se koristiti za stvaranje privremenih neovisnih sesija (seat) koje su namijenjene za korištenje zajedno s virtualnim ulaznim uređajima, koji se implementiraju pomoću protokola „virtual_keyboard_unstable_v1” i „wlr_virtual_pointer_unstable_v1”. Na primjer, kod implementacije mogućnosti povezivanja s daljinskim radnim stolom Protokol omogućava kreiranje zasebne sesije za svakog korisnika s virtualnom tipkovnicom i mišem.
Trenutno skup wayland-protocols uključuje sljedeće stabilne protokole, u kojima se osigurava unatradna kompatibilnost:
- «viewporter» — omogućuje klijentu da obavlja radnje preklapanja i izrezivanja rubova površine na strani poslužitelja.
- «presentation-time» — osigurava reprodukciju videa.
- „xdg-shell” — sučelje za stvaranje i interakciju s površinama kao s prozorima, što omogućuje njihovo pomicanje po ekranu, minimaliziranje, povećavanje, promjenu veličine itd.
Protokoli koji se testiraju u «staging» grani:
- drm-lease — pruža resurse potrebne za stvaranje stereo prikaza s različitim spremnicima za lijevo i desno oko prilikom prikazivanja na slušalicama za virtualnu stvarnost.
- «ext-session-lock» — definira sredstva za zaključavanje sesije, primjerice tijekom rada zaštitnika ekrana ili prikaza dijaloga za autentifikaciju.
- «single-pixel-buffer» — omogućuje stvaranje jednopikselnih spremnika koji uključuju četiri 32-bitne RGBA vrijednosti.
- «xdg-activation» — omogućuje prijenos fokusa između različitih razina površina (na primjer, pomoću xdg-activation jedna aplikacija može prebaciti fokus na drugu).
- content-type — omogućuje klijentima da proslijede kompozitnom poslužitelju informacije o prikazanom sadržaju koje se mogu koristiti za optimizaciju ponašanja prema sadržaju, na primjer, postavljanjem specifičnih DRM svojstava, poput «tipa sadržaja». Prijavljena podrška za sljedeće tipove sadržaja: none (nema informacija o tipu podataka), photo (izlaz digitalnih fotografija koji zahtijeva minimalnu obradu), video (video ili animacija, koja zahtijeva precizniju sinkronizaciju kako bi se isključila usporenja) i game (pokretanje igara, zahtijeva izlaz s minimalnim kašnjenjem).
- ext-idle-notify — omogućava kompozitnim poslužiteljima da klijentima šalju obavijesti o neaktivnosti korisnika, što se može iskoristiti za aktiviranje dodatnih načina uštedu energije nakon određenog vremena neaktivnosti.
- tearing-control — omogućuje isključivanje vertikalne sinkronizacije (VSync) s okvirem koji ublažava, korištene za sprečavanje pojave razdvajanja (tearing) u aplikacijama na cijelom ekranu. U multimedijskim aplikacijama, pojava artefakata zbog razdvajanja je nepoželjni učinak, ali u igrama se s artefaktima može tolerirati ako njihovo ispravljanje dovodi do dodatnih kašnjenja.
- ext-foreign-toplevel-list — dobivanje informacija o površinama smještenim na samom vrhu (toplevel), koje omogućuju organizaciju pričvršćenih prozora iznad drugog sadržaja, na primjer, za povezivanje vlastitih panela i prekidača prozora.
- security-context — omogućava identifikaciju klijenata koji koriste sandbox-izolaciju. Klijent može registrirati novu vezu s kompozitnim poslužiteljem temeljenim na Waylandu i povezati je s kontekstom sigurnosti, nakon čega će prema navedenom kontekstu sigurnosti kompozitni manager ograničiti mogućnosti dostupne za uspostavljenu vezu.
- cursor-shape — alternativni način podešavanja izgleda pokazivača, temeljen na prijenosu niza slika pokazivača umjesto vezivanja uz površinu (wl_surface).
Protokoli koji se razvijaju u "unstable" grani:
- "fullscreen-shell" — upravljanje radom u punom ekranu.
- "input-method" — obrada metoda unosa.
- "idle-inhibit" — blokiranje pokretanja zaštitnog ekrana (screensaver-a).
- "input-timestamps" — vremenske oznake za događaje unosa.
- "keyboard-shortcuts-inhibit" — upravljanje vezivanjem kombinacija tastera i prečica.
- "linux-explicit-synchronization" — mehanizam sinhronizacije bafera specifičan za Linux, vezan za površinu.
- "pointer-gestures" — upravljanje putem dodirnih ekrana.
- "pointer constraints" — ograničenja pokazivača (blokada).
- "primary-selection" — slično X11, omogućava rad primarnog međuspremnika (primary selection), čije unošenje obično vrši srednja dugmad miša.
- "relative pointer events" — relativni događaji pokazivača.
- «tablet» — podrška za unos s tableta.
- "text-input" — organizacija unosa teksta.
- "xdg-foreign" — sučelje za interakciju sa površinama "susjednog" klijenta.
- "xdg-decoration" — iscrtavanje dekoracija prozora na strani servera.
- "xdg-output" — dodatne informacije o video izlazu (koristi se za fractional scaling).
- «xwayland-keyboard-grab» — hvatanje ulaza u XWayland aplikacijama.
Izvor: opennet.ru
