wlroots
Daha fazla bilgi
- Geliştiren
- Drew DeVault
- Yıl
- Tür
- Kütüphane
- Lisans
- MIT
- Kaynak kodu
- gitlab.freedesktop.org/wlroots/wlroots
Wayland birleştiricisi yazmayı altmış bin satırlık bir işten bin satırlık bir işe indiren kütüphane: 2017’de Sway için yapıldı ve o günden beri Mutter ya da KWin olmayan çoğu birleştiricinin temelidir.
Wayland bir protokoldür ve birleştirici yazan, X sunucusunun eskiden yaptığı her şeyi yazmak zorundadır: DRM/KMS ile konuşmak, girdiyi libinput üzerinden okumak, OpenGL ya da Vulkan ile çizmek, xdg-shell ve bir düzine başka protokolü uygulamak ve eski istemciler için XWayland çalıştırmak. Drew DeVault, Sway önceki wlc kütüphanesini aştığında 2017’de wlroots’u başlattı; README’sinde “zaten yazacağınız 60.000 satır kod” diyen bir cümle vardı. Modüller bilerek gevşek bağlıdır: birleştirici istediğini seçer, pencereler ve odakla ilgili her kararı kendine saklar.
Kütüphane DRM, libinput, X11 ya da başka bir Wayland oturumu içinde iç içe çalışma ve başsız (headless) çalışma için arka uçlar; üç çizici; hasar izleme ve yeniden boyamayı yöneten bir sahne grafiği (wlr_scene, 2021); ve yaklaşık bin satır C’lik örnek birleştirici tinywl ile gelir. Sway, river, labwc, Wayfire, Cage ve dwl hep onun üzerinde durur; Hyprland da 2024’te kendi Aquamarine’ine geçene dek öyleydi. DeVault geri çekilince baş bakımcılığı Simon Ser devraldı ve kod freedesktop.org’un GitLab’ına taşındı. Sürüm numarası hiç 1.0’a ulaşmadı ve her 0.x sürümü API’yi bozar; birleştiriciler bununla yaşamayı öğrendi.