La pako wayland-protocols 1.35 estis publikigita, enhavanta aron da protokoloj kaj etendaĵoj, kiuj kompletigas la kapablojn de la baza Wayland-protokolo kaj disponigas la kapablojn necesajn por konstrui kunmetitajn servilojn kaj uzantmediojn.
Ĉiuj protokoloj sinsekve trapasas tri fazojn - evoluo, testado kaj stabiligo. Post kompletigado de la disvolva etapo (la "malstabila" kategorio), la protokolo estas metita en la "sceniga" branĉo kaj oficiale inkluzivita en la aro de wayland-protokoloj, kaj post kiam testado estas finita, ĝi estas movita al la stabila kategorio. Protokoloj de la kategorio "scenigo" jam povas esti uzataj en kunmetitaj serviloj kaj klientoj kie rilata funkcieco estas postulata. Male al la "malstabila" kategorio, "scenigo" malpermesas fari ŝanĝojn kiuj malobservas kongruon, sed se problemoj kaj mankoj estas identigitaj dum testado, anstataŭigo kun nova signifa versio de la protokolo aŭ alia Wayland-etendaĵo ne estas ekskludita.
En la nova versio:
- La protokolo tablet-v2 estis translokigita al la stabila kategorio, provizante ilojn por organizi enigon de grafikaj tabeloj.
- Nova alfa-modifiga protokolo estis aldonita al la "sceniga" kategorio, permesante al klientoj ŝanĝi la nivelon de surfaca travidebleco kaj translokigi travideblecojn al la flanko de la kunmetita servilo, kiu siavice povas plusendi ĉi tiujn operaciojn al KMS.
- Rekomendo estis aldonita al la protokolo xdg-shell ne montri dekoracion ekster la geometriaj limoj de la fenestro kiam oni uzas kahelitan fenestro-aranĝon.
Nuntempe, wayland-protokoloj inkludas la sekvajn stabilajn protokolojn, kiuj disponigas malantaŭan kongruecon:
- "vidportisto" - permesas al la kliento elfari skaladon kaj surfacrandan tondado agojn sur la servilflanko.
- "prezento-tempo" - provizas videan ekranon.
- "xdg-shell" estas interfaco por krei kaj interagi kun surfacoj kiel fenestroj, kiu permesas movi ilin ĉirkaŭ la ekrano, minimumigi, vastigi, regrandigi ktp.
- "linux-dmabuf" - provizas kundividon de pluraj vidkartoj uzante DMA-BUF-teknologion (ebligas al vi krei wl_buffer bazitan sur DMA-BUF).
- "tablojdo" - organizo de enigo de grafikaj tabuletoj.
Protokoloj testitaj en la "sceniga" branĉo:
- drm-lease - provizas la rimedojn necesajn por generi stereon bildon kun malsamaj bufroj por la maldekstraj kaj dekstraj okuloj dum eligo al virtualrealaj kapaŭskultiloj.
- "ext-session-lock" - difinas rimedon por ŝlosi seancon, ekzemple, dum la ekranŝparo funkcias aŭ la aŭtentikiga dialogo estas montrata.
- "single-pixel-buffer" - permesas al vi krei unu-pikselan bufrojn, kiuj inkluzivas kvar 32-bitajn RGBA-valorojn.
- "xdg-activation" - permesas vin translokigi fokuson inter malsamaj unuanivelaj surfacoj (ekzemple, uzante xdg-aktivigo, unu aplikaĵo povas ŝanĝi fokuson al alia).
- enhavo-tipo - permesas al klientoj pasi kompozitan servilo Informoj pri la montrata enhavo, kiuj povas esti uzataj por optimumigi enhavo-konscian konduton, kiel ekzemple agordi specifajn DRM-ecojn kiel "enhavotipo". Subteno por la jenaj enhavtipoj estas deklarita: neniu (neniu datumtipa informo), foto (cifereca foto-eligo postulanta minimuman prilaboradon), video (video aŭ animacio, postulanta pli precizan sinkronigadon por eviti balbutadojn), kaj ludo (ludlanĉo, postulanta eligon kun minimuma latenteco).
- ext-idle-notify - Permesas al kunmetitaj serviloj sendi sciigojn al klientoj pri uzanta neaktiveco, kiu povas esti uzata por aktivigi pliajn energiŝparreĝimojn post certa tempo de neaktiveco.
- tearing-control - permesas al vi malŝalti vertikalan sinkronigon (VSync) kun vertikala malseketiga pulso en plenekranaj aplikoj, uzata por protekti kontraŭ ŝirado en eligo. En plurmediaj aplikoj, artefaktoj pro ŝirado estas nedezirinda efiko, sed en videoludadprogramoj, artefaktoj povas esti toleritaj se trakti ilin kaŭzas kromajn prokrastojn.
- ext-foreign-toplevel-list - Prenas informojn pri surfacoj metitaj ĉe la supra nivelo, kiuj ebligas al vi organizi fenestrojn por albordiĝi al alia enhavo, ekzemple, por kunligi viajn proprajn panelojn kaj fenestroŝaltilojn.
- security-context - permesas vin identigi klientojn per sablokesto-izolado. Kliento povas registri novan ligon al Wayland-bazita kunmetita servilo kaj alkroĉi sekurecan kuntekston al ĝi, post kiu la kunmetaĵmanaĝero limigos la kapablojn haveblajn al la establita ligo bazita sur la precizigita sekureckunteksto.
- kursoro-formo estas alternativa maniero personecigi la aspekton de la kursoro, surbaze de pasado de serio da kursoraj bildoj anstataŭ alklaki al surfaco (wl_surface).
- "ext-transient-seat" estas desegnita por krei provizorajn sendependajn sesiojn (seĝojn) desegnitajn por uzo kun virtualaj enigaj aparatoj. Ekzemple, kiam oni efektivigas la kapablon konektiĝi al malproksima labortablo La protokolo permesas krei apartan sesion kun virtuala klavaro kaj muso por ĉiu uzanto.
- "xdg-toplevel-drag" - etendas la "drag & drop" mekanismon kun la kapablo alkroĉi supernivelajn fenestrojn al trena operacio, kiu povas esti uzata, ekzemple, por organizi trenadon de ilbretoj aŭ foliumiloj per la muso. La nova protokolo permesas krei forpreneblajn partojn de fenestro, kiuj, trenite de tiu fenestro, fariĝas novaj fenestroj kaj povas esti movitaj supre de la ekzistanta fenestro antaŭ ol esti alfiksitaj.
- "xdg-dialog" - permesas vin asigni dialog-specifajn atributojn al supraj surfacoj, ekzemple, vi povas krei modalaj dialogoj kiuj blokas uzantinteragon kun la resto de la interfaco.
- "linux-drm-syncobj" - Disponigas ilojn por eksplicite sinkronigi bufrojn per DRM (Direct Rendering Manager) sinkronigaj objektoj. Oni supozas, ke en la kunteksto de sinkronigo dum tirado al bufro, la proponita protokolo plibonigos laboron kun ŝoforoj bazitaj sur la grafikaj API de Vulkan kaj OpenGL (la efektivigo baziĝas sur pritraktiloj en la ŝoforoj). La nova protokolo ebligas certigi, ke bildiga operacio al bufro estas finita antaŭ ol la kunmetita administranto faras la bufron.
Protokoloj evoluantaj en la "malstabila" branĉo:
- "fullscreen-shell" - kontrolo de laboro en plenekrana reĝimo.
- "input-method" - prilaboraj enigmetodoj.
- "idle-inhibit" - blokante la lanĉon de la ekranŝparo (ekranŝparo).
- "input-timestamps" - tempomarkoj por enigokazaĵoj.
- "keyboard-shortcuts-inhibit" - kontrolas la aldonon de klavarkovoj kaj klavklavoj.
- "linux-explicit-synchronization" estas Linukso-specifa mekanismo por sinkronigi surfac-ligitajn bufrojn.
- "montriloj-gestoj" - kontrolo de tuŝekranoj.
- “pointer constraints” - montraj limigoj (blokado).
- "primara elekto" - analoge kun X11, ĝi certigas la funkciadon de la primara tondujo (primara elekto), el kiu informoj kutime estas enmetitaj per la meza musbutono.
- “relative pointer events” - relativaj montraj eventoj.
- “text-input” - organizo de teksta enigo.
- "xdg-foreign" estas interfaco por interagado kun la surfacoj de la "najbara" kliento.
- "xdg-decoration" - farante fenestroornamadojn ĉe la servilo.
- "xdg-output" - pliaj informoj pri la videoproduktaĵo (uzata por frakcia skalo).
- "xwayland-keyboard-grab" - kaptas enigaĵon en XWayland-aplikoj.
fonto: opennet.ru
