Ostateczna wersja protokołu, mechanizmu międzyprocesowej komunikacji oraz bibliotek Wayland 1.20 została wydana. Gałąź 1.20 jest w pełni zgodna w zakresie API i ABI z wydaniami 1.x i zawiera głównie poprawki błędów oraz drobne aktualizacje protokołu. Serwer kompozytowy Weston, który dostarcza kod oraz przykłady użycia Wayland w środowiskach desktopowych i rozwiązaniach wbudowanych, rozwija się w ramach oddzielnego cyklu rozwoju.
Główne zmiany w protokole:
- Zrealizowano oficjalne wsparcie dla platformy FreeBSD, a testy dla tej platformy zostały dodane do systemu ciągłej integracji.
- Wsparcie dla systemu budowy autotools zostało zakończone, w jego miejsce zastosowano Meson.
- Do protokołu dodano możliwość „wl_surface.offset”, umożliwiającą klientom aktualizację przesunięcia bufora powierzchni niezależnie od samego bufora.
- Do protokołu dodano możliwości „wl_output.name” oraz „wl_output.description”, które umożliwiają klientowi identyfikację wyjścia bez przypisania do rozszerzenia protokołu xdg-output-unstable-v1.
- W definicjach protokołu dla zdarzeń wprowadzono nowy atrybut „type”, a same zdarzenia mogą być oznaczane jako destruktory.
- Usunięto błędy, w tym usunięto stany wyścigu podczas usuwania proxy w wielowątkowych klientach.
Zmiany w aplikacjach, środowiskach graficznych i dystrybucjach związane z Wayland:
- W XWayland oraz w własnościowym sterowniku NVIDIA wprowadzono zmiany, które zapewniają pełne wsparcie dla sprzętowego przyspieszania OpenGL i Vulkan w aplikacjach X11, realizowanych przy pomocy komponentu DDX (Device-Dependent X) XWayland.
- Główna gałąź we wszystkich repozytoriach Wayland została przemianowana z „master” na „main”, ponieważ słowo „master” w ostatnim czasie uważane jest za niepoprawne politycznie, przypominające o niewolnictwie i uznawane za obraźliwe przez niektórych członków społeczności.
- W Ubuntu 21.04 dokonano przejścia na domyślne użycie Wayland.
- W Fedora 35, Ubuntu 21.10 oraz RHEL 8.5 dodano możliwość korzystania z pulpitu opartego na protokole Wayland w systemach z własnościowymi sterownikami NVIDIA.
- Opracowano wersję kompozytora serwera Weston 9.0, w której wprowadzono powłokę kiosk-shell, umożliwiającą uruchamianie oddzielnych aplikacji w trybie pełnoekranowym, na przykład do tworzenia kiosków internetowych, stanowisk demonstracyjnych, elektronicznych tablic informacyjnych oraz terminali samoobsługowych.
- Firma Canonical opublikowała interfejs Ubuntu Frame z pełnoekranowym interfejsem do tworzenia kiosków internetowych, wykorzystującym protokół Wayland.
- W systemie strumieniowego przesyłania wideo OBS Studio wprowadzono wsparcie dla protokołu Wayland.
- W GNOME 40 i 41 kontynuowano doskonalenie wsparcia dla protokołu Wayland oraz komponentu XWayland. Zezwolono na użycie sesji Wayland w systemach z GPU NVIDIA.
- Dalsze prace nad portowaniem pulpitu MATE do Wayland. Dla pracy niezależnej od X11 w środowisku Wayland dostosowano przeglądarkę dokumentów Atril, Monitor Systemu, edytor tekstu Pluma, emulator terminala Terminal oraz inne komponenty pulpitu.
- Stabilizowano sesję KDE działającą w oparciu o protokół Wayland. W menedżerze kompozycji KWin oraz pulpicie KDE Plasma 5.21, 5.22 i 5.23 znacznie poprawiono działanie sesji opartych na protokole Wayland. Wydania Fedora Linux z pulpitem KDE domyślnie przeszły na wykorzystanie Wayland.
- W Firefoxie 93-96 wprowadzono zmiany rozwiązujące problemy związane z przetwarzaniem okien popup, schowkiem i skalowaniem na ekranach o różnym DPI w środowiskach Wayland. Port Firefoxa dla Wayland osiągnął parytet funkcjonalności z wersją dla X11 podczas pracy w GNOME w systemie Fedora.
- Opublikowano kompaktowy interfejs użytkownika oparty na serwerze kompozycyjnym Weston – wayward.
- Dostępna jest pierwsza wersja labwc, serwera kompozycyjnego dla Wayland z funkcjami przypominającymi menedżer okien Openbox.
- Firma System76 pracuje nad stworzeniem nowego środowiska użytkownika COSMIC, które wykorzystuje Wayland.
- Opublikowano wersje środowiska użytkownika Sway 1.6 i serwera kompozycyjnego Wayfire 0.7, które wykorzystują Wayland.
- Dla Wine zaproponowano zaktualizowany sterownik umożliwiający uruchamianie aplikacji korzystających z GDI i OpenGL/DirectX bezpośrednio w środowisku opartym na Wayland, bez korzystania z warstwy XWayland i eliminując powiązanie Wine z protokołem X11. W sterowniku dodano wsparcie dla Vulkan i konfiguracji wielomonitorowych.
- Firma Microsoft wdrożyła możliwość uruchamiania aplikacji Linux z interfejsem graficznym w środowiskach opartych na podsystemie WSL2 (Windows Subsystem for Linux). Do wyświetlania wykorzystano menedżer kompozycji RAIL-Shell, oparty na protokole Wayland i kodzie bazowym Weston.
- Zmieniła się metoda rozwijania pakietu wayland-protocols, który zawiera zestaw protokołów i rozszerzeń, uzupełniających możliwości podstawowego protokołu Wayland oraz dostarczających funkcjonalności niezbędne do budowy kompozytów serwerów i środowisk użytkownika. Etap rozwoju protokołów „unstable” został zastąpiony przez „staging”, aby uprościć proces stabilizacji protokołów, które przeszły testy w środowiskach produkcyjnych.
- Dla Wayland przygotowano rozszerzenie protokołu umożliwiające ponowne uruchomienie środowiska okien bez zatrzymywania aplikacji, co rozwiąże problem związany z zakończeniem aplikacji w przypadku awarii środowiska okien.
- W Mesa dodano niezbędne dla Wayland rozszerzenie EGL o nazwie EGL_EXT_present_opaque. Rozwiązano problemy z wyświetlaniem przezroczystości w grach uruchamianych w środowiskach opartych na protokole Wayland. Wprowadzono wsparcie dla dynamicznego wykrywania i ładowania alternatywnych backendów GBM (Generic Buffer Manager), aby poprawić obsługę Wayland na systemach z sterownikami NVIDIA.
- Kontynuowane są prace nad KWinFT, forkiem KWin, skoncentrowanym na Wayland. Projekt rozwija również bibliotekę wrapland, implementującą opakowanie nad libwayland dla Qt/C++, w dalszym ciągu rozwijającą KWayland, ale pozbawioną powiązań z Qt.
- Dystrybucja Tails zaplanowała przekształcenie środowiska użytkownika do korzystania z protokołu Wayland, co pozwoli zwiększyć bezpieczeństwo wszystkich aplikacji graficznych przez poprawę kontroli nad tym, jak aplikacje współdziałają z systemem.
- Wayland jest domyślnie wykorzystywany na mobilnych platformach Plasma Mobile, Sailfish, webOS Open Source Edition.
Źródło: opennet.ru
