Představen KWinFT, fork KWin zaměřený na Wayland

Roman Gilg, účastnící se ve vývoji KDE, Wayland, Xwayland a X Server, představen projekt KWinFT (KWin Fast Track), vývoj flexibilního a snadno použitelného správce kompozitních oken pro Wayland a X11 na základě kódové základny Vyhrát. Kromě správce oken projekt vyvíjí také knihovnu zábal s implementací vazby přes libwayland pro Qt/C++, pokračující vývoj KWayland, ale zbaven vazby na Qt. Kód je distribuován pod licencemi GPLv2 a LGPLv2.

Cílem projektu je recyklace KWin a KWayland pomocí
moderní technologie a vývojové postupy, které umožňují urychlit vývoj projektu, refaktorovat kód, přidat optimalizace a zjednodušit přidávání zásadních inovací, jejichž integrace do KWin v současné podobě je obtížná. KWinFT a Wrapland lze použít k bezproblémové náhradě KWin a KWayland, ale nejsou omezeny uzamčením KWin mnoha produktů, kde je zachování plné kompatibility prioritou, která brání inovaci postupovat kupředu.

S KWinFT mají vývojáři volnou ruku experimentovat s novými funkcemi při zachování stability pomocí modernějších vývojových technik. Například pro kontrolu KWinFT kódu se používá kontinuální integrační systém včetně ověřování pomocí různých linterů, automatického generování sestav a pokročilého testování. Z hlediska vývoje funkčnosti se KWinFT zaměří především na poskytování vysoce kvalitní a kompletní podpory protokolů
Wayland, včetně přepracování architektonických prvků KWin, které komplikují integraci s Wayland.

Mezi experimentální inovace již přidané do KWinFT patří:

  • Proces skládání byl přepracován, což výrazně zlepšilo vykreslování obsahu běžícího na X11 a Wayland. Navíc byl přidán časovač, který minimalizuje prodlevy mezi vytvořením snímku a jeho zobrazením na obrazovce.
  • Implementováno rozšíření protokolu Wayland "prohlížeč“, což klientovi umožňuje provádět škálování na straně serveru a ořezávání okrajů povrchu. V kombinaci s dalším velkým vydáním XWayland bude rozšíření poskytovat schopnost emulovat změny rozlišení obrazovky pro starší hry.
  • Plná podpora pro rotaci a zrcadlení výstupu pro relace založené na Wayland.

Wrapland poskytuje programovací rozhraní ve stylu Qt, které poskytuje přístup k funkcím libwayland ve formě snadno použitelné v projektech C++. Wrapland byl původně plánován jako fork KWayland, ale kvůli nevyhovujícímu stavu kódu KWayland se o něm nyní uvažuje jako o projektu na kompletní přepracování KWaylandu. Nejdůležitější rozdíl mezi Wraplandem a KWaylandem je v tom, že již není vázán na Qt a lze jej používat samostatně bez instalace Qt. V budoucnu může být Wrapland používán jako univerzální knihovna s C++ API, což vývojářům eliminuje potřebu používat libwayland C API.

Pro uživatele Manjaro Linux jsou vytvořeny hotové balíčky. Chcete-li použít KWinFT, stačí nainstalovat kwinft z úložiště a vrátit se zpět ke standardnímu KWin nainstalovat balíček kwin. Použití Wraplandu není omezeno na KDE, pro použití je například připravena klientská implementace wlroots protokol pro řízení výstupu, který umožňuje použití kompozitních serverů založených na wlroots (Houpat, Wayfire) použijte KScreen k přizpůsobení výstupu.

Mezitím pokračovat aktualizace projektu budou zveřejněny KWin-nízká latence, tvořící edici kompozitního manažera KWin se záplatami, které zvyšují odezvu rozhraní a opravují některé problémy spojené s rychlostí odezvy na akce uživatele, jako je zadrhávání vstupu. Kromě DRM VBlank podporuje KWin-lowlatency použití glXWaitVideoSync, glFinish nebo NVIDIA VSync pro zajištění ochrany proti roztržení bez negativního ovlivnění odezvy (původní ochrana proti roztržení KWin je implementována pomocí časovače a může vést k velkým latencím (až 50 ms) výstupu a v důsledku toho zpoždění odezvy při vstupu). Nová vydání KWin s nízkou latencí lze použít místo skladového kompozitního serveru v KDE Plasma 5.18.

Zdroj: opennet.ru

Přidat komentář