Predstavljen je KWinFT, fork KWina fokusiran na Wayland

Roman Gilg, sudjelujući u razvoju KDE, Wayland, Xwayland i X Server, podnijeti projekt KWinFT (KWin Fast Track), razvoj fleksibilnog i jednostavnog za korištenje složenog upravitelja prozora za Wayland i X11 na temelju baze koda Kwin. Uz upravitelj prozora, projekt također razvija knjižnicu omotač uz implementaciju povezivanja preko libwaylanda za Qt/C++, kontinuirani razvoj KWayland, ali oslobođen vezivanja za Qt. Kod se distribuira pod GPLv2 i LGPLv2 licencama.

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

S KWinFT-om programeri imaju slobodne ruke za eksperimentiranje s novim značajkama uz održavanje stabilnosti korištenjem modernijih razvojnih tehnika. Na primjer, za provjeru KWinFT koda koristi se kontinuirani integracijski sustav, uključujući provjeru pomoću različitih lintera, automatsko generiranje sklopova i napredno testiranje. Što se tiče razvoja funkcionalnosti, glavni fokus KWinFT-a bit će na pružanju visokokvalitetne i potpune podrške protokolu
Wayland, uključujući preradu KWin arhitektonskih značajki koje kompliciraju integraciju s Waylandom.

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

  • Proces sastavljanja je prerađen, što je značajno poboljšalo renderiranje sadržaja koji pokreće X11 i Wayland. Dodatno, dodan je mjerač vremena kako bi se smanjila kašnjenja između stvaranja slike i njezina prikaza na zaslonu.
  • Implementirano proširenje protokola Wayland "prikazivač“, omogućujući klijentu da izvrši skaliranje na strani poslužitelja i obrezivanje rubova površine. U kombinaciji sa sljedećim velikim izdanjem XWaylanda, proširenje će pružiti mogućnost oponašanja promjena rezolucije zaslona za starije igre.
  • Puna podrška za rotiranje i zrcaljenje izlaza za sesije temeljene na Waylandu.

Wrapland pruža programsko sučelje u stilu Qt-a koje omogućuje pristup libwayland funkcijama u obliku jednostavnom za korištenje u C++ projektima. Wrapland je izvorno planiran da bude razvijen kao fork KWaylanda, ali zbog nezadovoljavajućeg stanja KWayland koda, sada se razmatra kao projekt 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 zasebno bez instaliranja Qt-a. U budućnosti se Wrapland može koristiti kao univerzalna biblioteka s C++ API-jem, eliminirajući potrebu programera da koriste libwayland C API.

Za korisnike Manjaro Linuxa stvoreni su gotovi paketi. Za korištenje KWinFT-a samo instalirajte kwinft iz repozitorija, a za povratak na standardni KWin instalirajte kwin paket. Korištenje Wraplanda nije ograničeno na KDE, na primjer, klijentska implementacija je pripremljena za korištenje u wlroots protokol za kontrolu izlaza, dopuštajući kompozitne poslužitelje temeljene na wlroots (utjecaj, Wayfire) koristite KScreen za prilagodbu izlaza.

U međuvremenu, nastaviti ažuriranja projekta bit će objavljena KWin-niska latencija, tvoreći izdanje kompozitnog upravitelja KWin sa zakrpama za povećanje brzine odziva sučelja i rješavanje nekih problema povezanih s brzinom odgovora na radnje korisnika, kao što je zastajkivanje unosa. Uz DRM VBlank, KWin-lowlatency podržava korištenje glXWaitVideoSync, glFinish ili NVIDIA VSync za pružanje zaštite od kidanja bez negativnog utjecaja na odziv (KWin-ova izvorna zaštita od kidanja implementirana je pomoću mjerača vremena i može dovesti do velikih latencija (do 50 ms) izlaza i, kao rezultat, kašnjenje u odgovoru prilikom unosa). Nova izdanja KWin-lowlatency mogu se koristiti umjesto standardnog kompozitnog poslužitelja u KDE Plasma 5.18.

Izvor: opennet.ru

Dodajte komentar