KWinFT, 'n vurk van KWin gefokus op Wayland, bekendgestel

Roman Gilg, deelneem in ontwikkeling van KDE, Wayland, Xwayland en X Server, voorgelê projek KWinFT (KWin Fast Track), ontwikkel 'n buigsame en maklik-om-te gebruik saamgestelde vensterbestuurder vir Wayland en X11 gebaseer op die kodebasis Wen. Benewens die vensterbestuurder, ontwikkel die projek ook 'n biblioteek wrapland met die implementering van 'n binding oor libwayland vir Qt/C++, voortgesette ontwikkeling KWayland, maar bevry van binding aan Qt. Die kode word onder GPLv2- en LGPLv2-lisensies versprei.

Die doel van die projek is om KWin en KWayland te herwin met behulp van
moderne tegnologieë en ontwikkelingspraktyke wat jou toelaat om die ontwikkeling van die projek te bespoedig, die kode te herfaktoriseer, optimaliserings by te voeg en die toevoeging van fundamentele innovasies te vereenvoudig, waarvan die integrasie in KWin in sy huidige vorm moeilik is. KWinFT en Wrapland kan gebruik word om KWin en KWayland naatloos te vervang, maar hulle word nie beperk deur die KWin-insluiting van baie produkte waar die handhawing van volle versoenbaarheid 'n prioriteit is wat verhoed dat innovasie vorentoe beweeg nie.

Met KWinFT het ontwikkelaars 'n vrye hand om met nuwe kenmerke te eksperimenteer terwyl hulle stabiliteit behou deur die gebruik van meer moderne ontwikkelingstegnieke. Byvoorbeeld, om die KWinFT-kode na te gaan, word 'n deurlopende integrasiestelsel gebruik, insluitend verifikasie met behulp van verskillende linters, outomatiese generering van samestellings en gevorderde toetsing. Wat funksionaliteitsontwikkeling betref, sal die hooffokus van KWinFT wees op die verskaffing van hoëgehalte en volledige protokolondersteuning
Wayland, insluitend die herbewerking van KWin-argitektoniese kenmerke wat integrasie met Wayland bemoeilik.

Van die eksperimentele innovasies wat reeds by KWinFT gevoeg is, is:

  • Die samestellingsproses is herwerk, wat die weergawe van inhoud met X11 en Wayland aansienlik verbeter het. Daarbenewens is 'n timer bygevoeg om vertragings tussen die skep van 'n prent en die vertoon daarvan op die skerm te verminder.
  • Het 'n uitbreiding van die Wayland-protokol geïmplementeer "kyker“, wat die kliënt toelaat om bedienerkant skaal en afsny van oppervlakrande uit te voer. Gekombineer met die volgende groot weergawe van XWayland, sal die uitbreiding die vermoë bied om skermresolusieveranderinge vir ouer speletjies na te boots.
  • Volle ondersteuning vir draai- en weerspieëling van uitset vir Wayland-gebaseerde sessies.

Wrapland bied 'n Qt-styl programmeringskoppelvlak wat toegang bied tot libwayland-funksies in 'n vorm wat maklik is om in C++-projekte te gebruik. Wrapland was oorspronklik beplan om ontwikkel te word as 'n vurk van KWayland, maar as gevolg van die onbevredigende toestand van die KWayland-kode, word dit nou beskou as 'n projek om KWayland heeltemal op te knap. Die belangrikste verskil tussen Wrapland en KWayland is dat dit nie meer aan Qt gekoppel is nie en afsonderlik gebruik kan word sonder om Qt te installeer. In die toekoms kan Wrapland as 'n universele biblioteek met 'n C++ API gebruik word, wat die behoefte vir ontwikkelaars om die libwayland C API te gebruik, uitskakel.

Klaargemaakte pakkette word vir Manjaro Linux-gebruikers geskep. Om KWinFT te gebruik, installeer kwinft vanaf die bewaarplek, en om terug te draai na standaard KWin, installeer die kwin-pakket. Die gebruik van Wrapland is nie beperk tot KDE nie, byvoorbeeld, 'n kliëntimplementering is voorberei vir gebruik in wlroots uitvoerbeheerprotokol, wat in saamgestelde bedieners gebaseer op wlroots (Sway, Wegvuur) gebruik KScreen om die uitvoer aan te pas.

Intussen het aanhou projekopdaterings sal gepubliseer word KWin-lae latensie, wat 'n uitgawe van die KWin-saamgestelde bestuurder met pleisters vorm om die responsiwiteit van die koppelvlak te verhoog en 'n paar probleme op te los wat verband hou met die spoed van reaksie op gebruikeraksies, soos insethakkel. Benewens DRM VBlank, ondersteun KWin-lowlatency die gebruik van glXWaitVideoSync, glFinish of NVIDIA VSync om beskerming teen skeur te bied sonder om reaksie negatief te beïnvloed (KWin se oorspronklike skeurbeskerming word geïmplementeer met 'n timer en kan lei tot groot vertragings (tot 50ms) uitset en, as gevolg daarvan, 'n vertraging in die reaksie by invoer). Nuwe vrystellings van KWin-lowlatency kan gebruik word in plaas van die voorraad saamgestelde bediener in KDE Plasma 5.18.

Bron: opennet.ru

Voeg 'n opmerking