KWinFT, Waylandiin keskittynyt KWin-haarukka, esiteltiin

Roman Gilg, osallistuvat KDE:n, Waylandin, Xwaylandin ja X Serverin kehityksessä, toimitettu hanke KWinFT (KWin Fast Track), joka kehittää joustavan ja helppokäyttöisen yhdistelmäikkunanhallinnan Waylandille ja X11:lle, joka perustuu koodikantaan KWin-. Ikkunahallinnan lisäksi projektissa kehitetään myös kirjastoa käärimaa Qt/C++:n libwaylandin sidonnalla, jatkuva kehitys KWayland, mutta vapautettu Qt:n sitomisesta. Koodia jaetaan GPLv2- ja LGPLv2-lisensseillä.

Projektin tavoitteena on kierrättää KWin ja KWayland käyttämällä
nykyaikaiset tekniikat ja kehityskäytännöt, joiden avulla voit nopeuttaa projektin kehitystä, heijastaa koodia, lisätä optimointeja ja yksinkertaistaa perustavanlaatuisten innovaatioiden lisäämistä, joiden integrointi KWiniin nykyisessä muodossaan on vaikeaa. KWinFT:tä ja Wraplandia voidaan käyttää saumattomasti korvaamaan KWin ja KWayland, mutta niitä ei rajoita monien tuotteiden KWin-lukitus, joissa täyden yhteensopivuuden ylläpitäminen on prioriteetti, joka estää innovaatioiden etenemisen.

KWinFT:n avulla kehittäjillä on vapaat kädet kokeilla uusia ominaisuuksia säilyttäen samalla vakauden käyttämällä nykyaikaisempia kehitystekniikoita. Esimerkiksi KWinFT-koodin tarkistamiseen käytetään jatkuvaa integrointijärjestelmää, joka sisältää varmennusta eri lintereiden avulla, kokoonpanojen automaattisen generoinnin ja laajan testauksen. Toimivuuden kehittämisen kannalta KWinFT:n pääpaino on korkealaatuisen ja täydellisen protokollatuen tarjoamisessa
Wayland, mukaan lukien KWinin arkkitehtonisten ominaisuuksien uudelleenkäsittely, jotka vaikeuttavat integraatiota Waylandiin.

KWinFT:hen jo lisättyjen kokeellisten innovaatioiden joukossa ovat:

  • Kokoonpanoprosessia on muokattu, mikä on parantanut merkittävästi X11:tä ja Waylandia käyttävän sisällön renderöintiä. Lisäksi ajastin on lisätty minimoimaan viiveet kuvan luomisen ja sen näytön välillä.
  • Otettiin käyttöön laajennus Wayland-protokollaankatseluikkuna", jolloin asiakas voi suorittaa palvelinpuolen skaalausta ja pinnan reunojen leikkaamista. Yhdessä XWaylandin seuraavan suuren julkaisun kanssa laajennus tarjoaa mahdollisuuden jäljitellä näytön resoluution muutoksia vanhemmille peleille.
  • Täysi tuki Wayland-pohjaisten istuntojen kääntämiselle ja peilaukselle.

Wrapland tarjoaa Qt-tyylin ohjelmointirajapinnan, joka tarjoaa pääsyn libwayland-toimintoihin muodossa, jota on helppo käyttää C++-projekteissa. Wrapland suunniteltiin alun perin kehitettävän KWaylandin haarukkaksi, mutta KWayland-koodin epätyydyttävän tilan vuoksi sitä harkitaan nyt KWaylandin täydellisen uudistamisen projektina. Tärkein ero Wraplandin ja KWaylandin välillä on, että se ei ole enää sidottu Qt:hen ja sitä voidaan käyttää erikseen ilman Qt:n asentamista. Jatkossa Wraplandia voidaan käyttää yleiskirjastona C++ API:lla, jolloin kehittäjien ei tarvitse käyttää libwayland C API:ta.

Manjaro Linux -käyttäjille luodaan valmiita paketteja. Käyttääksesi KWinFT:tä, asenna kwinft arkistosta ja palataksesi normaaliin KWiniin asenna kwin-paketti. Wraplandin käyttö ei rajoitu KDE:hen, esimerkiksi asiakastoteutus on valmisteltu käytettäväksi wlroots lähdön ohjausprotokolla, joka mahdollistaa wlroots-pohjaisiin komposiittipalvelimiin (keinuttaa, Wayfire) mukauta tulostetta käyttämällä KScreeniä.

Tällä välin jatkaa projektipäivitykset julkaistaan KWin-alhainen latenssi, muodostaen version KWin-yhdistelmähallinnasta, jossa on korjaustiedostoja, jotka lisäävät käyttöliittymän reagointikykyä ja korjaavat joitain ongelmia, jotka liittyvät käyttäjän toimiin reagoinnin nopeuteen, kuten syötteiden pätkimiseen. DRM VBlankin lisäksi KWin-lowlatency tukee glXWaitVideoSyncin, glFinishin tai NVIDIA VSyncin käyttöä suojaamaan repeytymistä vastaan ​​vaikuttamatta negatiivisesti reagointikykyyn (KWinin alkuperäinen repeytymissuoja on toteutettu ajastimella ja voi johtaa suuriin latenssiajoihin (jopa 50 ms). ja sen seurauksena vastauksen viive syötettäessä). Uusia KWin-lowlatency-julkaisuja voidaan käyttää komposiittipalvelimen sijasta KDE Plasma 5.18:ssa.

Lähde: opennet.ru

Lisää kommentti