- Xfce ekibi, Wayland tabanlı yeni bir kompozitör olan
xfwl4 için geliştirme planını açıkladı; topluluk bağışlarıyla desteklenen projeye çekirdek geliştirici Brian Tarricone liderlik ediyor
- Hedef, mevcut
xfwm4 ile aynı işlevsellik ve kullanıcı deneyimini sunmak; geçişte sürekliliği korumak için ayar iletişim kutuları ve xfconf yapılandırması yeniden kullanılacak
- Rust ve smithay çatısı üzerine, tamamen yeni kodla yazılıyor; bellek güvenliği ile özelleştirilebilir grafik ve girdi hattı sunuyor
- Proje kapsamına oturum yönetimi yapısında değişiklikler, XWayland ve xdg-session-management desteği, CI derleme sisteminin iyileştirilmesi de dahil
- Xfce'nin Wayland geçişi için kritik bir yatırım niteliğinde; ilk geliştirme sürümünün yıl içinde yayımlanması planlanıyor
Xfce'nin yeni Wayland kompozitörü planı
- Xfce ekibi, topluluk bağışlarını kullanarak yeni Wayland kompozitörü
xfwl4 geliştirmeye başladı
- Geliştirmeyi uzun süredir çekirdek katkıcı olan Brian Tarricone üstleniyor
- Proje fonunun önemli bir bölümü bu geliştirme için kullanılacak
- Amaç,
xfwm4 ile aynı işlev ve davranışı Wayland ortamında hayata geçirmek
- Mevcut
xfwm4 ayar iletişim kutuları ve xfconf ayarları aynen kullanılarak kullanıcı deneyiminde tutarlılık korunacak
xfwl4, mevcut xfwm4 koduna dayanmıyor; Rust ile baştan yazılıyor
- smithay kütüphanesi temel alınarak geliştiriliyor
Mevcut kodu yeniden kullanmak yerine neden baştan yazılıyor?
- Başlangıçta,
xfwm4 kodunu değiştirerek X11 ve Wayland'ı birlikte destekleme fikri değerlendirildi; ancak çeşitli nedenlerle uygun olmadığı sonucuna varıldı
xfwm4 yapısı X11'e bağımlı olduğu için genelleştirilmiş arayüzler uygulamak zor
- Refaktör sırasında X11 hataları üretme riski yüksek
- Wayland'da desteklenmeyen X11 kavramları bulunduğundan kod bakımı karmaşık hale geliyor
- Mevcut kod kullanılırsa C dili ve wlroots bağımlılığı kaçınılmaz oluyor
- Ayrı bir kod tabanı geliştirmek,
xfwm4 kararlılığını korurken Wayland tarafında deneysel geliştirmeyi paralel yürütmeyi mümkün kılıyor
Neden smithay seçildi?
- Brian Tarricone, wlroots ile smithay arasında değerlendirme yaptıktan sonra smithay'i seçti
- smithay, resmî Wayland protokol uzantılarının çoğunu ve wlroots ile KDE protokollerini destekliyor
- Yüksek seviyeli soyutlamalar sunmadığı için grafik ve girdi hattı üzerinde ince ayarlı denetim sağlıyor
- Dokümantasyonu güçlü ve Rust kullanımı sayesinde bellekle ilgili hata ve çökme riski azalıyor
- Geliştirici Rust'ı tercih ediyor
- wlroots, C ile yazıldığı için Rust binding'leri yazmak zor
Proje kapsamı ve teknik zorluklar
xfwm4 ile işlev eşdeğerliği sağlama dışında şu başlıklar da var
- Wayland ortamında kompozitörün oturumun kökü olması gerektiğinden oturum başlatma yapısında değişiklik gerekiyor
xdg-session-management protokolü desteği eklenecek
- XWayland desteği de dahil
- CI konteyner derleme sistemi, Rust kodunu derleyebilen meson tabanlı yapıya yükseltilecek
- Brian Tarricone geliştirmeye şimdiden başladı; ilk geliştirme sürümünün yıl içinde yayımlanması planlanıyor
Topluluk ve destek
- Proje, Open Collective US ve EU destekçilerinin bağışları sayesinde mümkün oldu
- Geliştirme durumu ve teknik ayrıntılar, GitLab'daki
xfwl4 issue ve kaynak kod deposundan takip edilebilir
- Konuyla ilgili sorular için Matrix kanalı
#xfce-dev kullanılabilir
1 yorum
Hacker News görüşleri
xfwl4'ün xfwm4 ile aynı özellikleri ve davranışı hedeflediğini duydum
Ancak X11 ile Wayland arasındaki yapısal farklar göz önüne alındığında, “davranış”ın ne kadar katı yorumlanacağını merak ediyorum
Örneğin odak çalma önleme, X11'de karmaşık sezgisel kurallar ve zaman damgası kontrolleri gerektirirken, Wayland'da odağı tamamen compositor kontrol eder
Sonuçta eski sezgisel hissi korurken aynı zamanda Wayland'ın yetki modeline uyan yeni bir politika tasarlama gibi bir zorluk var
Bir diğer ilgi konusu da compositing zorunluluğundan kaynaklanan gecikme. Düşük donanımlı sistemlerde X11'in compositing olmayan modu kadar tepkisel olup olamayacağını merak ediyorum
Odak çalma önleme aslında Wayland tarafında daha tutarlı bir davranış gösterebilir. Xfwm4 sezgisel kurallara dayanıyordu ve bazen yanlış çalışıyordu, ama Wayland'ın xdg-activation modeli çok daha net
Performans tarafında modern donanımlarda büyük bir fark olmayacağını düşünüyorum, ama çok eski cihazlarda yük oluşturabilir. Bunu gerçekten anlamak için daha fazla test gerekecek gibi
Compositing yükü pratikte sadece vsync bekleme süresi demek. Pentium Classic seviyesinde değilse sorun olmaz
XFCE'nin hâlâ hafif bir masaüstü olarak kalmasını umuyorum
KDE'yi seviyorum ama hafif olduğunu söylemek zor
Hem Wayland'a hem de Rust'a olumlu bakıyorum; Wayland'ın geleceğin yönü olduğunu, Rust'ın da çökmeleri önlemeye yardımcı olduğunu düşünüyorum
Yine de XFCE'nin geleneksel kullanıcı kitlesi daha muhafazakâr, bu yüzden yeni teknolojilere kuşkuyla yaklaşabilir
Wayland'a geçiş kaçınılmaz ve biraz şikâyet olacaktır ama büyük sorun çıkmadan ilerler
X11'de ısrar edenler sonunda azınlıkta kalacaktır. XFCE ekibine güveniyorum
Zaten iyi çalışan bir GUI varken, Wayland gereksiz karmaşıklık ve uyumluluk sorunları yaratıyor
Basit protokoller uzun ömürlü olur ama Wayland bunun tersi gibi
XFCE zaten hızlı ve kararlı. Wayland'a geçip yavaşlarsa en büyük avantajını kaybetmiş olur
Kararlılığı önemseyen bir topluluk olduğu için önce X11 varsayılan kalır, tam özellik eşdeğerliği sağlandığında Wayland'a geçilir
Bir gün Wayland'a geçmek gerektiğinde XFCE'yi kullanmaya devam edebilmeyi umuyorum
Bu projenin kendisi bile Wayland'ın doğru yön olduğunu gösteriyor bence
Xorg tek bir uygulamaydı ama Wayland ile çeşitli kütüphane ekosistemleri (wlroots, Smithay vb.) ortaya çıktı
Bu sayede tek kişilik projeler bile birkaç ay içinde geliştirici önizlemesi çıkarabiliyor
Böyle bir rekabet açık kaynak ekosistemini ileri taşıyacaktır
Ama bu süreç fazla hızlı ilerledi ve bütünlük eksik kaldı. Tam bir Linux masaüstü API'sinin oturması için 10 yıl daha gerekeceğini düşünüyorum
libcompositor eksikliğinin Wayland'ın en büyük hatası olduğunu düşünüyorum
XFCE ekibinin nasıl bir sonuç çıkaracağını merak ediyorum
Yığın kullanışlı olabilir ama sonunda derin değişikliklerin zor olduğu bir yapıya dönüşebilir
X fiilen ikinci bir çekirdek gibiydi ama Wayland çekirdeğin GEM, DMA-BUF, KMS gibi modern soyutlamalarından yararlanıyor
Bu sayede çok daha temiz ve verimli bir yapıya evrilebiliyor
10 yıldan uzun süredir ana masaüstüm olarak XFCE kullanıyorum
Wayland desteği haberine sevindim
Rust ile yazılması katkıcı çekmeye de yardımcı olabilir gibi geliyor
Destek olmak istiyorsanız Open Collective ve xfce-eu üzerinden bağış yapmanızı öneririm
X11'den Wayland'a geçişin Linux tarihindeki en sancılı değişim olduğunu düşünüyorum
KDE4 dönemi de karanlık bir dönemdi
Smithay'in Rust istemci araç takımını denedim ama iş parçacığı güvenliği tam değil gibi
Arc<> ile sarmalanmış olsa da çok iş parçacıklı çağrılarda garip çökmeler oluyor
Wayland API'sine doğrudan inip bunu güvenli şekilde kullanmayı öğrenmek istiyorum
Bugün bile çoğu wlroots tabanlı compositor üzerinde XFCE kullanılabiliyor
Ben Gentoo'da Hyprland + XFCE kombinasyonunu kullanıyorum
Ayarlar bu depoda bulunuyor
Hyprland ve XFCE4 birleşimine neden “lanetli kombinasyon” dendiğini merak ediyorum. Muhtemelen XFCE'nin kendi compositor'ünü yapmaya karar vermesiyle ilgilidir
Bir zamanlar Wayland'a karşıydım ama eski donanımdaki performansı görünce fikrim değişti
Eski bir Thinkpad'de Firefox, X11'e kıyasla çok daha akıcı kaydırıyor
Dokunmatik yüzey jestleri de eklenince memnun kaldım. Ayarları biraz uğraştırıcı ama değerli bir ödünleşim
Wayland'ın Linux dışı sistemlerde de çalışıp çalışmadığını merak ediyorum. Örneğin BSD ya da macOS'ta, XQuartz benzeri şekilde uzak pencereler açılabilir mi?
Mac için de Wayland compositor'leri var ve Brodie Robertson bununla ilgili video yayımladı
WSLg projesine bakarsanız, Weston'ı RDP ile render ederek platformlar arası pencere gösterimi sağlandığını görebilirsiniz
GPU hızlandırması da korunuyor, bu yüzden X11 forwarding'den daha iyi olduğunu düşünüyorum
FreeBSD Handbook Wayland
Bugünlerde “Rust ile yeniden yazım” sözü bana bakım yapacak kimse kalmadığı anlamına geliyor gibi geliyor
xfwm4'ü yamalayacak kimse olmadığı için yeniden yazılıyor olabilir
Bu bir kuşak değişiminin işareti de olabilir — yeni geliştiriciler bunu daha basit ve güvenli bir yapıyla yeniden kurmak istiyor
Wayland, X11'den daha basit ve Rust hataları azaltıyor, dolayısıyla bu doğal bir akış
Ama bunun bedeli olarak ağ şeffaflığı, performans ve kararlılık zarar görebilir. Çağın yönü bu, kabul ediyorum