Roman Gilg, i udviklingen af KDE, Wayland, Xwayland og X Server, projekt (KWin Fast Track), der udvikler en fleksibel og brugervenlig sammensat vinduesadministrator til Wayland og X11, baseret på kodebasen . Udover vinduesadministratoren udvikler projektet også biblioteket med implementering af en indpakning over libwayland for Qt/C++, der fortsætter udviklingen af , men uden binding til Qt. Koden distribueres under GPLv2 og LGPLv2-licenserne.
Projektets mål er at revidere KWin og KWayland ved hjælp af
moderne teknologier og udviklingsmetoder, der muliggør hurtigere udvikling af projektet, kode-refaktorering, tilføjelse af optimeringer og forenkling af integrationen af fundamentale innovationer, hvis integration i KWin i sin nuværende form er besværlig. KWinFT og Wrapland kan bruges til at erstatte KWin og KWayland gennemsigtigt, men de er ikke begrænset af de rammer, der pålægges KWin af mange produkter, hvor fuld kompatibilitet er en prioritet, der forhindrer fremskridt med innovationer.
I KWinFT har udviklerne frie hænder til at eksperimentere med nye funktioner, mens de opretholder stabiliteten ved at anvende mere moderne udviklingsteknikker. For eksempel anvendes et kontinuerligt integrationssystem til at teste KWinFT-koden, hvilket inkluderer kontrol ved hjælp af forskellige linters, automatisk opbygning og omfattende testning. Med hensyn til funktionalitet vil hovedfokus i KWinFT være på at sikre stærk og fuld støtte til protokollen
Wayland, herunder en revision af KWins arkitektoniske egenskaber, der komplicerer integrationen med Wayland.
Blandt de eksperimentelle innovationer, der allerede er tilføjet til KWinFT, bemærkes:
- Proceskompositionen er blevet revideret, hvilket har betydet betydelige forbedringer af indholdsgengivelse under kontrol af X11 og Wayland. Der er også tilføjet en timer til at minimere forsinkelser mellem oprettelsen af et billede og dets visning på skærmen.
- Der er implementeret en udvidelse af Wayland-protokollen "", som gør det muligt for klienten at udføre handlinger såsom skalering og beskæring af overfladekanter på serversiden. I kombination med den næste betydelige udgivelse af XWayland vil udvidelsen muliggøre simuleringen af ændringer i skærmopløsningen for gamle spil.
- Fuld støtte til rotering og spejling af output for sessioner baseret på Wayland.
Wrapland tilbyder et Qt-stilprogrammeringsgrænseflade, der giver adgang til libwayland-funktioner i en form, der er nem at bruge i C++-projekter. Oprindeligt planlagde Wrapland at udvikle som et fork af KWayland, men på grund af KWaylands utilfredsstillende kodestatus betragtes det nu som et komplet omlægningsprojekt for KWayland. Den mest markante forskel mellem Wrapland og KWayland er afskaffelsen af afhængighed af Qt og muligheden for at bruge det separat uden installation af Qt. I fremtiden kan Wrapland bruges som et universelt bibliotek med C++ API, hvilket frigør udviklere fra nødvendigheden af at bruge libwayland's C API.
Færdige pakker er dannet til Manjaro Linux-brugere. For at bruge KWinFT skal du blot installere fra lageret kwinft, og for at gå tilbage til standard KWin - skal du installere pakken kwin. Brug af Wrapland er ikke begrænset til KDE, for eksempel er der forberedt en klientimplementering til brug i output management-protokol, som gør det muligt at anvende KScreen til konfiguration af output i sammensatte servere baseret på wlroots (, ).
I mellemtiden opdateringer af projektet , som former en version af KWin compositing manager med patches til at forbedre systemets responsivitet og rette nogle af de problemer, der er relateret til reaktionstid ved brugerhandlinger, såsom input lag. For at beskytte mod tearing uden negativ indflydelse på responsivitet understøtter KWin-lowlatency udover DRM VBlank brugen af glXWaitVideoSync, glFinish, eller NVIDIA VSync (den oprindelige beskyttelse mod tearing i KWin er implementeret ved hjælp af en timer og kan føre til betydelige forsinkelser (op til 50 ms) i output og dermed til input-lag). Nye versioner af KWin-lowlatency kan bruges i stedet for standard compositing server i KDE Plasma 5.18.
Kilde: opennet.ru
