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

Roman Gilg, účastnící se vývoje KDE, Wayland, Xwayland a X Server, představil projekt KWinFT (KWin Fast Track), který vyvíjí flexibilní a snadno použitelný kompozitní správce oken pro Wayland a X11, založený na kódu KWin. Kromě správce oken projekt také rozvíjí knihovnu wrapland s implementací obalového rozhraní nad libwayland pro Qt/C++, která pokračuje ve vývoji KWayland, ale zbavenou vazby na Qt. Kód je distribuován pod licencemi GPLv2 a LGPLv2.

Cílem projektu je přepracování KWin a KWayland s využitím
moderních technologií a vývojových praktik, které umožňují urychlit rozvoj projektu, provést refaktoring kódu, přidat optimalizace a zjednodušit přidávání základních novinek, jejichž integrace do KWin je v aktuální podobě složitá. KWinFT a Wrapland mohou být použity pro transparentní náhradu KWin a KWayland, ale nejsou omezeny rámcem, který naloží KWin mnoha produktům, zachování plné kompatibility s nimiž je prioritou bránící pokroku novinek.

V KWinFT mají vývojáři volné ruce a mohou experimentovat s novými možnostmi, přičemž zajistí stabilitu díky využití modernějších vývojových technik. Například pro testování kódu KWinFT je použita sada pro kontinuální integraci, zahrnující kontrolu různými lintry, automatické vytváření sestav a rozšířené testování. Pokud jde o vývoj funkčnosti, v KWinFT bude hlavní důraz kladen na zajištění kvalitní a plné podpory protokolu
Wayland, včetně přepracování architektonických zvláštností KWin, které ztěžují integraci s Wayland.

Mezi již přidanými experimentálními novinkami v KWinFT lze zmínit:

  • Přepracovaný proces kompozice, který výrazně zlepšil vykreslování obsahu řízeného X11 a Wayland. Dále byl přidán časovač pro minimalizaci zpoždění mezi vytvořením obrazu a jeho zobrazením na obrazovce.
  • Byla implementována rozšíření protokolu Wayland „viewporter“, které umožňuje klientovi provádět operace ke škálování a ořezávání okrajů plochy na straně serveru. V kombinaci s dalším významným vydáním XWayland toto rozšíření umožní emulaci změny rozlišení obrazovky pro staré hry.
  • Úplná podpora otáčení a zrcadlení výstupu pro sezení založená na Waylandu.

Wrapland poskytuje rozhraní navržené ve stylu Qt, které nabízí přístup k funkcím libwayland v uživatelsky přívětivé podobě pro projekty v C++. Původně bylo plánováno vyvíjet Wrapland jako fork KWayland, ale z důvodu neuspokojivého stavu kódu KWayland je nyní považován za projekt k úplné přepracování KWayland. Nejvýznamnějším rozdílem mezi Wrapland a KWayland je odstranění vazby na Qt a možnost používání samostatně bez instalace Qt. V budoucnu bude Wrapland moci být použito jako univerzální knihovna s API pro C++, zbavující vývojáře nutnosti používat C API libwayland.

Hotové balíčky jsou připraveny pro uživatele Manjaro Linux. Pro použití KWinFT stačí nainstalovat z repozitáře kwinft, a pro návrat k výchozímu KWin je třeba nainstalovat balíček kwin. Použití Wrapland není omezeno na KDE, například je připravena implementace klienta pro použití v wlroots protokolu pro řízení výstupu, který umožňuje použít KScreen pro nastavení výstupu na kompozičních serverech založených na wlroots (Sway, Wayfire).

Mezitím, pokračují publikovat aktualizace projektu KWin-lowlatency, tvořící edici kompozičního správce KWin s patchemi pro zvýšení odezvy rozhraní a opravu některých problémů souvisejících s rychlostí reakce na uživatelské akce, jako je zpomalení vstupu. Pro zajištění ochrany proti vzniku trhání obrazu (tearing) bez negativního vlivu na odezvu, kromě DRM VBlank, KWin-lowlatency podporuje použití glXWaitVideoSync, glFinish nebo NVIDIA VSync (původně implementovaná ochrana proti trhání v KWin je realizována s použitím časovače a může vést k velkým zpožděním (až 50 ms) výstupu a v důsledku toho k opoždění reakce na vstup). Nové verze KWin-lowlatency mohou být použity místo výchozího kompozičního serveru v KDE Plasma 5.18.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster