KWinFT, en gaffel av KWin fokusert på Wayland, introdusert

Roman Gilg, deltar i utvikling av KDE, Wayland, Xwayland og X Server, innsendt prosjekt KWinFT (KWin Fast Track), utvikler en fleksibel og brukervennlig komposittvindusbehandler for Wayland og X11 basert på kodebasen Vinne. I tillegg til vindussjefen utvikler prosjektet også et bibliotek wrapland med implementering av en binding over libwayland for Qt/C++, fortsetter utviklingen KWayland, men frigjort fra binding til Qt. Koden distribueres under GPLv2- og LGPLv2-lisenser.

Målet med prosjektet er å resirkulere KWin og KWayland ved hjelp av
moderne teknologier og utviklingspraksis som lar deg fremskynde utviklingen av prosjektet, refaktorisere koden, legge til optimaliseringer og forenkle tillegget av grunnleggende innovasjoner, hvis integrering i KWin i sin nåværende form er vanskelig. KWinFT og Wrapland kan brukes til sømløst å erstatte KWin og KWayland, men de er ikke begrenset av KWin-innlåsingen av mange produkter der opprettholdelse av full kompatibilitet er en prioritet som hindrer innovasjon i å gå videre.

Med KWinFT har utviklere frie hender til å eksperimentere med nye funksjoner samtidig som de opprettholder stabilitet gjennom bruk av mer moderne utviklingsteknikker. For å sjekke KWinFT-koden, brukes for eksempel et kontinuerlig integrasjonssystem, inkludert verifisering ved bruk av forskjellige linters, automatisk generering av sammenstillinger og omfattende testing. Når det gjelder funksjonalitetsutvikling, vil hovedfokuset til KWinFT være på å tilby høykvalitets og komplett protokollstøtte
Wayland, inkludert omarbeiding av KWin-arkitektoniske funksjoner som kompliserer integrasjon med Wayland.

Blant de eksperimentelle nyvinningene som allerede er lagt til KWinFT er:

  • Sammensetningsprosessen har blitt omarbeidet, noe som har forbedret gjengivelsen av innhold som kjører X11 og Wayland betydelig. I tillegg er det lagt til en timer for å minimere forsinkelser mellom opprettelsen av et bilde og dets visning på skjermen.
  • Implementerte en utvidelse av Wayland-protokollen "viewporter", slik at klienten kan utføre skalering på serversiden og trimming av overflatekanter. Kombinert med den neste store utgivelsen av XWayland, vil utvidelsen gi muligheten til å emulere endringer i skjermoppløsningen for eldre spill.
  • Full støtte for rotering og speiling av utdata for Wayland-baserte økter.

Wrapland tilbyr et programmeringsgrensesnitt i Qt-stil som gir tilgang til libwayland-funksjoner i en form som er enkel å bruke i C++-prosjekter. Wrapland var opprinnelig planlagt utviklet som en gaffel av KWayland, men på grunn av den utilfredsstillende tilstanden til KWayland-koden, blir det nå vurdert som et prosjekt for å fullstendig overhale KWayland. Den viktigste forskjellen mellom Wrapland og KWayland er at den ikke lenger er knyttet til Qt og kan brukes separat uten å installere Qt. I fremtiden kan Wrapland brukes som et universelt bibliotek med en C++ API, noe som eliminerer behovet for utviklere å bruke libwayland C API.

Ferdige pakker er laget for Manjaro Linux-brukere. For å bruke KWinFT, installer bare kwinft fra depotet, og for å rulle tilbake til standard KWin, installer kwin-pakken. Bruken av Wrapland er ikke begrenset til KDE, for eksempel er det utarbeidet en klientimplementering for bruk i wlrøtter utgangskontrollprotokoll, tillater komposittservere basert på wlroots (Sway, Wayfire) bruk KScreen for å tilpasse utdataene.

I mellomtiden, Fortsette prosjektoppdateringer vil bli publisert KWin-lavlatens, og danner en utgave av KWin-komposittbehandleren med patcher for å øke responsen til grensesnittet og fikse noen problemer knyttet til responshastigheten på brukerhandlinger, for eksempel inngangstamming. I tillegg til DRM VBlank, støtter KWin-lowlatency bruken av glXWaitVideoSync, glFinish eller NVIDIA VSync for å gi beskyttelse mot riving uten å påvirke responsen negativt (KWins originale rivebeskyttelse implementeres ved hjelp av en timer og kan føre til store ventetider (opptil 50ms) utgang og, som et resultat, en forsinkelse i responsen ved inndata). Nye utgivelser av KWin-lowlatency kan brukes i stedet for den sammensatte serveren i KDE Plasma 5.18.

Kilde: opennet.ru

Legg til en kommentar