KWinFT, garpu saka KWin fokus ing Wayland, ngenalaken

Roman Gilg, melu ing pangembangan KDE, Wayland, Xwayland lan X Server, ngenalake konsep KWinFT (KWin Fast Track), ngembangake manajer jendela komposit sing fleksibel lan gampang digunakake kanggo Wayland lan X11 adhedhasar basis kode menang. Saliyane manajer jendhela, proyek kasebut uga ngembangake perpustakaan bungkuse karo implementasine saka naleni liwat libwayland kanggo Qt / C ++, pembangunan terus KWayland, nanging dibebaske saka naleni kanggo Qt. Kode kasebut disebarake miturut lisensi GPLv2 lan LGPLv2.

Sasaran saka project punika daur ulang KWin lan KWayland nggunakake
teknologi modern lan laku pembangunan sing ngijini sampeyan kanggo nyepetake pangembangan project, refactor kode, nambah optimizations lan menakake tambahan saka inovasi dhasar, integrasi kang menyang KWin ing wangun saiki angel. KWinFT lan Wrapland bisa digunakake kanggo seamlessly ngganti KWin lan KWayland, nanging padha ora diwatesi dening KWin kunci-in akeh produk ngendi ngramut kompatibilitas lengkap prioritas sing ngalangi inovasi saka maju.

Kanthi KWinFT, pangembang duwe tangan gratis kanggo eksprimen karo fitur-fitur anyar nalika njaga stabilitas kanthi nggunakake teknik pangembangan sing luwih modern. Contone, kanggo mriksa kode KWinFT, sistem integrasi terus-terusan digunakake, kalebu verifikasi nggunakake linter sing beda-beda, generasi otomatis perakitan lan tes lanjut. Ing babagan pangembangan fungsi, fokus utama KWinFT yaiku nyedhiyakake dhukungan protokol sing berkualitas lan lengkap
Wayland, kalebu reworking fitur arsitektur KWin sing complicate integrasi karo Wayland.

Antarane inovasi eksperimen sing wis ditambahake menyang KWinFT yaiku:

  • Proses compositing wis digarap maneh, kang wis Ngartekno nambah rendering isi mlaku X11 lan Wayland. Kajaba iku, wektu wis ditambahake kanggo nyilikake wektu tundha antarane nggawe gambar lan tampilan ing layar.
  • Dilaksanakake ekstensi menyang protokol Wayland "panuduh", ngidini klien nindakake skala sisi server lan motong pinggiran permukaan. Digabungake karo rilis utama XWayland sabanjure, ekstensi kasebut bakal menehi kemampuan kanggo niru owah-owahan resolusi layar kanggo game lawas.
  • Dhukungan lengkap kanggo output rotasi lan mirroring kanggo sesi basis Wayland.

Wrapland menehi antarmuka pemrograman gaya Qt sing nyedhiyakake akses menyang fungsi libwayland ing wangun sing gampang digunakake ing proyek C ++. Wrapland wiwitane direncanakake bakal dikembangake minangka garpu KWayland, nanging amarga kahanan kode KWayland sing ora kepenak, saiki dianggep minangka proyek kanggo ngrampungake KWayland kanthi lengkap. Bentenipun paling penting antarane Wrapland lan KWayland iku ora ana maneh disambungake menyang Qt lan bisa digunakake kanthi kapisah tanpa nginstal Qt. Ing mangsa ngarep, Wrapland bisa digunakake minangka perpustakaan universal karo C ++ API, mbusak perlu kanggo pangembang nggunakake libwayland C API.

Paket siap digawe kanggo pangguna Manjaro Linux. Kanggo nggunakake KWinFT, mung nginstal kwinft saka gudang, lan kanggo muter bali menyang KWin standar, nginstal paket kwin. Panggunaan Wrapland ora winates kanggo KDE, contone, implementasine klien wis disiapake kanggo nggunakake ing wlroots protokol kontrol output, ngidini ing server komposit adhedhasar wlroots (Sway, Wayfire) gunakake KScreen kanggo ngatur output.

Kangge, terus nganyari project bakal diterbitake KWin-lowlatency, mbentuk edition saka manager gabungan KWin karo patch kanggo nambah responsif saka antarmuka lan ndandani sawetara masalah gadhah kacepetan nanggepi tumindak pangguna, kayata gagap input. Saliyane DRM VBlank, KWin-lowlatency ndhukung panggunaan glXWaitVideoSync, glFinish utawa NVIDIA VSync kanggo menehi proteksi marang tearing tanpa menehi pengaruh negatif marang responsif (proteksi tearing asli KWin dileksanakake nggunakake timer lan bisa nyebabake latensi gedhe (nganti 50ms) output. lan, minangka asil, wektu tundha ing respon nalika input). Rilis anyar KWin-lowlatency bisa digunakake tinimbang server komposit saham ing KDE Plasma 5.18.

Source: opennet.ru

Add a comment