Megjelent a Wayland-Protocols 1.41, amely támogatja a színkezelést és az HDR-t.

Megjelent a wayland-protocols 1.41 verziója, amely tartalmaz egy protokoll és kiterjesztés készletet, amelyek kiegészítik a Wayland alap protokollját és biztosítják az összetett kiszolgálók és felhasználói környezetek építéséhez szükséges funkciókat.

Az új verzióban a «staging» kategóriába került a 2014 óta fejlesztés alatt álló color-management protokoll, amely lehetőséget nyújt a színkezelésre és a kibővített dinamikai tartomány (HDR, High Dynamic Range) támogatására. Az új kiterjesztés segítségével az ügyfélalkalmazások információkat kaphatnak a színvisszaadással kapcsolatos jellemzőkről, valamint átadhatják a kompozitor szervernek a saját tartalmuk színvisszaadásának jellemzőit. A kompozitorban 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.

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

  • „viewporter” – lehetővé teszi a kliens számára, hogy méretezési és felületi vágási műveleteket végezzen a szerver oldalon.
  • 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).
  • A content-type - lehetővé teszi az ügyfelek számára, hogy a kompozit szervernek információkat adjanak át a megjelenítendő tartalomról, melyek felhasználhatóak a tartalomhoz igazodó viselkedés optimalizálására, például specifikus DRM-tulajdonságok beállítására, mint például a «content type». Az alábbi tartalomtípusok támogatása van bejelentve: none (nincs információ az adatok típusáról), photo (digitális fényképek megjelenítése, amely minimális feldolgozást igényel), video (videó vagy animáció, amely pontosabb szinkronizálást igényel a megakadások elkerülése érdekében) és game (játékok indítása, amely minimális késleltetést igényel).
  • 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 bufer szinkronizálásához a DRM (Direct Rendering Manager) szinkronizáló objektumai segítségével. Azt várják, hogy a buffer renderelése során a javasolt protokoll javítja a Vulkan és OpenGL alapú grafikus API-kkal való együttműködést (a megvalósítás a meghajtókban található kezelőkön alapul). Az új protokoll lehetővé teszi annak biztosítását, hogy a bufferbe történő renderelési művelet befejeződjön, mielőtt a kompozitor megjelenítené a buffer tartalmát.
  • 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 '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.

Minden protokoll fokozatosan átmegy a fejlesztés, tesztelés és stabilizálás fázisain. A fejlesztési szakasz (unstable kategória) befejezését követően a protokoll átkerül a „staging” ágba, és hivatalosan is beépül a wayland-protocols készletbe, majd a tesztelési fázis befejezése után stabil kategóriába kerül. A „staging” kategóriában lévő protokollokat már alkalmazni lehet a kompozit szervereken és klienseken, ahol a megfelelő funkciókra van szükség. A „staging” kategóriában a kompatibilitást sértő módosítások tiltottak, de ha tesztelés során problémák vagy hiányosságok merülnek fel, nem zárható ki a protokoll jelentős új verziójának vagy más Wayland-kiterjesztésének 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).

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