Po ponad półtora roku prac, opublikowano stabilną wersję serwera kompozytowego Weston 10.0, rozwijającego technologie wspierające pełną obsługę protokołu Wayland w Enlightenment, GNOME, KDE i innych środowiskach użytkownika. Rozwój Weston ma na celu dostarczenie wysokiej jakości bazy kodowej i praktycznych przykładów zastosowania Wayland w środowiskach desktopowych oraz w zintegrowanych rozwiązaniach, takich jak platformy systemów infotainment w samochodach, smartfonach, telewizorach i innych urządzeniach konsumenckich. Kod projektu jest dostępny na licencji MIT.
Zmiana istotnego numeru wersji Weston jest spowodowana zmianami ABI, które naruszają kompatybilność. Zmiany w nowej gałęzi Weston:
- Dodano komponenty do zarządzania kolorami, umożliwiające konwersję kolorów, gamma-korekcję i pracę z profilami kolorów. Zmiany na razie ograniczają się do wewnętrznych podsystemów, widoczne dla użytkownika narzędzia do zarządzania kolorami pojawią się w następnej wersji.
- W implementacji protokołu linux-dmabuf-unstable-v1, który umożliwia współdzielenie wielu kart graficznych za pomocą technologii DMA-BUF, dodano mechanizm „dma-buf feedback”, który dostarcza kompozytowi serwera dodatkowe informacje na temat poszczególnych GPU i pozwala zwiększyć wydajność wymiany danych między głównym a wtórnym GPU. Na przykład wsparcie „dma-buf feedback” rozszerza zastosowanie wyjścia bez pośredniego buforowania (zero-copy scanout).
- Dodano wsparcie dla biblioteki libseat, która zapewnia funkcje organizacji dostępu do wspólnych urządzeń wejścia i wyjścia, pozwalające na ominięcie uprawnień roota (koordynacją dostępu zajmuje się osobny proces w tle seatd). W przyszłych wydaniach planowane jest zastąpienie wszystkiego, co uruchamia Weston, na libseat.
- Wszystkie przykłady aplikacji klienckich zostały przekonwertowane na używanie rozszerzenia protokołu xdg-shell, które zapewnia interfejs do interakcji z powierzchniami jak z oknami, co pozwala na przemieszczanie powierzchni po ekranie, minimalizowanie, maksymalizowanie, zmienianie rozmiaru itd.
- Dodano możliwość automatycznego uruchamiania oprogramowania klienckiego po starcie, na przykład do organizacji automatycznego uruchamiania programów po zalogowaniu.
- Interfejs wl_shell, backend fbdev i narzędzie weston-launch zostały ogłoszone jako przestarzałe (do uruchamiania należy używać seatd-launch lub logind-launch).
- Wymagania dotyczące zależności zostały zwiększone, teraz do kompilacji wymagana jest libdrm 2.4.95, libwayland 1.18.0 i wayland-protocols 1.24. Do kompilacji wtyczki zdalnego dostępu opartej na PipeWire wymagana jest libpipewire 0.3.
- Rozszerzono zestaw testów.
Źródło: opennet.ru
