Portál AbcLinuxu, 8. května 2025 10:41
Roman Gilg na svém blogu představil a vysvětlil důvody vzniku svého nového projektu KWinFT (KWin Fast Track). Jedná se o fork správce oken KWin. Součástí projektu KWinFT je Wrapland, fork knihovny KWayland.
Tiskni
Sdílej:
Roman Gilg, přispěvatel do KDE, Wayland, Xwayland a X Server, představil projekt KWinFT (KWin Fast Track), který vyvíjí flexibilní a snadno použitelný správce kompozitních oken pro Wayland a X11 založený na kódové základně KWin . Kromě správce oken projekt také vyvíjí knihovnu wrapland s implementací vazeb přes libwayland pro Qt / C ++, která pokračuje ve vývoji KWayland , ale je zbavena vazby na Qt. Kód je distribuován na základě licencí GPLv2 a LGPLv2. Cílem projektu je přepracovat KWin a KWayland pomocí moderních technologií a vývojových postupů, které urychlují vývoj projektu, kód refaktorů, přidávají optimalizace a zjednodušují přidávání základních inovací, které je obtížné integrovat do KWin ve své současné podobě. KWinFT a Wrapland lze použít k průhledné nahrazení KWin a KWayland, ale nejsou omezeny na rámec, který KWin ukládá mnoho produktů, přičemž zachování úplné kompatibility s nimi je prioritou, která brání rozvoji inovací. V KWinFT mají vývojáři ruce a mohou experimentovat s novými funkcemi, které se snaží udržovat stabilitu pomocí modernějších vývojových technik. Například pro ověření kódu KWinFT je zapojen kontinuální integrační systém, včetně ověření pomocí různých linterů, automatické generování sestav a pokročilého testování. Co se týče rozvoje funkčnosti, hlavní zaměření KWinFT bude na poskytování vysoce kvalitní a plné podpory protokolu Wayland, včetně přepracování architektonických prvků KWin, které komplikují integraci s Waylandem. Mezi experimentální inovace již přidané do KWinFT patří: Proces komponování byl přepracován, což výrazně zlepšilo vykreslování obsahu pod kontrolou X11 a Wayland. Kromě toho byl přidán časovač pro minimalizaci zpoždění mezi vytvářením a zobrazením obrazu. Bylo implementováno rozšíření „ prohlížeče “ protokolu Wayland , což umožňuje klientovi provádět akce pro změnu měřítka a oříznutí okrajů povrchu na straně serveru. V kombinaci s příštím hlavním vydáním XWayland vám rozšíření umožní napodobit změnu rozlišení obrazovky pro starší hry. Plná podpora rotace a zrcadlení výstupu pro relace založené na Waylandu. Program Wrapland poskytuje programovací rozhraní ve stylu Qt, které poskytuje přístup k funkcím libwayland ve formě vhodné pro použití v projektech C ++. Zpočátku plánovali vývoj Wraplandu jako vidlice KWaylandu, ale vzhledem k neuspokojivému stavu kódu KWayland se nyní považuje za projekt kompletního zpracování KWaylandu. Nejdůležitější rozdíl mezi Wraplandem a KWaylandem je odstranění vazby na Qt a možnost samostatného použití bez instalace Qt. V budoucnu bude Wrapland moci být používán jako univerzální knihovna s C ++ API, což eliminuje potřebu vývojářů používat C libwayland API. Připravené balíčky jsou vytvářeny pro uživatele systému Manjaro Linux. Chcete-li povolit KWinFT, stačí nainstalovat kwinft z úložiště a vrátit se zpět k běžnému KWin, nainstalovat balíček kwin. Použití Wrapland není omezeno na KDE, například byla připravena implementace klienta pro protokol řízení výstupu používaný ve wlroots , který umožňuje použití KScreen ke konfiguraci výstupu v kompozitních serverech založených na wlroots ( Sway , Wayfire ). Mezitím budou nadále zveřejňovány aktualizace projektu KWin-lowlatency, vytvoření redakční rady kompozitního manažera KWin s opravami pro zvýšení citlivosti rozhraní a vyřešení některých problémů souvisejících s rychlostí reakce na akce uživatele, jako je zpomalení vstupu. Pro zajištění ochrany proti roztržení během výstupu, aniž by to negativně ovlivnilo odezvu, podporuje KWin-lowlatency kromě DRM VBlank také použití glXWaitVideoSync, glFinish nebo NVIDIA VSync (ochrana mezer původně přítomná v KWin je implementována pomocí časovače a může vést k velkým zpožděním ( až 50ms) na výstupu a v důsledku toho na zpoždění reakce na vstupu). Nové verze KWin-lowlatency lze použít místo standardního složeného serveru v KDE Plasma 5.18.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.