Nyolc hónapos fejlesztés után bemutatták a Wayland 1.25 protokoll, az interprocess kommunikációs mechanizmus és a könyvtárak stabil kiadását. Az 1.25 ág visszafelé kompatibilis az 1.x verziókkal API és ABI szinten, és elsősorban hibajavításokat és apróbb protokollfrissítéseket tartalmaz. A projekt fejlesztése MIT licenc alatt kerül forgalomba. A referencia kompozit szerver, a Weston, amely kódot és működő példákat biztosít a Wayland használatához asztali környezetekben és beágyazott megoldásokban, külön fejlesztési ciklusban fejlődik.
Főbb változások a protokollban:
- A dokumentáció DocBook formátumból mdBook (Markdown) formátumba került átkonvertálásra.
- Teljesen dokumentálva van a Wayland XML dialektus, a tartalomfrissítési modell, valamint a színkezelési lehetőségek.
- Új „frozen” attribútum került hozzáadásra az egynél több szülő interfésszel rendelkező interfészekhez.
- Új wl_surface.get_release kérés került bevezetésre, amely értesítést ad a kliens által wl_surface.attach révén csatlakoztatott puffer felszabadításáról. A wl_surface.get_release értesítése a konkrét rajzolási pillanathoz van kötve, ellentétben a wl_buffer.release-szel.
- Bevezetésre került a wl_display_dispatch_pending_single() funkció, amely lehetővé teszi az események sorából csak egy esemény kiemelését és feldolgozását, nem pedig az összes felhalmozódott eseményt, ahogyan azt a wl_display_dispatch_pending() végzi.
- Biztosítva van a WAYLAND_DEBUG megfelelő színekre való kiemelése.
A Wayland 1.25 kiadása óta hozzáadott protokollel bővített kiegészítések, amelyek kiegészítik az alap Wayland protokollt és külön Wayland-Protocols készletben kerülnek forgalomba:
- xx-input-method — lehetővé teszi az alkalmazások számára, hogy szövegbevitel módszereket valósítsanak meg kompozitok számára. 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).
- Fejlesztették a color-management-v1 és color-representation-v1 protokollokat, amelyek lehetőséget biztosítanak a színkezelésre, HDR támogatásra és a Wayland felület színábrázolásának meghatározására.
A legfontosabb események a Wayland-del kapcsolatban, amelyek a legutóbbi kiadás óta történtek:
- A GNOME 50 támogatása az X11-nek megszűnt. A KDE Plasma 6.8-ban döntés született az X11 támogatásának leállításáról.
- A JetBrains az IntelliJ IDE alapértelmezett használatára váltja a Waylandot.
- Az Xfce bejelentette az Xfwl4 kompozit szervert, amely Waylandot használ.
- A Budgie 10.10 asztali környezet Waylandra váltott.
- QNX Developer Desktop Wayland alapú.
- A Marathon OS mobil operációs rendszer Wayland alapú.
- A Wayback kiadás, amely lehetővé teszi az X11 munkafelületek futtatását Wayland összetevőkkel.
- A Cinnamonban opcionális lehetőség került hozzáadásra Wayland session fájlok telepítésére, és megvalósult a billentyűzetkiosztás váltásának lehetősége Wayland használatakor.
- A wine meghajtóban Wayland alapú környezetek esetén megvalósították a vágólap, a bevitel módszerei, a nem téglalap alakú ablakok és az átlátszóság támogatását.
- A Cairo-Dock támogatást kapott Wayland számára.
- A kompozit szerverek frissítése: Weston 15.0, River 0.4.0, Hyprland 0.54, labwc 0.9.4, Niri 25.11, miracle-wm 0.8, Wayfire 0.10, wlmaker 0.6, labwc 0.9.0.
Emlékeztetünk arra, hogy a Wayland egy kompozit protokoll, a szerver amely az azzal együttműködő alkalmazásokra is vonatkozik. Az ügyfelek önállóan végzik el az ablakok kirajzolását külön buferben, és átadják a frissítések információját a kompozitnak, szerverhez, amely a különböző alkalmazások buferjeinek tartalmát egyesíti az utolsó kimenet előállításához, figyelembe véve az esetleges finomságokat, mint például az ablakok átfedése és átlátszóság. Más szóval, a kompozit szerver nem biztosít API-t az egyes elemek kirajzolásához, hanem csak a már létrehozott ablakokkal operál, ami lehetővé teszi a dupla buferezés elkerülését a magas szintű könyvtárak, például a GTK és a Qt révén, amelyek magukra vállalják az ablakok tartalmának elrendezését.
A Wayland sok biztonsági problémát megold az X11-hez képest, mivel elszigeteli a bemenetet és a kimenetet minden ablak számára, megakadályozza, hogy a kliens hozzáférjen más kliensek ablakainak tartalmához, és nem engedi meg más ablakokhoz kapcsolódó bemeneti események elfogását. A Wayland közvetlen támogatása megvalósult a Linuxban használt grafikus könyvtárak többségében, beleértve a GTK-t, a Qt-t, az SDL-t, a FLTK-t, a wxWidgets-t, a Clutter-t és az EFL-t (Enlightenment Foundation Library).
A Wayland/Weston hardverezérlőivel való interakció, például az inicializálás elvégzése, a videomódok váltása (drm modesetting) és a memória kezelése (GEM az i915-höz és TTM a radeon és nouveau számára) grafikuskártyákhoz közvetlenül a kernel szintjén működő modullal történhet, ami lehetővé teszi a szuperfelhasználói jogosultságok megkerülését. A hagyományos X11-alkalmazások futtatásának biztosítása érdekében a Wayland-alapú környezetben az XWayland (Device-Dependent X) DDX komponenst használják, amely működésében hasonlít az Xwin és Xquartz platformokra a Win32 és macOS rendszerekhez.


Forrás: opennet.ru
