Xfwl4 – Xfce Wayland Compositor için Yol Haritası
🇹🇷 Xfwl4 – Xfce Wayland Compositor için Yol Haritası - Xfce ekibinden resmi duyuru.
Xfce ekibi olarak, harika bir haberi paylaşmaktan heyecan duyuyoruz! (orijinal yazı)
Dikkatli bir değerlendirmenin ardından, topluluğumuzdan gelen cömert bağışları anlamlı bir şekilde kullanmanın yoluna karar verdik: uzun süredir Xfce çekirdek geliştiricisi olan Brian Tarricone‘u Xfce için yepyeni bir Wayland compositor’u olan xfwl4’ü oluşturmak üzere fonlamak.
Bu girişim, projenin bağışlanan fonlarının önemli bir bölümünü kullanacak, ancak bunun Xfce’nin geleceği için önemli bir yatırım olduğuna inanıyoruz.
Hedef, xfwl4’ün xfwm4’ün sunduğu aynı işlevselliği ve davranışı sunması veya X11 ile Wayland arasındaki farklar göz önüne alındığında mümkün olduğunca fazlasını sunmasıdır. Xfwl4 kullanmak, X11 üzerinde xfwm4 kullanmak gibi hissettirmelidir. Sorunsuz bir geçiş sağlamak için mevcut xfwm4 yapılandırma diyaloglarını ve xfconf ayarlarını yeniden kullanmayı bile planlıyoruz.
Xfwl4, mevcut xfwm4 koduna dayalı olmayacak. Bunun yerine, smithay yapı taşları kullanılarak Rust ile sıfırdan yazılacak.
Neden yeniden yazma?
Bir Xfce Wayland compositor’u oluşturma ilk girişimi, mevcut xfwm4 kodunu hem X11 hem de Wayland’ı paralel olarak destekleyecek şekilde değiştirmeyi içeriyordu. Ancak bu yaklaşım, birkaç nedenden dolayı ilerlemek için yanlış yol olduğu ortaya çıktı:
- Xfwm4, pencere yönetimi davranışını X11 özelliklerini içermeyen genel arayüzlerin arkasına koymayı çok zorlaştıran bir şekilde tasarlanmıştır.
- Xfwm4’ü yeniden düzenlemek risklidir, çünkü X11’e yeni hatalar getirebilir. İki paralel kod tabanına sahip olmak, xfwm4’ü bozma riski olmadan Wayland compositor’u ile hızlı geliştirme ve deneme yapılmasına olanak tanır.
- Bazı X11 pencere yönetimi kavramları şu anda Wayland protokolleri tarafından mevcut değil veya desteklenmiyor ve bu farklarla başa çıkmak X11-öncelikli bir kod tabanında zor olabilir.
- Mevcut kod tabanını kullanmak, daha iyi bir alternatif mevcut olsa bile C ve wlroots kullanmamızı gerektirir.
Neden xfwl4’ü smithay üzerine inşa etmeli?
Sıfırdan bir compositor yazma kararı verildikten sonra, bir sonraki büyük soru şuydu: Temel olarak hangi Wayland destek kütüphanesi kullanılmalı? Bu soruya bir cevap bulmak için Brian, wlroots ve smithay’i değerlendirdi. Smithay’i temel olarak kullanma kararı aşağıdaki nedenlerle verildi:
- Smithay, çoğu/tüm resmi Wayland protokol uzantılarını ve ayrıca wlroots protokollerini ve bazı KDE protokollerini destekler.
- Smithay’in wlroots’un sahip olduğu gibi yüksek seviyeli bir soyutlaması yoktur. Ancak, grafik ve giriş hattının yanı sıra Wayland protokolü ve masaüstü/kabuk işlemenin tüm yönlerinin çok derin özelleştirilmesine olanak tanır.
- Smithay’in harika bir dokümantasyonu var.
- Rust kullanmak, bellek ile ilgili hataları önlemeyi kolaylaştırır ve çökme olasılığını azaltır, bu bir Wayland compositor’u için asla olmaması gereken bir şeydir.
- Oldukça öznel: Brian, C’de kod yazmak yerine Rust’ta kod yazmayı tercih ediyor.
- Wlroots, C’de wlroots rust bağlamaları yazmayı çok zorlaştıran bir şekilde yazılmıştır.
Projenin kapsamı
Xfwm4 ile özellik eşitliği elde etmenin yanı sıra, xfwl4 proje kapsamı diğer bazı ilgili görevleri de içerir:
- Wayland’da compositor’un xfce4-session yerine oturumun kökü olması gerektiğinden, oturum başlatma konusunda büyük değişiklikler gerekecektir.
- Xdg-session-management protokolü için destek de bir hedeftir.
- XWayland desteği de yol haritasının bir parçasıdır.
- Xfce CI konteynerinin derleme sistemi, meson aracılığıyla rust kodunu derlemeyi desteklemek için yükseltilmesi gerekecektir.
Brian projeye çalışmaya zaten başladı, bu yüzden yıl ortasında paylaşmayı umduğumuz xfwl4’ün ilk geliştirme sürümü için bizi takip etmeye devam edin.
Projenin arkasındaki ayrıntılı gerekçeyle ilgileniyorsanız veya tüm teknik ayrıntıları keşfetmek istiyorsanız, issues ve devam eden kaynak kodu‘nu inceleyin.
Xfwl4 ile ilgili herhangi bir soru için lütfen Matrix kanalımız #xfce-dev‘i ziyaret edin.
Open Collective US ve Open Collective EU‘daki cömert destekçilerimize bu projeyi mümkün kıldıkları için içten teşekkürlerimizi sunmak isteriz!
En iyi dileklerimizle,
Xfce geliştirme ekibi
