Wayland (protokol)
Author
Albert Flores[[Soubor:Wayland display server protocol.svg|thumb|300px|① evdev modul Linux kernelu přijímá událost a posílá ji Wayland kompozitoru. ② Wayland kompozitor projde scenegraph a rozhodne, které z oken má událost dostat. Scenegraph je vše, co je na obrazovce a Wayland kompozitor ví, které transformace nad kterými elementy provedl, tudíž může vybrat správné okno a převést souřadnice obrazovky do lokálních souřadnic okna metodou obrácené transformace. Počet typů aplikovatelných transformací oken záleží pouze na tom, co umí kompozitor, tedy pokud dokáže spočítat zpětné převedení vstupních událostí. ③ V případě X to je tak, že když klient dostane událost, X aktualizují UI, avšak v případě Waylandu probíhá rendering přes EGL a klient jen odesílá kompozitoru požadavky na změnu určité oblasti. ④ Wayland kompozitor tedy sbírá od klientů požadavky typu „damage“ [ˈdæmidž] (říkají: „Okno je poškozené, překreslit“) a poté provede rekompozici/překreslí obrazovku. Kompozitor pak může přímo zavolat ioctl k naplánování překreslení obrazovky pomocí KMS.]]
Wayland (+moreBDslovnost'>anglická výslovnost [ˈwejlənd]) je v informatice název svobodného protokolu určeného pro Linux a další Unix-like operační systémy, který specifikuje komunikaci zobrazovacího serveru (tzv. Wayland kompozitoru) s jeho klienty a zároveň název knihovny, která tento protokol implementuje.
Wayland poskytuje kompozitním správcům oken metody pro přímou komunikaci s aplikacemi, zobrazovacím zařízením a vstupním zařízením. Aplikace vykreslují grafiku do svého vlastního bufferu. +more Složením těchto bufferů vzniká výsledná podoba zobrazených oken. Toto je mnohem jednodušší a efektivnější metoda než použití kompozitního správce oken ve spojení s X Window System.
Součástí projektu Wayland je i referenční implementace Wayland kompozitoru jménem Weston ([ˈwestn]).
Pozadí
Kristian Høgsberg (krh), softwarový inženýr, který pracuje na GNU/Linux graphics stack, začal v roce 2008 ve svém volném čase pracovat na Waylandu. Jeho dřívější práce na X serveru zahrnovala Unity, AIGLX a také se zapojil do vytváření DRI2.
Wayland je svobodný software šířený pod licencí LGPL v2. K listopadu 2010 Wayland fungoval pouze se svobodnými a otevřenými ovladači pro grafické karty Intel, AMD a nVIDIA (ovladače nouveau [nuvo]). +more nVIDIA nemá zatím v plánu podporovat Wayland ve svých uzavřených ovladačích.
Høgsberg uvedl, že na jméno Wayland přišel při projíždění městem Wayland v americkém státě Massachusetts.
Plánované přijetí
MeeGo (8. 9. 2010) :Intel pracuje na portování MeeGo na Wayland.
Fedora (9. 11. 2010) :Adam Jackson (ajax) řekl, že Fedora je nakloněná výchozímu použití Waylandu.
KDE :Spolu s uvolněním KDE SC 4. 7 bude KWin (okenní manažer použitý v KDE) podporovat výstup pomocí OpenGL ES. +more Prozatím byl vytvořen základní port KWin pro Wayland. KDE SC 4. 8, které by mělo vyjít v lednu roku 2012 by mělo nabídnout podporu pro Wayland běžící nad X serverem. V létě roku 2012 by měla vyjít verze 4. 9 běžící přímo na Waylandu.
Compiz :Společnost Canonical, vlastník Ubuntu, najala Sama Spilsburyho, hlavního vývojáře Compizu. Jeho prací bylo přepsat všechny závislosti na X serveru do modulu. +more To umožní snadnější použití Compizu jako display serveru pro Wayland. Canonical plánuje pomoci portovat Compiz do OpenGL ES, což je požadavkem pro Wayland display server.
Zpětná kompatibilita s X
X11 aplikace jsou podporovány X serverem, spuštěným jako klientská aplikace Waylandu, ačkoli zatím podporuje pouze X. org ovladače Intelu. +more Qt aplikace mohou přepínat za běhu mezi grafickými backendy jako jsou X a Wayland pomocí volby -platform. V lednu roku 2011 byla podpora Waylandu přesunuta do větve Lighthouse ([ˈlaitˌhaus]) hlavního Qt depositáře. V prosinci roku 2010 přidal GTK+ předběžnou podporu pro přepínání backendů za běhu, říkaje: „zajímavé jsou X11+Wayland nebo Quartz+X11“. V lednu roku 2011 GTK+ Wayland backend získal podporu pro multiple-backend a byl přesunut do gdk-wayland-backend větve hlavního GTK+ Git repozitáře. V dubnu 2011 byla tato větev připojena k hlavní větvi GTK+.