Po deviatich mesiacoch vývoja bol vydaný stabilný release kompozitného servera Weston 15.0, ktorý vyvíja technológie, ktoré podporujú plnú kompatibilitu s protokolom Wayland v prostrediach Enlightenment, GNOME, KDE a iných používateľských prostrediach. Vývoj Weston je zameraný na poskytovanie kvalitnej základne kódu a pracovných príkladov pre využitie Wayland v desktopových prostrediach a integrovaných riešeniach, ako sú platformy pre automobilové informačné a zábavné systémy, smartfóny, televízory a iné spotrebiteľské zariadenia. Kód projektu je distribuovaný pod licenciou MIT.
Zmeny v novej verzii Westonu:
- Pridalo sa nové grafické rozhranie „lua-shell“ (vyvoláva sa ako „weston —shell=lua“), ktoré umožňuje používať jazyk Lua na prispôsobenie správania správy okien a vytvorenie plne prispôsobených používateľských prostredí. Ako príklad bola na báze „lua-shell“ implementovaná jednoduchá mozaiková správa okien.
- Pridaný experimentálny backend pre vykresľovanie, ktorý využíva grafické API Vulkan (aktivuje sa ako „weston —renderer=vulkan“). Backend umožňuje spustiť Weston nad inými kompozitnými servermi založenými na Wayland a X11 a taktiež priamo pracovať s ovládačmi subsystému DRM v jadre, ktoré podporujú Vulkan 1.0. Na doplnenie backendu sú pridaní Wayland klienti simple-vulkan a simple-dmabuf-vulkan. serverov Bola pridaná podpora protokolov Wayland commit-timing-v1 a fifo-v1. Protokol commit-timing umožňuje viazať časové obmedzenie na obsah povrchu (kompozitný server musí zobraziť zmenu obsahu v čo najkratšom čase, ale nie skôr). Protokol fifo implementuje FIFO mechanizmus spracovania fronty aktualizácie obsahu zobrazeného povrchu. V kombinácii tieto protokoly umožňujú dosiahnuť plynulé vykresľovanie a zobrazenie snímok so zohľadnením vertikálneho synchronizovania pri aplikáciách, ako sú hry a prehrávanie videa. Pridaná podpora Vulkan rozšírení VK_KHR_present_id2 a VK_KHR_present_wait2, ktoré umožňujú dosiahnuť prenos snímok v režime FIFO, ale bez zvyšovania latencie.
- Pridaná podpora Wayland protokolov commit-timing-v1 a fifo-v1. Protokol commit-timing umožňuje viazať časové obmedzenie na obsah povrchu (kompozitný server musí zobraziť zmenu obsahu v čo najkratšom čase, ale nie skôr). Protokol fifo implementuje FIFO mechanizmus spracovania fronty aktualizácie obsahu zobrazeného povrchu. V kombinácii tieto protokoly umožňujú dosiahnuť plynulé vykresľovanie a zobrazenie snímok so zohľadnením vertikálneho synchronizovania pri aplikáciách, ako sú hry a prehrávanie videa. Pridaná podpora Vulkan rozšírení VK_KHR_present_id2 a VK_KHR_present_wait2, ktoré umožňujú dosiahnuť prenos snímok v režime FIFO, ale bez zvyšovania latencie.
- Pridaná podpora protokolu Wayland pre color-representation-v1 na definovanie farebného zastúpenia Wayland plochy, potrebného na podporu HDR a správne vykresľovanie plnofarebných YUV-bufrov. Protokol umožňuje klientom Wayland odovzdávať metadata, potrebné na určenie priehľadnosti, farebného modelu, subdiskretizácie a rozsahu kvantovania, ktoré sa aplikujú pri konverzii buffera s dátami farebného modelu YUV do RGB. Pridaná podpora pixelových formátov s 10 bitmi na kanál, ako sú NV15, NV20, NV30 a P030.
- Pridaná možnosť využitia modulov jadra KMS (Kernel Mode Setting) na externé vykonávanie operácií konverzie farieb na strane ovládača displeja.
- Poskytnutá možnosť využitia profileru Perfetto na identifikáciu problémov s výkonom pri vykresľovaní, ako aj na sledovanie a vizualizáciu času vykonávania rôznych operácií.
- Do DRM backendu bola pridaná základná podpora mechanizmu VRR (Variable Refresh Rate), ktorý adaptívne mení frekvenciu obnovovania monitora na zabezpečenie plynulosti a odstránenie trhnutí počas hier a prehrávania videa. Na jeho používanie je potrebný DRM ovládač s podporou VRR.
Zdroj: opennet.ru
