UtgÄvan av wayland-protocols 1.35 har publicerats, innehÄllande en uppsÀttning protokoll och tillÀgg som kompletterar funktionerna i det grundlÀggande Wayland-protokollet och tillhandahÄller de funktioner som krÀvs för att bygga kompositservrar och anvÀndarmiljöer.
Alla protokoll genomgĂ„r tre faser i tur och ordning â utveckling, testning och stabilisering. NĂ€r utvecklingsfasen Ă€r avslutad (kategori "unstable") placeras protokollet i "staging"-grenen och inkluderas officiellt i paketet wayland-protocols, och efter avslutad testning flyttas det till den stabila kategorin. Protokoll frĂ„n "staging"-kategorin kan redan anvĂ€ndas i kompositservrar och klienter dĂ€r den relaterade funktionaliteten krĂ€vs. Till skillnad frĂ„n "unstable"-kategorin Ă€r förĂ€ndringar som bryter kompatibiliteten förbjudna i "staging", men om problem och brister upptĂ€ckts under testningen, utesluts inte ersĂ€ttning med en betydande ny version av protokollet eller nĂ„got annat Wayland-tillĂ€gg.
I den nya versionen:
- Protokollet tablet-v2 har överförts till stabil kategori, vilket tillhandahÄller medel för att organisera inmatning frÄn grafiska tabletter.
- Ett nytt protokoll, alpha-modifier, har lagts till i kategorin "staging", vilket möjliggör för klienter att Àndra transparensnivÄn för ytan och flytta operationer för att sÀkerstÀlla transparens till kompositserverns sida, som i sin tur kan vidarebefordra dessa operationer till KMS.
- I protokollet xdg-shell har en rekommendation lagts till om att inte visa dekoration utanför fönstrets geometriska grÀnser, vid anvÀndning av mosaikfönsterkomposition.
För nÀrvarande ingÄr följande stabila protokoll i wayland-protocols, dÀr bakÄtkompatibilitet sÀkerstÀlls:
- «viewporter» â möjliggör för klienten att utföra Ă„tgĂ€rder för att zooma och beskĂ€ra kanterna pĂ„ ytan pĂ„ serversidan.
- «presentation-time» â sĂ€kerstĂ€ller videovisning.
- «xdg-shell» â ett grĂ€nssnitt för att skapa och interagera med ytor som fönster, vilket möjliggör att flytta dem pĂ„ skĂ€rmen, minimera, maximera, Ă€ndra storlek, etc.
- «linux-dmabuf» â möjliggör delning av flera grafikkort med hjĂ€lp av DMA-BUF-teknologi (tillĂ„ter skapandet av wl_buffer baserat pĂ„ DMA-BUF).
- "tablet" â organisation av inmatning frĂ„n grafiska tabletter.
Protokoll som testas i «staging»-grenen:
- drm-lease â tillhandahĂ„ller resurser som krĂ€vs för att skapa stereobilder med olika buffertar för vĂ€nster och höger öga vid visning pĂ„ virtuella hjĂ€lmar.
- «ext-session-lock» â definierar medel för att lĂ„sa sessionen, till exempel under arbetet med skĂ€rmslĂ€ckaren eller vid visning av autentiseringsdialogen.
- «single-pixel-buffer» â möjliggör skapandet av enpixelbuffertar som innehĂ„ller fyra 32-bitars RGBA-vĂ€rden.
- «xdg-activation» â tillĂ„ter att byta fokus mellan olika förstapartsytor (till exempel kan ett program med hjĂ€lp av xdg-activation byta fokus till ett annat).
- content-type â lĂ„ter klienter skicka till kompositen servern Information about displayed content that can be used to optimize behavior based on content, for example, specifying specific DRM features such as 'content type'. Support is declared for the following content types: none (no information about data types), photo (output of digital photos, requiring minimal processing), video (video or animation, requiring more precise synchronization to eliminate stuttering), and game (running games, requiring output with minimal delay).
- ext-idle-notify â gör det möjligt för kompositservrar att överföra notifieringar om anvĂ€ndarens inaktivitet till klienter, vilket kan anvĂ€ndas för att aktivera ytterligare energisparlĂ€gen efter viss tid av inaktivitet.
- tearing-control â möjliggör att stĂ€nga av vertikal synkronisering (VSync) i helskĂ€rmsapplikationer med bildsekvensdĂ€mpande puls, vilket anvĂ€nds för att förhindra uppkomsten av tearing i utmatningen. I multimediaapplikationer Ă€r framtrĂ€dandet av artefakter pĂ„ grund av tearing en oönskad effekt, medan det i spelapplikationer gĂ„r att acceptera, om kampen mot dem leder till extra fördröjningar.
- ext-foreign-toplevel-list â hĂ€mtar information om ytor som Ă€r placerade pĂ„ högsta nivĂ„n (toplevel) som möjliggör att fĂ€sta fönster ovanpĂ„ annat innehĂ„ll, till exempel för att ansluta egna paneler och fönstervĂ€xlare.
- security-context â möjliggör identifiering av kunder som anvĂ€nder sandbox-isolering. En klient kan registrera en ny anslutning till en sammansatt server baserad pĂ„ Wayland och koppla en sĂ€kerhetskontext till den, varefter den angivna sĂ€kerhetskontexten begrĂ€nsar de möjligheter som Ă€r tillgĂ€ngliga för den etablerade förbindelsen av kompositmanagern.
- cursor-shape â ett alternativt sĂ€tt att konfigurera utseendet pĂ„ muspekaren, baserat pĂ„ att överföra en serie muspekarsbilder istĂ€llet för att knyta dem till ytan (wl_surface).
- «ext-transient-seat» â Ă€r avsedd för att skapa temporĂ€ra oberoende sessioner (seat) som Ă€r utformade för anvĂ€ndning med virtuella inmatningsenheter. Till exempel vid implementering av möjligheten att ansluta till ett fjĂ€rrskrivbord protokollet gör det möjligt att skapa en separat session med virtuellt tangentbord och mus för varje anvĂ€ndare.
- «xdg-toplevel-drag» â utökar mekanismen för «drag & drop» med möjligheten att koppla toppnivĂ„fönster till en flyttoperation, vilket kan anvĂ€ndas, till exempel, för att organisera musdragning av verktygsfĂ€lt eller flikar i webblĂ€saren. Det nya protokollet möjliggör skapandet av löstagbara delar av fönstret, som vid dragning frĂ„n detta fönster blir nya fönster och kan flyttas ovanpĂ„ ett befintligt fönster innan de Ă„terkopplas.
- «xdg-dialog» â gör det möjligt att tilldela ytor pĂ„ högsta nivĂ„n egenskaper som Ă€r specifika för dialogfönster, till exempel kan man skapa modala dialoger som blockerar anvĂ€ndarens interaktion med resten av grĂ€nssnittet.
- «linux-drm-syncobj» â tillhandahĂ„ller verktyg för tydlig synkronisering av buffertar med hjĂ€lp av DRM (Direct Rendering Manager) synkroniseringsobjekt. Det förvĂ€ntas att det föreslagna protokollet kommer att förbĂ€ttra arbetet med drivrutiner baserade pĂ„ grafik-API:er sĂ„som Vulkan och OpenGL i samband med rendering i buffert. Det nya protokollet gör det möjligt att försĂ€kra sig om att renderingsoperationen i bufferten Ă€r slutförd innan kompositchefen visar denna buffert.
Protokollen som utvecklas i "unstable"-grenen:
- "fullscreen-shell" â hantering av arbete i helskĂ€rmslĂ€ge.
- "input-method" â hantering av inmatningsmetoder.
- "idle-inhibit" â blockering av skĂ€rmslĂ€ckare.
- "input-timestamps" â tidsstĂ€mplar för inmatningsevent.
- "keyboard-shortcuts-inhibit" â hantering av kopplingar för tangentbordsgenvĂ€gar och snabbkommandon.
- "linux-explicit-synchronization" â en Linux-specifik mekanism för buffertsynkronisering kopplad till ytan.
- "pointer-gestures" â hantering av pekskĂ€rmsrörelser.
- "pointer constraints" â begrĂ€nsningar för pekare (blockering).
- "primary-selection" â pĂ„ liknande sĂ€tt som X11 möjliggör arbete med primĂ€r urklipp (primary selection), dĂ€r information vanligtvis klistras in med musens mittknapp.
- "relative pointer events" â relativa pekarevent.
- "text-input" â organiserad textinmatning.
- "xdg-foreign" â grĂ€nssnitt för interaktion med ytor frĂ„n en "grann"-klient.
- "xdg-decoration" â rendering av fönsterdekorationer pĂ„ serversidan.
- "xdg-output" â ytterligare information om videoutgĂ„ng (anvĂ€nds för brĂ„kdelad skalning).
- "xwayland-keyboard-grab" â fĂ„ngst av inmatning i XWayland-applikationer.
KĂ€lla: opennet.ru
