Po devíti měsících vývoje byl zveřejněn stabilní release kompozitního serveru Weston 15.0, který rozvíjí technologie, jež podporují plnou implementaci protokolu Wayland v prostředích jako Enlightenment, GNOME, KDE a dalších uživatelských rozhraních. Vývoj Weston se zaměřuje na poskytování kvalitního základního kódu a pracovních příkladů pro využití Wayland v desktopových prostředích a vestavěných řešeních, jako jsou platformy pro automobilové infotainment systémy, smartphony, televize a další spotřební zařízení. Kód projektu je distribuován pod licencí MIT.
Změny v nové větvi Weston:
- Byl přidán nový grafický shell „lua-shell“ (spouští se jako „weston --shell=lua“), který umožňuje používat jazyk Lua k přizpůsobení chování správy oken a vytváření zcela přizpůsobených uživatelských prostředí. Jako příklad byla na základě „lua-shell“ implementována jednoduchá dlaždicová správa oken.
- Byl přidán experimentální renderovací backend, který pro výstup používá grafické API Vulkan (aktivuje se jako „weston --renderer=vulkan“). Backend umožňuje spouštět Weston na jiných kompozitních serverech postavených na Waylandu a X11, a zároveň pracovat přímo s ovladači subsystému DRM jádra, které podporují Vulkan 1.0. K backendu byly přidány Wayland klienti simple-vulkan a simple-dmabuf-vulkan. servery Byla přidána podpora protokolů Wayland commit-timing-v1 a fifo-v1. Protokol commit-timing umožňuje přiřadit časové omezení k obsahu plochy (kompozitní server by měl zobrazit změnu obsahu v co nejkratším možném čase, ale ne dříve). Protokol fifo realizuje FIFO mechanismus zpracování fronty pro aktualizace obsahu zobrazené plochy. V kombinaci tyto protokoly umožňují dosáhnout plynulého výstupu a zobrazování snímků s ohledem na vertikální synchronizaci při aplikacích jako jsou hry a přehrávání videa. Byla přidána podpora Vulkan rozšíření VK_KHR_present_id2 a VK_KHR_present_wait2, které umožňují dosáhnout přenosu snímků v režimu FIFO, ale bez zvyšování latencí.
- Přidána podpora protokolů Wayland commit-timing-v1 a fifo-v1. Protokol commit-timing umožňuje spojit časové omezení s obsahem plochy (kompozitní server by měl provést změnu obsahu, co nejdříve to jde, ale ne dříve). Protokol fifo implementuje FIFO mechanismus pro zpracování fronty aktualizací obsahu zobrazené plochy. Tyto protokoly umožňují plynulé zobrazování a snímání snímků s ohledem na vertikální synchronizaci, což je užitečné pro hry a přehrávání videa. Byla přidána podpora Vulkan rozšíření VK_KHR_present_id2 a VK_KHR_present_wait2, které umožňují přenos snímků v režimu FIFO, ale bez zvyšování latencí.
- Byla přidána podpora protokolu Wayland color-representation-v1 pro stanovení barevného zobrazení Wayland povrchu, která je nezbytná pro podporu HDR a správné vykreslování plnofarebných YUV bufferů. Protokol umožňuje Wayland klientům předávat metadata potřebná pro definici průhlednosti, barevného modelu, subdiskretní a kompresní rozsah, které se používají při převodu bufferu s daty barevního modelu YUV na reprezentaci RGB. Byla přidána podpora pixelových formátů s 10 bity na kanál, jako jsou NV15, NV20, NV30 a P030.
- Byla přidána možnost využívání modulů jádra KMS (Kernel Mode Setting) pro off-load operací převodu barev na stranu řadiče displeje.
- Byla poskytnuta možnost využití profileru Perfetto pro odhalení problémů s výkonem při vykreslování, stejně jako sledování a vizualizaci doby trvání různých operací.
- Do DRM backendu byla přidána základní podpora mechanismu VRR (Variable Refresh Rate), který adaptivně mění obnovovací frekvenci monitoru pro zajištění plynulosti a absence trhání během her a přehrávání videa. Pro použití je vyžadován DRM ovladač s podporou VRR.
Zdroj: opennet.ru
