Wayland'e odaklanan bir KWin çatalı olan KWinFT tanıtıldı

Roman Gilg, katılan KDE, Wayland, Xwayland ve X Server'ın geliştirilmesinde, gönderilen proje KWinFT (KWin Fast Track), Wayland ve X11 için kod tabanını temel alan esnek ve kullanımı kolay bir bileşik pencere yöneticisi geliştiriyor Kazanç. Proje, pencere yöneticisine ek olarak bir kütüphane de geliştiriyor sarma bölgesi Qt/C++ için libwayland üzerinde bir bağlamanın uygulanmasıyla birlikte geliştirme devam ediyor KWayland, ancak Qt'ye bağlanmaktan kurtuldu. Kod, GPLv2 ve LGPLv2 lisansları altında dağıtılmaktadır.

Projenin amacı KWin ve KWayland'ı geri dönüştürmektir.
Projenin gelişimini hızlandırmanıza, kodu yeniden düzenlemenize, optimizasyonlar eklemenize ve mevcut haliyle KWin'e entegrasyonu zor olan temel yeniliklerin eklenmesini basitleştirmenize olanak tanıyan modern teknolojiler ve geliştirme uygulamaları. KWinFT ve Wrapland, KWin ve KWayland'in yerini sorunsuz bir şekilde almak için kullanılabilir, ancak bunlar, tam uyumluluğun sürdürülmesinin yeniliğin ilerlemesini engelleyen bir öncelik olduğu birçok ürünün KWin bağımlılığıyla sınırlı değildir.

KWinFT ile geliştiriciler, daha modern geliştirme tekniklerini kullanarak istikrarı korurken yeni özellikleri deneme konusunda özgürlüğe sahiptir. Örneğin, KWinFT kodunu kontrol etmek için farklı linterler kullanılarak doğrulama, otomatik montaj oluşturma ve kapsamlı testler dahil olmak üzere sürekli bir entegrasyon sistemi kullanılır. İşlevsellik geliştirme açısından KWinFT'nin ana odak noktası, yüksek kaliteli ve eksiksiz protokol desteği sağlamak olacaktır.
Wayland ile entegrasyonu zorlaştıran KWin mimari özelliklerinin yeniden işlenmesi de dahil olmak üzere Wayland.

KWinFT'ye halihazırda eklenmiş olan deneysel yenilikler arasında şunlar yer almaktadır:

  • Birleştirme süreci yeniden düzenlendi ve bu, X11 ve Wayland çalıştıran içeriğin oluşturulmasını önemli ölçüde iyileştirdi. Ek olarak, görüntünün oluşturulması ile ekranda görüntülenmesi arasındaki gecikmeleri en aza indirmek için bir zamanlayıcı eklenmiştir.
  • Wayland protokolüne bir uzantı uygulandı "görüntüleyici“, istemcinin sunucu tarafında ölçekleme yapmasına ve yüzey kenarlarının kırpılmasına olanak tanır. XWayland'in bir sonraki büyük sürümüyle birlikte bu uzantı, eski oyunlar için ekran çözünürlüğü değişikliklerini taklit etme yeteneği sağlayacak.
  • Wayland tabanlı oturumlar için çıktıyı döndürme ve yansıtma konusunda tam destek.

Wrapland, C++ projelerinde kullanımı kolay bir biçimde libwayland işlevlerine erişim sağlayan Qt tarzı bir programlama arayüzü sağlar. Wrapland'ın başlangıçta KWayland'in bir çatalı olarak geliştirilmesi planlanmıştı, ancak KWayland kodunun yetersiz durumu nedeniyle artık KWayland'i tamamen elden geçirecek bir proje olarak değerlendiriliyor. Wrapland ile KWayland arasındaki en önemli fark artık Qt'ye bağlı olmaması ve Qt kurulmadan ayrı olarak kullanılabilmesidir. Gelecekte Wrapland, C++ API'sine sahip evrensel bir kitaplık olarak kullanılabilir ve geliştiricilerin libwayland C API'sini kullanma ihtiyacını ortadan kaldırabilir.

Manjaro Linux kullanıcıları için hazır paketler oluşturulmuştur. KWinFT'yi kullanmak için depodan kwinft'i yükleyin ve standart KWin'e geri dönmek için kwin paketini yükleyin. Wrapland'ın kullanımı KDE ile sınırlı değildir, örneğin istemci uygulaması da KDE'de kullanılmak üzere hazırlanmıştır. wlroots çıkış kontrol protokolü, wlroots (Sallanma, Yol ateşi) çıktıyı özelleştirmek için KScreen'i kullanın.

Bu arada, sürdürmek proje güncellemeleri yayınlanacak KWin-düşük gecikme, arayüzün yanıt verebilirliğini artırmak ve giriş kekemeliği gibi kullanıcı eylemlerine yanıt verme hızıyla ilişkili bazı sorunları düzeltmek için yamalar içeren KWin bileşik yöneticisinin bir sürümünü oluşturmak. DRM VBlank'a ek olarak KWin-lowlatency, yanıt verme hızını olumsuz yönde etkilemeden yırtılmaya karşı koruma sağlamak için glXWaitVideoSync, glFinish veya NVIDIA VSync kullanımını destekler (KWin'in orijinal yırtılma koruması bir zamanlayıcı kullanılarak uygulanır ve büyük gecikmelere (50 ms'ye kadar) yol açabilir çıkış ve sonuç olarak giriş sırasında yanıtta bir gecikme). KDE Plasma 5.18'de stok bileşik sunucu yerine KWin-lowlatency'nin yeni sürümleri kullanılabilir.

Kaynak: opennet.ru

Yorum ekle