KWinFT, cabang dari KWin yang berfokus pada Wayland, diperkenalkan

Romawi Gilg, berpartisipasi dalam pengembangan KDE, Wayland, Xwayland dan X Server, diperkenalkan proyek KWinFT (KWin Fast Track), mengembangkan window manager komposit yang fleksibel dan mudah digunakan untuk Wayland dan X11 berdasarkan basis kode Kwin. Selain window manager, proyek ini juga mengembangkan perpustakaan tanah bungkus dengan penerapan pengikatan pada libwayland untuk Qt/C++, pengembangan berkelanjutan KWayland, tetapi dibebaskan dari pengikatan ke Qt. Kode ini didistribusikan di bawah lisensi GPLv2 dan LGPLv2.

Tujuan dari proyek ini adalah untuk mendaur ulang KWin dan KWayland menggunakan
teknologi modern dan praktik pengembangan yang memungkinkan Anda mempercepat pengembangan proyek, memfaktorkan ulang kode, menambahkan pengoptimalan, dan menyederhanakan penambahan inovasi mendasar, yang sulit diintegrasikan ke dalam KWin dalam bentuknya saat ini. KWinFT dan Wrapland dapat digunakan untuk menggantikan KWin dan KWayland dengan lancar, namun keduanya tidak dibatasi oleh penguncian KWin pada banyak produk di mana menjaga kompatibilitas penuh merupakan prioritas yang mencegah inovasi bergerak maju.

Dengan KWinFT, pengembang mempunyai kebebasan untuk bereksperimen dengan fitur-fitur baru sambil menjaga stabilitas melalui penggunaan teknik pengembangan yang lebih modern. Misalnya, untuk memeriksa kode KWinFT, sistem integrasi berkelanjutan digunakan, termasuk verifikasi menggunakan linter yang berbeda, pembuatan rakitan otomatis, dan pengujian lanjutan. Dalam hal pengembangan fungsionalitas, fokus utama KWinFT adalah menyediakan dukungan protokol yang berkualitas tinggi dan lengkap
Wayland, termasuk pengerjaan ulang fitur arsitektur KWin yang mempersulit integrasi dengan Wayland.

Di antara inovasi eksperimental yang telah ditambahkan ke KWinFT adalah:

  • Proses pengomposisian telah dikerjakan ulang, yang secara signifikan meningkatkan rendering konten yang menjalankan X11 dan Wayland. Selain itu, pengatur waktu telah ditambahkan untuk meminimalkan penundaan antara pembuatan gambar dan tampilannya di layar.
  • Menerapkan ekstensi ke protokol Wayland "viewporterβ€œ, memungkinkan klien untuk melakukan penskalaan sisi server dan pemangkasan tepi permukaan. Dikombinasikan dengan rilis besar XWayland berikutnya, ekstensi ini akan memberikan kemampuan untuk meniru perubahan resolusi layar untuk game lama.
  • Dukungan penuh untuk memutar dan mencerminkan keluaran untuk sesi berbasis Wayland.

Wrapland menyediakan antarmuka pemrograman bergaya Qt yang menyediakan akses ke fungsi libwayland dalam bentuk yang mudah digunakan dalam proyek C++. Wrapland awalnya direncanakan untuk dikembangkan sebagai cabang dari KWayland, namun karena kondisi kode KWayland yang kurang memuaskan, kini sedang dipertimbangkan sebagai proyek untuk merombak total KWayland. Perbedaan terpenting antara Wrapland dan KWayland adalah tidak lagi terikat pada Qt dan dapat digunakan secara terpisah tanpa menginstal Qt. Di masa depan, Wrapland dapat digunakan sebagai perpustakaan universal dengan C++ API, sehingga menghilangkan kebutuhan pengembang untuk menggunakan libwayland C API.

Paket siap pakai dibuat untuk pengguna Manjaro Linux. Untuk menggunakan KWinFT, cukup instal kwinft dari repositori, dan untuk kembali ke KWin standar, instal paket kwin. Penggunaan Wrapland tidak terbatas pada KDE, misalnya implementasi klien telah disiapkan untuk digunakan akar rumput protokol kontrol keluaran, memungkinkan server komposit berdasarkan wlroots (Bergoyang, api jalan) gunakan KScreen untuk menyesuaikan keluaran.

Sementara itu, melanjutkan pembaruan proyek akan dipublikasikan KWin-latensi rendah, membentuk edisi manajer komposit KWin dengan tambalan untuk meningkatkan respons antarmuka dan memperbaiki beberapa masalah yang terkait dengan kecepatan respons terhadap tindakan pengguna, seperti input yang tersendat. Selain DRM VBlank, KWin-lowlatency mendukung penggunaan glXWaitVideoSync, glFinish atau NVIDIA VSync untuk memberikan perlindungan terhadap robekan tanpa berdampak negatif terhadap respons (perlindungan robekan asli KWin diimplementasikan menggunakan pengatur waktu dan dapat menghasilkan latensi besar (hingga 50 ms) keluaran dan akibatnya adalah keterlambatan respon saat input). Rilis baru KWin-latensi rendah dapat digunakan sebagai pengganti server komposit bawaan di KDE Plasma 5.18.

Sumber: opennet.ru

Tambah komentar