Waylandga qaratilgan KWin vilkasi KWinFT taqdim etildi

Roman Gilg, ishtirok etish KDE, Wayland, Xwayland va X Serverni ishlab chiqishda, tanishtirdi qoralama KWinFT (KWin Fast Track), kodlar bazasiga asoslangan Wayland va X11 uchun moslashuvchan va ishlatish uchun qulay kompozit oyna boshqaruvchisini ishlab chiqish KVin. Deraza boshqaruvchisidan tashqari, loyiha kutubxonani ham ishlab chiqadi o'ralgan joy Qt / C ++ uchun libwayland ustidan majburiy amalga oshirish bilan, davom rivojlantirish KVaylend, lekin Qt ga bog'lanishdan ozod qilingan. Kod GPLv2 va LGPLv2 litsenziyalari ostida tarqatiladi.

Loyihaning maqsadi KWin va KWayland yordamida qayta ishlashdir
loyihani ishlab chiqishni tezlashtirishga, kodni qayta ishlashga, optimallashtirishlarni qo'shishga va fundamental innovatsiyalarni qo'shishni soddalashtirishga imkon beruvchi zamonaviy texnologiyalar va ishlab chiqish amaliyotlari, ularning hozirgi shaklida KWin-ga integratsiyalashuvi qiyin. KWinFT va Wrapland KWin va KWaylandni muammosiz almashtirish uchun ishlatilishi mumkin, ammo ular ko'pgina mahsulotlarning KWin blokirovkasi bilan cheklanmaydi, bu erda to'liq muvofiqlikni saqlash innovatsiyalarning oldinga siljishiga to'sqinlik qiladigan ustuvor vazifadir.

KWinFT bilan ishlab chiquvchilar yangi xususiyatlar bilan tajriba o'tkazish uchun bepul qo'llariga ega bo'lib, yanada zamonaviy ishlab chiqish usullaridan foydalanish orqali barqarorlikni saqlab qolishadi. Masalan, KWinFT kodini tekshirish uchun uzluksiz integratsiya tizimi qo'llaniladi, shu jumladan turli xil linterlar yordamida tekshirish, yig'ilishlarni avtomatik yaratish va ilg'or sinov. Funktsionallikni rivojlantirish nuqtai nazaridan, KWinFT-ning asosiy e'tibori yuqori sifatli va to'liq protokollarni qo'llab-quvvatlashga qaratiladi.
Wayland, shu jumladan Wayland bilan integratsiyani murakkablashtiradigan KWin arxitektura xususiyatlarini qayta ishlash.

KWinFT-ga allaqachon qo'shilgan eksperimental innovatsiyalar orasida:

  • Kompozitsiyalash jarayoni qayta ishlandi, bu X11 va Wayland bilan ishlaydigan kontentni ko'rsatishni sezilarli darajada yaxshiladi. Bundan tashqari, tasvirni yaratish va uni ekranda ko'rsatish o'rtasidagi kechikishlarni minimallashtirish uchun taymer qo'shildi.
  • Wayland protokoliga kengaytma kiritildi "tomoshabinβ€œ, mijozga server tomonida masshtablash va sirt qirralarini kesish imkonini beradi. XWayland-ning navbatdagi yirik versiyasi bilan birgalikda kengaytma eski o'yinlar uchun ekran o'lchamlari o'zgarishiga taqlid qilish imkoniyatini beradi.
  • Wayland-ga asoslangan sessiyalar uchun chiqishni aylantirish va aks ettirish uchun to'liq yordam.

Wrapland C++ loyihalarida foydalanish uchun qulay shaklda libwayland funksiyalariga kirishni ta'minlovchi Qt uslubidagi dasturlash interfeysini taqdim etadi. Wrapland dastlab KWaylandning vilkalari sifatida ishlab chiqilishi rejalashtirilgan edi, ammo KWayland kodining qoniqarsiz holati tufayli endi u KWaylandni to'liq ta'mirlash loyihasi sifatida ko'rib chiqilmoqda. Wrapland va KWayland o'rtasidagi eng muhim farq shundaki, u endi Qt ga bog'lanmaydi va Qt ni o'rnatmasdan alohida foydalanish mumkin. Kelajakda Wrapland-dan C++ API-ga ega universal kutubxona sifatida foydalanish mumkin, bu esa ishlab chiquvchilarning libwayland C API-dan foydalanish zaruratini yo'q qiladi.

Manjaro Linux foydalanuvchilari uchun tayyor paketlar yaratilgan. KWinFT-dan foydalanish uchun ombordan kwinft-ni o'rnating va standart KWin-ga qaytish uchun kwin paketini o'rnating. Wrapland-dan foydalanish faqat KDE bilan cheklanmaydi, masalan, mijoz ilovasi foydalanish uchun tayyorlangan ildizlar Wlroots asosidagi kompozit serverlarga ruxsat beruvchi chiqishni boshqarish protokoli (Chayqash, Yongin alangasi) chiqishni moslashtirish uchun KScreen dan foydalaning.

Shu vaqtda, davom eting loyiha yangilanishlari e'lon qilinadi KWin - past kechikish, interfeysning sezgirligini oshirish va foydalanuvchi harakatlariga javob berish tezligi bilan bog'liq ba'zi muammolarni hal qilish uchun yamoqlar bilan KWin kompozit menejerining nashrini shakllantirish, masalan, kiritishda qoqinish. DRM VBlank-ga qo'shimcha ravishda, KWin-lowlatency glXWaitVideoSync, glFinish yoki NVIDIA VSync-dan foydalanishni qo'llab-quvvatlaydi, bu sezgirlikka salbiy ta'sir ko'rsatmasdan yirtishdan himoya qiladi (KWin-ning asl yirtilib ketishdan himoyasi taymer yordamida amalga oshiriladi va katta kechikishlarga olib kelishi mumkin (50 ms gacha)). va natijada, kiritishda javobning kechikishi). KDE Plazma 5.18 da birja kompozit serveri o'rniga KWin-lowlatency ning yangi relizlaridan foydalanish mumkin.

Manba: opennet.ru

a Izoh qo'shish