Po dziewięciu miesiącach rozwoju opublikowano stabilną wersję Weston 15.0, serwera kompozytowego, który rozwija technologie umożliwiające pełne wsparcie protokołu Wayland w Enlightenment, GNOME, KDE i innych środowiskach graficznych. Rozwój Weston ma na celu dostarczenie wysokiej jakości bazy kodu i przykładów działania do wykorzystania Wayland w środowiskach graficznych i rozwiązaniach wbudowanych, takich jak platformy dla samochodowych systemów informacyjno-rozrywkowych, smartfonów, telewizorów i innych urządzeń konsumenckich. Kod projektu jest dystrybuowany na licencji MIT.
Zmiany w nowym oddziale Weston:
- Dodano nową powłokę graficzną „lua-shell” (o nazwie „weston --shell=lua”), która umożliwia użycie języka Lua do dostosowania sposobu zarządzania oknami i tworzenia w pełni spersonalizowanych środowisk użytkownika. Na przykład, prosty system zarządzania oknami w układzie kafelkowym został zaimplementowany za pomocą „lua-shell”.
- Dodano eksperymentalny moduł renderujący, który wykorzystuje API graficzne Vulkan do generowania wyników (aktywowany poleceniem „weston --renderer=vulkan”). Moduł ten pozwala na uruchamianie Weston na innych kompozytach. serwery Oparty na Wayland i X11, współpracuje bezpośrednio ze sterownikami DRM jądra obsługującymi Vulkan 1.0. Oprócz backendu dodano klientów Wayland simple-vulkan i simple-dmabuf-vulkan.
- Dodano obsługę protokołów Wayland commit-timing-v1 i fifo-v1. Protokół commit-timing pozwala na powiązanie limitu czasowego z zawartością powierzchni (serwer kompozytowy powinien wyświetlać zmiany zawartości w określonym czasie, jeśli to możliwe, ale nie wcześniej). Protokół FIFO implementuje mechanizm FIFO (first-in-first-out) do przetwarzania kolejki aktualizacji zawartości wyświetlanej powierzchni. Połączenie tych protokołów umożliwia płynne przesyłanie i wyświetlanie klatek, z uwzględnieniem częstotliwości odświeżania pionowego, w aplikacjach takich jak gry i odtwarzanie wideo. Dodano obsługę rozszerzeń Vulkan VK_KHR_present_id2 i VK_KHR_present_wait2, które umożliwiają transmisję klatek w trybie FIFO bez zwiększania opóźnienia.
- Dodano obsługę protokołu Wayland color-representation-v1 do definiowania reprezentacji kolorów powierzchni Wayland, co jest niezbędne do obsługi HDR i poprawnego renderowania pełnokolorowych buforów YUV. Protokół ten umożliwia klientom Wayland przesyłanie metadanych niezbędnych do definiowania przezroczystości, modelu kolorów, podpróbkowania i zakresu kwantyzacji, które są używane podczas konwersji bufora z danymi modelu kolorów YUV na reprezentację RGB. Dodano obsługę 10-bitowych formatów pikseli na kanał, takich jak NV15, NV20, NV30 i P030.
- Dodano możliwość wykorzystania modułów jądra KMS (Kernel Mode Setting) w celu odciążenia kontrolera wyświetlacza od operacji konwersji kolorów.
- Wprowadzono możliwość wykorzystania profilera Perfetto do identyfikowania problemów z wydajnością renderowania oraz śledzenia i wizualizacji czasu wykonywania różnych operacji.
- Zaplecze DRM obejmuje teraz podstawową obsługę mechanizmu zmiennej częstotliwości odświeżania (VRR), który adaptacyjnie zmienia częstotliwość odświeżania monitora, zapewniając płynne granie i odtwarzanie wideo bez efektu rozrywania obrazu. Do korzystania z niego wymagany jest sterownik DRM z obsługą VRR.
Źródło: opennet.ru
