Bir yılı aşkın geliştirme sürecinin ardından protokolün, süreçler arası iletişim mekanizmasının ve Wayland 1.23 kitaplıklarının kararlı bir sürümü sunuldu. 1.23 dalı, API ve ABI düzeyinde 1.x sürümleriyle geriye dönük olarak uyumludur ve çoğunlukla hata düzeltmeleri ve küçük protokol güncellemeleri içerir. Projenin geliştirmeleri MIT lisansı altında dağıtılmaktadır. Wayland'in masaüstü ve gömülü ortamlarda kullanılmasına yönelik kod ve çalışma örnekleri sağlayan Weston Kompozit Referans Sunucusu, ayrı bir geliştirme döngüsü olarak geliştirilmektedir.
Protokoldeki ana değişiklikler:
- libwayland, istemcinin sunucu tarafındaki dahili bağlantı arabelleğinin maksimum boyutunu belirlemesine olanak tanıyan bir API uygular. Temel maksimum arabellek boyutu, wl_display arayüzü aracılığıyla ayarlanır ve yeni API, istemcilerin bunu istemci bağlantı bazında değiştirmesine olanak tanır. Pratik açıdan bakıldığında bu değişiklik, Xwayland gibi Wayland'e özgü istemcilerde, giriş olaylarının daha yüksek yoğunluğuyla karakterize edilen daha büyük tamponların kullanılmasına olanak tanıyor.
- İstekler, olaylar ve numaralandırmalar için, kullanım dışı bırakılmış öğeleri işaretlemek üzere "deprecated-since" XML özniteliğini kullanma özelliği artık mevcuttur. Wayland terminolojisinde, istekler istemci tarafından gönderilen mesajlardır. sunucuOlaylar, sunucudan istemciye gönderilen mesajlardır; numaralandırmalar ise protokol tarafından işlenen sayısal değerlerin adlandırılmış kümeleridir.
- Wayland-scanner yardımcı programına "enum-header" modu eklenmiştir; bu mod, protokolü açıklayan XML dosyalarına dayalı olarak C dilinde başlık dosyaları ve kodlar oluşturmak için tasarlanmıştır; bu mod, başlık dosyalarında yalnızca "numaralandırmaların" belirtilmesini içerir.
- Wayland tarayıcısı, sunucu tarafında “numaralandırmalar” için doğrulama fonksiyonlarının (doğrulayıcı) oluşturulmasını sağlar.
- Hata ayıklamayı basitleştirmek için olay sıralarına ad atama yeteneği eklendi.
- İstemciye rastgele veri eklemeyi kolaylaştırmak için wl_client_get_user_data() ve wl_client_set_user_data() işlevleri eklendi.
- İstemcinin, sunucuya paylaşılan bir nesneyi kullanmayı bırakması konusunda bilgi vermesine ve sunucunun kendisiyle ilişkili belleği serbest bırakmasına izin veren bir wl_shm.release isteği eklendi.
- OpenBSD platformu için destek eklendi.
Son sayının yayınlanmasından bu yana meydana gelen Wayland ile ilgili olaylar:
- XWayland 24.1.0, Explicit Sync teknolojisi desteği ve GLAMOR ve EXA 2D hızlandırma mimarileri için geliştirilmiş destekle yayımlandı.
- Labwc (Lab Wayland Compositor) kompozit sunucusunun Openbox pencere yöneticisini anımsatan yeteneklerle güncellenmesi.
- wprs projesi, Wayland için ekran yardımcı programına benzer, ancak grafiksel uygulamalara yönelik bir oturum yöneticisi geliştirir.
- Wayland'ı kullanarak kompozit bir Niri sunucusu yayınlamak ve pencereleri ekranda sonsuzca kayan bir şerit halinde gruplandıran bir döşeme düzeni yöntemi sunmak.
- Wayland-Protokolleri protokol ve uzantı setinin güncellenmesi: 1.34, 1.33, 1.32, 1.35.
- Varsayılan olarak Wayland'ı kullanan bir SDL3 kütüphanesinin geliştirilmesi.
- PCManFM-Qt dosya yöneticisinde, bildirim sisteminde, masaüstünde, Runner'da, panelde, oturum kapatma arayüzünde, LXQt konfigürasyon arayüzünde ve çoğu uygulamada Wayland desteği ile LXQt 2.0.0 masaüstü ortamının piyasaya sürülmesi.
- Wayland kullanılarak Sway 1.9 kullanıcı ortamının piyasaya sürülmesi.
- Wayland'ı ve Mir kompozit yöneticilerini oluşturmaya yönelik bileşenleri temel alan yeni kompozit yönetici mucize-wm.
- Louvre, kompozit malzemelerin geliştirilmesi için yeni bir kütüphanedir. sunucular Wayland tabanlı.
- Xfce'de Wayland desteğinin uygulanması üzerinde çalışıyoruz.
- Budgie masaüstü ortamında Wayland için ilk destek.
- Tarçın masaüstü ortamında Wayland için ilk destek.
- MATE masaüstünün Wayland'e taşınması neredeyse tamamlandı.
- Dağıtım Lubuntu Qt 6 ve Wayland kullanımına geçiliyor.
- KDE 6, Wayland protokolünü kullanan varsayılan bir oturum sunar. Renk yönetimi için Wayland uzantılarına yönelik destek uygulandı.
- Wayland için pencere dekorasyon modu Electron platformunda etkindir.
- Wayland'ı kullanan ve Compiz için 3D eklenti tarzında 3D efektli kullanıcı arayüzleri oluşturmanıza olanak tanıyan Wayfire kompozit sunucusunun güncellemesi.
- IntelliJ ve OpenJDK IDE'lerinde Wayland desteği.
- GNU Emacs metin düzenleyicisinde Wayland desteği.
- GNOME'un Wayland tabanlı oturumu, birden fazla bilgisayarı kontrol etmek için tek bir klavye ve fare kullanmanıza olanak tanıyan Giriş Sıçraması yazılımı KVM anahtarı desteğini içerir.
- Fedora'nın KDE masaüstü sürümü, temel dağıtımda X11 tabanlı oturumu desteklemeyi bıraktı.
- Tescilli NVIDIA sürücülerinde Wayland tabanlı ortamlar için geliştirilmiş destek.
- Wine'ı Wayland protokolüne dayalı ortamlarda XWayland ve X11 bileşenlerini kullanmadan kullanmanıza olanak tanıyan bir sürücü uygulandı.
- Weston 13.0 kompozit sunucusu piyasaya sürüldü.
- KDE, GNOME, Enlightenment, Wayfire, Mir, Xfce ve Sway'in Wayland üzerinde çalışmasını test etmek amacıyla Rebecca Black adlı özel bir canlı dağıtım yayınlanıyor. Linux.
- В LinuxFirefox derlemeleri artık varsayılan olarak XWayland yerine Wayland kompozit sunucusunu kullanıyor. Sadece Wayland'ı destekleyen derlemeler oluşturma özelliği artık mevcut.
Wayland'ın kompozit bir sunucu ile onunla çalışan uygulamalar arasındaki etkileşime yönelik bir protokol olduğunu hatırlayalım. İstemciler kendi pencerelerini ayrı bir arabellekte oluşturur ve güncellemeleri bileşik sunucuya iletir; bu sunucu, pencere çakışması ve şeffaflık gibi olası nüansları hesaba katan nihai bir çıktı üretmek için ayrı uygulama arabelleklerinin içeriğini birleştirir. Başka bir deyişle, bileşik sunucu, bireysel öğelerin işlenmesi için bir API sağlamaz, yalnızca önceden oluşturulmuş pencerelerde çalışır; bu, GTK ve Qt gibi üst düzey kitaplıkları kullanırken çift ara belleğe alma işleminden kurtulmanıza olanak tanır. pencerelerin içeriğini birleştirme işi.
Wayland, X11'in güvenlik sorunlarının çoğunu, pencere başına giriş ve çıkışı izole ederek, bir istemcinin diğer istemci pencerelerinin içeriğine erişmesini önleyerek ve diğer pencerelerle ilişkili giriş olaylarının ele geçirilmesini önleyerek çözer. Şu anda GTK, Qt, SDL (sürüm 2.0.2'den itibaren), Clutter ve EFL (Aydınlanma Vakfı Kütüphanesi) kütüphaneleri için Wayland ile doğrudan çalışma desteği halihazırda uygulanmıştır. Qt 5.4'ten başlayarak, QtWayland modülü, Wayland projesi tarafından geliştirilen Weston kompozit sunucusu ortamında Qt uygulamalarını çalıştırmaya yönelik bileşenlerin uygulanmasına dahil edilmiştir.
Wayland/Weston'da donanımla etkileşim, örneğin başlatma, video modu değiştirme (DRM mod ayarı) ve grafik kartları için bellek yönetimi (i915 için GEM ve Radeon ve Nouveau için TTM), süper kullanıcı ayrıcalıklarına duyulan ihtiyacı ortadan kaldırarak doğrudan çekirdek düzeyinde bir modül aracılığıyla gerçekleştirilebilir. Weston kompozit sunucusu, yalnızca çekirdek DRM modülüne bağlı kalmadan çalışabilir. LinuxAncak bunun yanı sıra X11, başka bir Wayland kompozisyon sunucusu, bir framebuffer ve RDP de mevcut. Ek olarak, platformun grafik yığını üzerinde çalışmayı mümkün kılacak projeler de devam ediyor. Android.
Weston projesi, bir kompozit sunucu uygulamasını geliştiriyor. Wayland protokolünü destekleyen diğer ürünler de kompozit sunucu olarak hizmet verebilir. Örneğin, KWin'de Wayland desteği için çalışmalar devam etmektedir. Mevcut haliyle Weston, Wayland protokolünü test etmek için bir dizi örneğin ötesine geçmiştir ve eklentiler ve uzantılar aracılığıyla ek işlevsellik kazanabilir. Kullanıcı arayüzleri ve gelişmiş pencere yönetimi özellikleri, Weston'a harici arka uçlar olarak uygulanması önerilmektedir. Wayland tabanlı bir ortamda standart X11 uygulamalarının yürütülmesini sağlamak için, Win32 için Xwin ve Xquartz'a benzer şekilde çalışan XWayland (Aygıta Bağımlı X) DDX bileşeni kullanılır. macOS.


Kaynak: opennet.ru
