KWinFT, en gaffel av KWin fokuserad på Wayland, introducerades

Roman Gilg, deltar i utvecklingen av KDE, Wayland, Xwayland och X Server, lämnats projektet KWinFT (KWin Fast Track), utvecklar en flexibel och lättanvänd sammansatt fönsterhanterare för Wayland och X11 baserad på kodbasen Kwin. Förutom fönsterhanteraren utvecklar projektet även ett bibliotek wrapland med implementeringen av en bindning över libwayland för Qt/C++, fortsatt utveckling KWayland, men befriad från bindning till Qt. Koden distribueras under GPLv2- och LGPLv2-licenser.

Målet med projektet är att återvinna KWin och KWayland med hjälp av
modern teknik och utvecklingsmetoder som gör att du kan påskynda utvecklingen av projektet, omstrukturera koden, lägga till optimeringar och förenkla tillägget av grundläggande innovationer, vars integration i KWin i sin nuvarande form är svår. KWinFT och Wrapland kan användas för att sömlöst ersätta KWin och KWayland, men de begränsas inte av KWin-inlåsningen av många produkter där upprätthållande av full kompatibilitet är en prioritet som förhindrar innovation från att gå framåt.

Med KWinFT har utvecklare fria händer att experimentera med nya funktioner samtidigt som de behåller stabiliteten genom att använda mer moderna utvecklingstekniker. För att till exempel kontrollera KWinFT-koden används ett kontinuerligt integrationssystem, inklusive verifiering med olika linters, automatisk generering av sammansättningar och omfattande tester. När det gäller funktionsutveckling kommer huvudfokus för KWinFT att ligga på att tillhandahålla högkvalitativt och komplett protokollstöd
Wayland, inklusive omarbetning av KWin-arkitektoniska funktioner som komplicerar integrationen med Wayland.

Bland de experimentella innovationerna som redan lagts till i KWinFT är:

  • Sammansättningsprocessen har omarbetats, vilket avsevärt har förbättrat renderingen av innehåll som kör X11 och Wayland. Dessutom har en timer lagts till för att minimera förseningar mellan skapandet av en bild och dess visning på skärmen.
  • Implementerade en förlängning av Wayland-protokollet "tittare", vilket gör att klienten kan utföra skalning på serversidan och trimning av ytkanter. I kombination med nästa stora utgåva av XWayland kommer tillägget att ge möjligheten att emulera skärmupplösningsförändringar för äldre spel.
  • Fullständigt stöd för att rotera och spegla utdata för Wayland-baserade sessioner.

Wrapland tillhandahåller ett programmeringsgränssnitt i Qt-stil som ger tillgång till libwayland-funktioner i en form som är lätt att använda i C++-projekt. Wrapland var ursprungligen planerat att utvecklas som en gaffel av KWayland, men på grund av det otillfredsställande tillståndet i KWayland-koden betraktas det nu som ett projekt för att totalrenovera KWayland. Den viktigaste skillnaden mellan Wrapland och KWayland är att den inte längre är bunden till Qt och kan användas separat utan att installera Qt. I framtiden kan Wrapland användas som ett universellt bibliotek med ett C++ API, vilket eliminerar behovet för utvecklare att använda libwayland C API.

Färdiga paket skapas för Manjaro Linux-användare. För att använda KWinFT, installera bara kwinft från förvaret, och för att gå tillbaka till standard KWin, installera kwin-paketet. Användningen av Wrapland är inte begränsad till KDE, till exempel har en klientimplementering förberetts för användning i wlrötter utdatakontrollprotokoll, som tillåter in sammansatta servrar baserade på wlroots (Vingla, Wayfire) använd KScreen för att anpassa utdata.

Under tiden, fortsätta projektuppdateringar kommer att publiceras KWin-låg latens, bildar en utgåva av KWin-komposithanteraren med patchar för att öka gränssnittets lyhördhet och åtgärda vissa problem som är förknippade med hastigheten för svar på användaråtgärder, såsom ingångsstamning. Förutom DRM VBlank stöder KWin-lowlatency användningen av glXWaitVideoSync, glFinish eller NVIDIA VSync för att ge skydd mot rivning utan att negativt påverka responsen (KWins ursprungliga rivningsskydd implementeras med hjälp av en timer och kan leda till stora latenser (upp till 50ms) utdata och, som ett resultat, en fördröjning i svaret vid inmatning). Nya utgåvor av KWin-lowlatency kan användas istället för den sammansatta lagerservern i KDE Plasma 5.18.

Källa: opennet.ru

Lägg en kommentar