KWinFT, forogo yeKWin yakatarisana neWayland, yakaunzwa

Roman Gilg, kutora chikamu mukuvandudza KDE, Wayland, Xwayland uye X Server, kuunzwa ronga KWinFT (KWin Fast Track), kugadzira inochinjika uye nyore-kushandisa-yakaumbwa hwindo maneja weWayland uye X11 zvichibva pane codebase. Kwin. Pamusoro pemaneja wehwindo, purojekiti zvakare inovandudza raibhurari wrapland nekushandiswa kwekusunga pamusoro pe libwayland yeQt/C++, kuenderera mberi nebudiriro KWayland, asi yakasunungurwa kubva pakusunga kuQt. Iyo kodhi inogoverwa pasi peGPLv2 uye LGPLv2 marezinesi.

Chinangwa chepurojekiti ndechekudzorerazve KWin neKWayland uchishandisa
matekinoroji echizvino-zvino uye maitiro ekusimudzira ayo anobvumidza iwe kukurumidzira kusimudzira kweprojekiti, refactor iyo kodhi, wedzera optimizations uye kurerutsa kuwedzera kweiyo yakakosha hunyanzvi, kubatanidzwa kwayo muKWin muchimiro chayo chazvino kwakaoma. KWinFT neWrapland inogona kushandiswa kutsiva KWin neKWayland isina musono, asi haina kuganhurirwa neKWin kukiya-mukati kwezvigadzirwa zvakawanda uko kuchengetedza kuenderana kuzere chinhu chakakosha chinodzivirira hunyanzvi kufambira mberi.

NeKWinFT, vagadziri vane ruoko rwemahara kuyedza zvinhu zvitsva uku vachichengetedza kugadzikana kuburikidza nekushandisa nzira dzemazuva ano dzekuvandudza. Semuyenzaniso, kutarisa KWinFT kodhi, inoenderera yekubatanidza sisitimu inoshandiswa, kusanganisira yekuongorora uchishandisa akasiyana linters, otomatiki chizvarwa chemagungano uye kuyedzwa kwakawanda. Panyaya yekuvandudzwa kwekushanda, iyo inonyanya kutariswa yeKWinFT ichave pakupa yemhando yepamusoro uye yakazara protocol rutsigiro
Wayland, kusanganisira kugadzirisazve KWin ekuvaka maficha anonetsa kubatanidzwa neWayland.

Pakati pezvidzidzo zvitsva zvakatowedzerwa kuKWinFT ndezvi:

  • Maitiro ekunyora akagadziridzwa zvakare, ayo akavandudza zvakanyanya kupa kwezvirimo zvinomhanya X11 uye Wayland. Pamusoro pezvo, timer yakawedzerwa kudzikisa kunonoka pakati pekugadzirwa kwemufananidzo uye kuratidzwa kwayo pachiratidziri.
  • Yakaita yekuwedzera kune iyo Wayland protocol "viewporter", zvichibvumira mutengi kuti aite server-side kuyera uye kudimburira kwepamusoro mipendero. Yakasanganiswa nekuburitswa kukuru kunotevera kweXWayland, iyo yekuwedzera ichapa kugona kutevedzera shanduko yekugadzirisa skrini yemitambo yekare.
  • Rutsigiro rwakazara rwekutenderera uye girazi kubuda kweWayland-based sessions.

Wrapland inopa Qt-maitiro programming interface inopa mukana kune libwayland mabasa muchimiro chiri nyore kushandisa mumapurojekiti eC ++. Wrapland yakatanga kurongwa kuti igadziriswe seforogo yeKWayland, asi nekuda kwekusagutsikana kweiyo KWayland kodhi, yave kutorwa sechirongwa chekugadzirisa zvachose KWayland. Musiyano wakanyanya kukosha pakati peWrapland neKWayland ndewekuti haisisiri kusungirirwa kuQt uye inogona kushandiswa zvakasiyana pasina kuisa Qt. Mune ramangwana, Wrapland inogona kushandiswa seraibhurari yepasi rose ine C ++ API, ichibvisa kudiwa kwevanovandudza kushandisa libwayland C API.

Yakagadzirirwa-yakagadzirwa mapakeji anogadzirirwa vashandisi veManjaro Linux. Kuti ushandise KWinFT, ingoisa kwinft kubva pane repository, uye kudzosera kumashure kune yakajairwa KWin, isa kwin package. Iko kushandiswa kweWrapland hakugumiri kuKDE, semuenzaniso, kuita kwemutengi kwakagadzirirwa kushandiswa mukati wlroots kubuda kwekutonga protocol, inobvumira mumasevhisi akaumbwa akavakirwa pane wlroots (Sway, Wayfire) shandisa KScreen kugadzirisa zvinobuda.

Zvichakadaro, enderera zvigadziriso zveprojekiti zvichaburitswa KWin-lowlatency, kugadzira edition yeKWin composite maneja ine zvigamba kuti iwedzere kupindurwa kweiyo interface uye kugadzirisa mamwe matambudziko ane chekuita nekumhanya kwekupindura kune zviito zvemushandisi, senge kundandama kwekuisa. Pamusoro pe DRM VBlank, KWin-lowlatency inotsigira kushandiswa kweglXWaitVideoSync, glFinish kana NVIDIA VSync kupa dziviriro kubva pakubvaruka pasina kukanganisa kuterera (KWin's yekudzivirira kubvarura kwekutanga kunoitwa uchishandisa timer uye inogona kutungamira kune yakakura latencies (kusvika ku50ms) kubuda. uye, semugumisiro, kunonoka mumhinduro kana kuiswa). Kuburitswa kutsva kweKWin-lowlatency kunogona kushandiswa pachinzvimbo cheiyo stock composite server muKDE Plasma 5.18.

Source: opennet.ru

Voeg