Predstavljen je KWinFT, fork KWin-a fokusiran na Wayland

Roman Gilg, učestvujući u razvoju KDE, Wayland, Xwayland i X Server, uveo nacrt KWinFT (KWin Fast Track), razvoj fleksibilnog i jednostavnog za korištenje kompozitnog upravitelja prozora za Wayland i X11 baziran na bazi koda Kwin. Pored menadžera prozora, projekat razvija i biblioteku wrapland sa implementacijom povezivanja preko libwaylanda za Qt/C++, nastavak razvoja KWayland, ali oslobođen vezivanja za Qt. Kod se distribuira pod GPLv2 i LGPLv2 licencama.

Cilj projekta je recikliranje KWin i KWayland korištenjem
moderne tehnologije i razvojne prakse koje vam omogućavaju da ubrzate razvoj projekta, refaktorirate kod, dodate optimizacije i pojednostavite dodavanje fundamentalnih inovacija, čija je integracija u KWin u njegovom trenutnom obliku teška. KWinFT i Wrapland se mogu koristiti za besprijekornu zamjenu KWin i KWayland, ali nisu ograničeni KWin zaključavanjem mnogih proizvoda gdje je održavanje pune kompatibilnosti prioritet koji sprječava napredak inovacija.

Sa KWinFT-om, programeri imaju odriješene ruke da eksperimentišu sa novim karakteristikama uz održavanje stabilnosti korišćenjem modernijih razvojnih tehnika. Na primjer, za provjeru KWinFT koda koristi se kontinuirani sistem integracije, uključujući verifikaciju pomoću različitih lintera, automatsko generiranje sklopova i opsežna testiranja. U smislu razvoja funkcionalnosti, glavni fokus KWinFT-a će biti na pružanju kvalitetne i kompletne protokolarne podrške
Wayland, uključujući preradu KWin arhitektonskih karakteristika koje komplikuju integraciju sa Waylandom.

Među eksperimentalnim inovacijama koje su već dodane u KWinFT su:

  • Proces sastavljanja je prerađen, što je značajno poboljšalo renderovanje sadržaja koji pokreće X11 i Wayland. Dodatno, dodat je tajmer kako bi se minimizirala kašnjenja između kreiranja slike i njenog prikaza na ekranu.
  • Implementirano proširenje Wayland protokola "viewporter“, omogućavajući klijentu da izvrši skaliranje na strani servera i obrezivanje ivica površine. U kombinaciji sa sljedećim velikim izdanjem XWaylanda, proširenje će pružiti mogućnost emulacije promjena rezolucije ekrana za starije igre.
  • Potpuna podrška za rotiranje i preslikavanje izlaza za Wayland-bazirane sesije.

Wrapland pruža programsko sučelje u Qt stilu koji omogućava pristup libwayland funkcijama u obliku koji je jednostavan za korištenje u C++ projektima. Wrapland je prvobitno planiran da se razvije kao fork KWaylanda, ali zbog nezadovoljavajućeg stanja KWayland koda, sada se razmatra kao projekat za potpunu reviziju KWaylanda. Najvažnija razlika između Wraplanda i KWaylanda je ta što više nije vezan za Qt i može se koristiti odvojeno bez instaliranja Qt-a. U budućnosti, Wrapland se može koristiti kao univerzalna biblioteka sa C++ API-jem, eliminišući potrebu da programeri koriste libwayland C API.

Za korisnike Manjaro Linuxa kreiraju se gotovi paketi. Da biste koristili KWinFT, samo instalirajte kwinft iz spremišta, a da biste se vratili na standardni KWin, instalirajte kwin paket. Upotreba Wrapland-a nije ograničena na KDE, na primjer, implementacija klijenta je pripremljena za korištenje u wlroots Protokol za kontrolu izlaza, koji omogućava uvođenje kompozitnih servera zasnovanih na wlroot-ima (njihanje, Wayfire) koristite KScreen da prilagodite izlaz.

U međuvremenu, nastaviti ažuriranja projekta će biti objavljena KWin-nisko kašnjenje, formirajući izdanje KWin kompozitnog menadžera sa zakrpama za povećanje odziva interfejsa i rešavanje nekih problema povezanih sa brzinom odgovora na radnje korisnika, kao što je zastoj u unosu. Uz DRM VBlank, KWin-lowlatency podržava upotrebu glXWaitVideoSync, glFinish ili NVIDIA VSync za pružanje zaštite od kidanja bez negativnog utjecaja na odziv (KWin-ova originalna zaštita od kidanja implementirana je pomoću tajmera i može dovesti do velikih kašnjenja (do 50ms) izlaza i, kao rezultat, kašnjenje u odgovoru prilikom unosa). Nova izdanja KWin-lowlatency mogu se koristiti umjesto osnovnog kompozitnog servera u KDE Plasma 5.18.

izvor: opennet.ru

Dodajte komentar