KWinFT, KWini kahvel, mis keskendub Waylandile, tutvustas

Roman Gilg, osalevad KDE, Waylandi, Xwaylandi ja X Serveri arendamisel, tutvustatud projekt KWinFT (KWin Fast Track), arendades koodibaasil põhinevat paindlikku ja hõlpsasti kasutatavat liitaknahaldurit Waylandi ja X11 jaoks Kwin. Lisaks aknahaldurile arendatakse projekti raames ka raamatukogu mähismaa libwaylandi sidumise rakendamisega Qt/C++ jaoks, jätkuv arendus KWayland, kuid vabastatud sidumisest Qt-ga. Koodi levitatakse GPLv2 ja LGPLv2 litsentside alusel.

Projekti eesmärk on KWini ja KWaylandi taaskasutamine
kaasaegsed tehnoloogiad ja arenduspraktikad, mis võimaldavad projekti arendust kiirendada, koodi ümber kujundada, optimeerida ja lihtsustada fundamentaalsete uuenduste lisamist, mille integreerimine KWini praegusel kujul on keeruline. KWinFT-d ja Wraplandi saab kasutada KWini ja KWaylandi sujuvaks asendamiseks, kuid neid ei piira paljude toodete KWin-i lukustus, kus täieliku ühilduvuse säilitamine on prioriteet, mis takistab innovatsiooni edasiliikumist.

KWinFT-ga on arendajatel vabad käed uute funktsioonidega katsetamiseks, säilitades samal ajal stabiilsuse, kasutades kaasaegsemaid arendustehnikaid. Näiteks KWinFT koodi kontrollimiseks kasutatakse pidevat integreerimissüsteemi, mis hõlmab erinevate linterite abil kontrollimist, sõlmede automaatset genereerimist ja täiustatud testimist. Funktsionaalsuse arendamisel on KWinFT põhirõhk kvaliteetse ja täieliku protokolli toe pakkumisel
Wayland, sealhulgas KWini arhitektuuriliste funktsioonide ümbertöötamine, mis raskendavad integreerimist Waylandiga.

KWinFT-le juba lisatud eksperimentaalsete uuenduste hulgas on järgmised:

  • Koostamisprotsessi on ümber töödeldud, mis on oluliselt parandanud X11 ja Waylandi töötavate sisu renderdamist. Lisaks on lisatud taimer, et minimeerida viivitusi pildi loomise ja selle ekraanil kuvamise vahel.
  • Rakendas Waylandi protokolli laienduse "vaateporter“, võimaldades kliendil teostada serveripoolset skaleerimist ja pinnaservade kärpimist. Koos XWaylandi järgmise suurema väljalasega annab laiendus võimaluse emuleerida vanemate mängude ekraani eraldusvõime muutusi.
  • Waylandi-põhiste seansside väljundi pööramise ja peegeldamise täielik tugi.

Wrapland pakub Qt-stiilis programmeerimisliidest, mis pakub juurdepääsu libwaylandi funktsioonidele C++ projektides hõlpsasti kasutataval kujul. Algselt plaaniti Wraplandit arendada KWaylandi hargina, kuid KWaylandi koodi ebarahuldava seisu tõttu kaalutakse seda nüüd KWaylandi täieliku ümberehituse projektina. Kõige olulisem erinevus Wraplandi ja KWaylandi vahel on see, et see pole enam Qt-ga seotud ja seda saab kasutada eraldi ilma Qt installimata. Tulevikus saab Wraplandi kasutada universaalse teekina koos C++ API-ga, mistõttu ei pea arendajad kasutama libwayland C API-d.

Manjaro Linuxi kasutajatele luuakse valmispaketid. KWinFT kasutamiseks installige lihtsalt hoidlast kwinft ja standardsele KWinile naasmiseks installige pakett kwin. Wraplandi kasutamine ei piirdu KDE-ga, näiteks on kliendirakendus ette valmistatud kasutamiseks wlroots väljundi juhtimisprotokoll, mis võimaldab ühendada wlrootsil põhinevaid komposiitservereid (Kõikuma, Teetuli) kasutage väljundi kohandamiseks KScreeni.

Vahepeal jätka projekti uuendused avaldatakse KWin-madal latentsus, moodustades KWini liithalduri väljaande koos paikadega, et suurendada liidese reageerimisvõimet ja parandada mõningaid kasutaja toimingutele reageerimise kiirusega seotud probleeme, nagu sisendi kogelemine. Lisaks DRM VBlankile toetab KWin-lowlatency ka glXWaitVideoSynci, glFinishi või NVIDIA VSynci kasutamist, et pakkuda kaitset rebenemise eest, mõjutamata negatiivselt reageerimisvõimet (KWini algne rebenemiskaitse rakendatakse taimeriga ja see võib viia suurte latentsusaegadeni (kuni 50 ms) ja selle tulemusena vastuse viivitus sisestamisel). KWin-lowlatency uusi versioone saab KDE Plasma 5.18 varukomposiitserveri asemel kasutada.

Allikas: opennet.ru

Lisa kommentaar