Roman Gilg, aan de ontwikkeling van KDE, Wayland, Xwayland en X Server, project (KWin Fast Track), een flexibele en gebruiksvriendelijke compositing window manager voor Wayland en X11, gebaseerd op de codebasis Naast de window manager ontwikkelt het project ook de bibliotheek met een implementatie van een wrapper bovenop libwayland voor Qt/C++, die de ontwikkeling van , maar zonder de binding aan Qt. De code wordt verspreid onder de GPLv2 en LGPLv2 licenties.
Het doel van het project is om KWin en KWayland te herzien met behulp van
moderne technologieƫn en ontwikkelingspraktijken, waardoor de ontwikkeling van het project kan versnellen, de code kan worden heringericht, optimalisaties kunnen worden toegevoegd en de implementatie van fundamentele innovaties kan worden vereenvoudigd, waarvan de integratie in KWin in zijn huidige staat problematisch is. KWinFT en Wrapland kunnen worden gebruikt als transparante vervangingen voor KWin en KWayland, maar ze zijn niet beperkt tot de restricties die KWin aan veel producten oplegt, waarvan volledige compatibiliteit een prioriteit is die de voortgang van innovaties belemmert.
In KWinFT hebben ontwikkelaars de vrijheid om te experimenteren met nieuwe mogelijkheden, waarbij stabiliteit wordt behouden door het gebruik van modernere ontwikkelingsmethoden. Zo is voor het testen van de code van KWinFT een continue integratiesysteem in gebruik, dat onder meer controleert met verschillende linters, automatische builds genereert en uitgebreide tests uitvoert. Wat de ontwikkeling van functionaliteit betreft, ligt de nadruk in KWinFT op het waarborgen van een hoogwaardige en volledige ondersteuning van het protocol
Wayland, inclusief het herzien van architectonische kenmerken van KWin, die de integratie met Wayland gecompliceerd maken.
Onder de al toegevoegde experimentele innovaties in KWinFT zijn de volgende te vermelden:
- Het compositietproces is herzien, wat heeft geleid tot aanzienlijke verbeteringen in de weergave van content onder X11 en Wayland. Daarnaast is er een timer toegevoegd om vertragingen tussen het creƫren van een afbeelding en de weergave ervan op het scherm te minimaliseren.
- De Wayland-protocoluitbreiding "" is geĆÆmplementeerd, waarmee de client acties kan uitvoeren voor het schalen en bijsnijden van de randen van een oppervlakte aan de serverzijde. In combinatie met de volgende significante release van XWayland, zal de uitbreiding de mogelijkheid bieden om de schermresolutie voor oude games te emuleren.
- Volledige ondersteuning voor draaien en spiegelen van uitvoer voor sessies op basis van Wayland.
Wrapland biedt een Qt-stijl gebruikersinterface die toegang biedt tot de functies van libwayland in een gebruiksvriendelijke vorm voor C++-projecten. Aanvankelijk was Wrapland bedoeld als een fork van KWayland, maar vanwege de ontevredenheid over de code van KWayland wordt het nu gezien als een project voor een volledige herziening van KWayland. Het belangrijkste verschil tussen Wrapland en KWayland is de afweging van Qt, waardoor het apart kan worden gebruikt zonder Qt te installeren. In de toekomst zal Wrapland fungeren als een veelzijdige bibliotheek met een C++ API, die ontwikkelaars ontheft van de noodzaak om de C API van libwayland te gebruiken.
Klaar om pakketten zijn samengesteld voor gebruikers van Manjaro Linux. Om KWinFT te gebruiken, volstaat het om het pakket kwinft uit de repository te installeren, en om terug te keren naar de standaard KWin, installeert men het pakket kwin. Het gebruik van Wrapland is niet beperkt tot KDE, bijvoorbeeld, er is een implementatie van een client voorbereid voor het gebruik in de uitvoercontroleprotocol, waarmee KScreen in compositors op basis van wlroots (, ) kan worden gebruikt voor het configureren van uitvoer.
Ondertussen, worden projectupdates gepubliceerd , die een editie van de compositormanagers KWin vormt met patches voor het verbeteren van de interface-reactietijd en het verhelpen van enkele problemen met de gebruikersinputreactietijd, zoals inputvertraging. Om bescherming tegen tearing bij uitvoer te bieden zonder negatieve invloed op de reactiesnelheid, ondersteunt KWin-lowlatency naast DRM VBlank ook het gebruik van glXWaitVideoSync, glFinish of NVIDIA VSync (de oorspronkelijk in KWin aanwezige bescherming tegen tearing is geĆÆmplementeerd met behulp van een timer en kan leiden tot aanzienlijke vertragingen (tot 50 ms) bij uitvoer en dus tot vertraagde reacties bij invoer). Nieuwe uitgaves van KWin-lowlatency kunnen worden gebruikt in plaats van de standaard compositor in KDE Plasma 5.18.
Bron: opennet.ru
