Megjelent a Wayland-Protocols 1.48

Megjelent a wayland-protocols 1.48 kiadása, amely tartalmaz egy sor protokollt és kiterjesztést, amelyek kiegészítik az alap Wayland protokollt, és biztosítják a szükséges lehetőségeket kompozit szerverek és felhasználói környezetek létrehozásához.

Az új verzióban:

  • Az «staging» kategóriába bekerült az xdg-session-management protokoll, amely lehetőséget biztosít az ablakok állapotának és pozíciójának helyreállítására a megszakított ülésben Wayland alapú környezetekben, például a kompozit szerver vagy alkalmazás összeomlása után.
  • Bővültek a text-input protokoll lehetőségei, amelyek lehetővé teszik a kompozit szerverek számára, hogy beviteli módszereket valósítsanak meg és szöveget küldjenek az alkalmazásokba. Például hozzáadódott a no_emoji zászló az emoji nélküli bevitelhez, támogatást kapott a szövegbeillesztésen kívüli további műveletek, bevezetésre került a language zászló a nyelvi információk továbbítására, hozzá lettek adva a megjelenítési és elrejtési kérések, valamint a preedit_hint zászló a stílusának beállításához.
  • Hozzáadódott az xx-cutouts kísérleti protokoll, amely információt nyújt a képernyő kivágásairól (például a fronthálózati kamera alatti területekről okostelefonok képernyőjén).
  • Hozzáadódott az xx-zones kísérleti protokoll, amely lehetővé teszi a csúcs szintű ablakok létrehozását és hozzáadását „zónákba” — olyan környezetek, amelyek saját koordináta-rendszerrel rendelkeznek. A protokoll logikai ablakelrendezést hoz létre, ahol minden ablak másik ablakhoz viszonyítva helyezkedik el.
  • Hozzáadódott az xx-keyboard-filter kísérleti protokoll, amely lehetővé teszi a klienseknek, hogy kiválasztott billentyűzet eseményeket fognak el, megváltoztatják a bevitel eseményeit, vagy blokkolják bizonyos események továbbítását a Wayland felületbe, ahol a bevitel fókuszálva van.

Minden protokoll folyamatosan fejlődési, tesztelési és stabilizálási fázisokon megy keresztül. A fejlesztési fázis (unstable kategória) befejezése után a protokoll bekerül a „staging” ágba, és hivatalosan is része lesz a wayland-protocols készletnek, majd a tesztelés befejezése után a stabil kategóriába kerül. A „staging” kategóriából származó protokollok már alkalmazhatók kompozitokban. szervereken és az ügyfeleknél, ahol a hozzájuk kapcsolódó funkcionalitás szükséges. A "staging" kategóriához képest az "unstable" esetében tilos a kompatibilitást sértő módosítások elvégzése, de ha a tesztelés során problémák vagy hiányosságok merülnek fel, nem zárható ki egy új, jelentős verzió vagy más Wayland-kiterjesztés cseréje.

A protokollok fejlesztőkhez való gyorsabb eljuttatásának érdekében, valamint a protokollok korai megvalósításának ösztönzésére, a két korábbi kiadás óta egy „experimental” fázis is bevezetésre került, amely lehetővé teszi a kompatibilitás megsértését és a „nyers” protokollok hozzáadását, amelyeket fokozatosan el lehet juttatni a megfelelő szintre. Ha egy protokoll „staging” fázisba való eljutásához szükséges a támogatói csapat kialakítása és egy bizonyos számú jóváhagyás (ACK) beszerzése a véleményező résztvevőktől, akkor az „experimental” fázisba való belépéshez elegendő, ha a véleményezés során két héten belül nincs ellenvélemény (NACK).

Jelenleg a wayland-protocols csomag a következő stabil protokollokat tartalmazza, amelyek biztosítják a visszafelé kompatibilitást:

  • viewporter" — lehetővé teszi az ügyfél számára, hogy tevékenységeket végezzen a felület méretezésére és a szélek levágására az oldalon a szerver.
  • A «presentation-time» - az videó megjelenítését biztosítja.
  • A «xdg-shell» - egy felületek létrehozására és azokkal való interakcióra szolgáló felület, amely lehetővé teszi azok mozgatását a képernyőn, minimalizálását, maximalizálását, méretezését stb.
  • A «linux-dmabuf» - lehetőséget biztosít wl_buffer-ek létrehozására DMA-BUF alapján.
  • A «tablet» - a grafikus táblagépekről történő bevitt adatok kezelését jelenti.

A «staging» ágban tesztelt protokollok:

  • A drm-lease - a szükséges erőforrásokat biztosítja a bal és jobb szem számára különböző pufferek révén a háromdimenziós képek megjelenítéséhez virtuális valóság sisakokban.
  • A «ext-session-lock» - a munkamenet zárolásához szükséges eszközöket határozza meg, például a képernyővédő működése vagy az azonosító párbeszédpanel megjelenítése során.
  • A «single-pixel-buffer» - lehetővé teszi egypixeles pufferek létrehozását, amelyek négy 32 bites RGBA értéket tartalmaznak.
  • A «xdg-activation» - lehetővé teszi a fókusz átvitelét különböző első szintű felületek között (például a xdg-activation révén egy alkalmazás fókuszt válthat egy másikra).
  • content-type — lehetővé teszi a kliensek számára, hogy átadják a kompozitnak szerverhez az aktuális tartalomra vonatkozó információkat, amelyek felhasználhatók a folyamat optimalizálására a tartalom figyelembevételével, például specifikus DRM-jellemzők, mint a "content type" beállítására. A következő tartalomtípusok támogatását hirdetik: none (nincs adat a típusra), photo (digitális fényképek megjelenítése, minimális feldolgozást igényel), video (videó vagy animáció, pontosabb szinkronizálás szükséges a megbicsaklások elkerüléséhez) és game (játékok indítása, minimális késleltetés szükséges a megjelenítéshez).
  • A ext-idle-notify - lehetőséget biztosít a kompozit szerverek számára, hogy értesítéseket küldjenek az ügyfeleknek a felhasználói inaktivitásról, amely az energiatakarékos üzemmódok aktiválására használható egy adott időszak inaktivitás után.
  • tearing-control — lehetővé teszi a függőleges szinkronizálás (VSync) kikapcsolását a teljes képernyős alkalmazásokban, amelyet a megjelenítéskor fellépő szakadások (tearing) megakadályozására használnak. A multimédia alkalmazásokban a szakadások okozta artefaktumok nemkívánatos hatásnak számítanak, azonban játékprogramokban az artefaktumok elfogadhatóak, ha a küzdelem velük késleltetéseket okoz.
  • ext-foreign-toplevel-list — információt nyújt a legfelső szinten elhelyezett felületekről (toplevel), amelyek lehetővé teszik az ablakok más tartalom felett történő rögzítését, például saját panelek és ablakváltók csatlakoztatására.
  • security-context — lehetővé teszi a sandbox-izolációt használó kliensek azonosítását. A kliens új kapcsolatot tud regisztrálni a Wayland alapú kompozit szerverhez, és hozzá tudja rendelni a biztonsági kontextust, amely alapján a kompozit menedzser korlátozza az adott kapcsolat számára elérhető lehetőségeket.
  • cursor-shape — alternatív módja a kurzor megjelenésének beállítására, amely alapján egy kurzor képkockasorozatot küldenek a felülethez (wl_surface) való hozzárendelés helyett.
  • «ext-transient-seat» — ideiglenes független ülések (seat) létrehozására szolgál, amelyeket virtuális bemeneti eszközökkel együtt lehet használni. Például egy távoli asztalhoz való csatlakozás lehetőségének megvalósításakor a protokoll lehetővé teszi, hogy minden felhasználó számára külön ülést hozzanak létre virtuális billentyűzettel és egérrel.
  • «xdg-toplevel-drag» — bővíti a „drag & drop” mechanizmust azzal a lehetőséggel, hogy a legfelső szintű ablakokat a mozgatási művelethez csatolhatják, ami például a panelek vagy a böngésző füljeinek egérrel történő áthúzására használható. Az új protokoll lehetővé teszi a leválasztható ablakelemek létrehozását, amelyek amikor ezen ablakból áthúzásra kerülnek, új ablakokká válnak és az aktuális ablak felett mozgathatók, mielőtt újra csatlakoznának.
  • «xdg-dialog» — lehetővé teszi a legfelső szintű felületek számára dialógusablak-specifikus tulajdonságok hozzárendelését, például létrehozva modális dialógusokat, amelyek blokkolják a felhasználó interakcióját a felhasználói felület többi részével.
  • A «linux-drm-syncobj» — eszközöket biztosít a bufferek explicit szinkronizálásához DRM (Direct Rendering Manager) szinkronizáló objektumok segítségével. Feltételezhető, hogy a bufferek rajzolásakor a javasolt protokoll javítja a Vulkan és OpenGL grafikus API-k alapú illesztőprogramok kezelését (az implementáció az illesztőprogramok kezelőin alapul). Az új protokoll lehetővé teszi, hogy megbizonyosodjunk arról, hogy a bufferekbe való rajzolási művelet befejeződött, mielőtt a kompozit menedzser ezt a buffert megjelenítené.
  • alpha-modifier, amely lehetővé teszi az ügyfelek számára a felület átlátszósági szintjének megváltoztatását, és megvalósítja az átlátszósági műveletek kompozit szerver oldalra történő áthelyezését, ami viszont átirányíthatja ezeket a műveleteket a KMS-nek.
  • xdg-toplevel-icon — ikon hozzárendelése a legfelső szintű ablakhoz.
  • ext-image-capture-source és ext-image-copy-capture — a képernyőn megjelenített tartalom rögzítésének megszervezése.
  • xdg-system-bell — lehetővé teszi a rendszerszelvényt, amely például figyelmeztetésként használható terminálemulátorban. A jelzés kimeneti formája a kompozit menedzser döntésétől függ, ez lehet nemcsak hang, hanem vizuális visszajelzés is.
  • fifo — megvalósítja a FIFO-m mechanismus (első be — első ki) a megjelenített felület tartalmának frissítési sorának kezeléséhez. Gyakorlatilag a protokoll lehetővé teszi a várakozást a függőleges elértékelés (vblank) befejezésére ahelyett, hogy callback hívásokat használnánk, amikor új keretet kell megjeleníteni, ami megoldja a GPU magas terheltségének problémáját a VSync használatakor.
  • commit-timing — lehetővé teszi, hogy időkorlátot hozzárendeljünk a felület tartalmához (a kompozit szervernek lehetőség szerint az adott időn belül kell megjelenítenie a tartalomváltozást, de nem korábban).
  • ext-data-control — lehetővé teszi a jogosult ügyfelek számára az adatok feldolgozásának kezelését, például a vágólapkezelők megvalósításához.
  • ext-workspace — megvalósítja a koncepciót vagy azok képernyőre történő áthelyezésére az egérrel való húzással a drag&drop módban. Új funkcióként bevezetésre került a virtuális asztalok rögzítése, amely lehetővé teszi a szükséges számú asztal nyitva tartását, függetlenül attól, hogy üresek-e vagy sem. és eseményeket kínál az asztalok állapotáról, valamint lehetőségeket a munkaterületek aktiválására és deaktiválására. A protokoll alkalmazható panelek és mutatók létrehozására, amelyek megjelenítik a rendelkezésre álló virtuális munkaasztalok listáját, és lehetővé teszik közöttük a váltást.
  • A színkezelés lehetőséget biztosít a szín kezelésére és a széles dinamikai tartomány (HDR, High Dynamic Range) támogatására. Az hozzáadott kiterjesztéssel az ügyfélalkalmazások információkat kaphatnak a színvisszaadással kapcsolatos jellemzőkről a kimeneti eszközökön, és a kompozit szervernek át tudják adni a saját tartalmuk színvisszaadási jellemzőit. A kompozitban szerveren ez az információ automatikus színkezelésre használható a tartalom megjelenítésénél különböző kimeneti eszközökön, például a tartalom átalakítására, amely megfelelő a HDR-monitorok megjelenítéséhez. A színterek leírására ICC profilok használatosak.
  • xdg-toplevel-tag — lehetővé teszi a Wayland-ügyfelek számára, hogy címkéket társítsanak a felső szintű felületekhez, amelyeket a kompozit szerver az alkalmazás újraindítása után az ablakok azonosítására használhat (például az alkalmazás A „fő ablak” és a „beállítások” címkéket állíthat be a fő ablakhoz és a beállításokat tartalmazó ablakhoz). Az ilyen azonosítás hasznos az ablakok pozíciójának, méretének és tulajdonságainak helyreállításában az újraindítás után, valamint egyedi szabályok meghatározásában az ablakok különféle típusaihoz.
  • color-representation — a Wayland-felület színképviseletének meghatározása. A Wayland-ügyfelek átadhatják a transzparencia, a színmodell, az aldiszkrétizálás és a kvantálási tartomány meghatározásához szükséges metadatákat, amelyek alkalmazandók a YCbCr színmodellhez tartozó adatok megszorításakor RGB képviseletre való átalakításkor.
  • ext-background-effect — hatások alkalmazása a Wayland felületének átlátszó részein, például a háttér elmosásán.
  • pointer-warp — lehetővé teszi az alkalmazás számára, hogy pillanatok alatt áthelyezze a kurzort a megadott pozícióba.

A „kísérleti” ágon fejlesztett protokollok:

  • xx-session-management — az ablakok állapotának helyreállítása megszakított ülésekhez (például a kompozit menedzser összeomlása után).
  • xx-input-method — lehetőséget ad az alkalmazásoknak, hogy szövegbevitel-módszereket valósítsanak meg összetett szerverek és alakítsák az beírt szöveget, amely például virtuális billentyűzetek és IME-rétegek (Input Method Editor) létrehozásánál használható a bevitel feldolgozásához.
  • xx-text-input — lehetővé teszi az összetett kiszolgálók számára, hogy bevitel-módszereket valósítsanak meg és szöveget küldjenek az alkalmazásokba. A protokoll standardizálja az interakciót az összetett szerverrel és az alkalmazások között, és lehetővé teszi olyan lehetőségek kezelését, mint a bevitt szöveg átvitele, a fókuszváltozási események kezelése és a bevitelmezők sajátosságainak figyelembevétele (nyelv, szövegkiemelés, tartalom típusa).

A 'unstable' ágon fejlesztett protokollok:

  • A 'fullscreen-shell' a teljes képernyős üzemmódban való működés kezelésére szolgál.
  • A 'input-method' a bevitel módszereinek kezelését végzi.
  • A 'idle-inhibit' megakadályozza a képernyővédő elindulását.
  • A 'input-timestamps' időbélyegeket ad az input eseményekhez.
  • A 'keyboard-shortcuts-inhibit' a billentyűkombinációk és gyorsgombok használatát korlátozza.
  • A 'linux-explicit-synchronization' egy Linux-specifikus mechanizmus a bufferek felületekhez való szinkronizálására.
  • A 'pointer-gestures' az érintőképernyők működését kezeli.
  • A 'pointer constraints' a mutatók korlátozásait (lezárva) kezeli.
  • A 'primary-selection' az X11-hez hasonlóan kezeli az elsődleges vágólapot, amelyből az információk általában a középső egérgombbal illeszthetőek be.
  • A 'relative pointer events' a relatív mutatóeseményeket támogatja.
  • A 'text-input' a szöveg bevitelének megszervezését végzi.
  • A 'xdg-foreign' interfészt biztosít a 'szomszédos' kliens felületeivel való interakcióra.
  • A 'xdg-decoration' az ablakok díszítéseit a szerver oldalán rajzolja meg.
  • A 'xdg-output' további információkat nyújt a video kimenetről (történetelemzéshez használják).
  • A 'xwayland-keyboard-grab' az XWayland alkalmazásokban történő bevitel elfogását végzi.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster