Programiści z firmy Valve zaprezentowali projekt frog-protocols, w ramach którego planowane jest rozwijanie dodatkowego zestawu protokołów dla Wayland, które uzupełnią protokoły z zestawu wayland-protocols, dostarczającego rozszerzenia Wayland do budowy serwerów kompozytowych i środowisk użytkownika. Tworzenie oddzielnego zestawu protokołów dla Wayland jest spowodowane zbyt wolnym i zaciętym procesem akceptacji nowych protokołów w wayland-protocols, który może się przeciągać na miesiące i lata.
W projekcie frog-protocols protokoły mają być udostępniane użytkownikom tak szybko, jak to możliwe — zdaniem twórców inicjatywy wielu użytkowników wciąż pracuje w środowiskach opartych na protokole X11 z powodu braku koniecznej funkcjonalności, która mogłaby być udostępniona już teraz, ale z różnych powodów jej promocja jest blokowana. Gotowe pakiety z pierwszą wersją frog-protocols zostały już zaakceptowane w repozytoriach Arch Linux, Fedora 41 i Fedora 40, a także są na etapie włączenia do openSUSE.
Pierwszymi dwoma protokołami Wayland, które zostały włączone do frog-protocols, są frog-fifo-v1 i frog-color-management-v1. Protokół frog-color-management dodaje rozszerzenia do zarządzania kolorem, umożliwiające pracę z HDR w grach. Protokół frog-fifo jest uważany za bardzo prymitywny w swojej istocie, ale oferuje ważne funkcje, które rozwiązują problemy z wysokim obciążeniem GPU przy użyciu VSync, zmniejszeniem wydajności oraz zawieszaniem aplikacji przy nakładaniu ich okien na inne włączone okna przy FIFO/VSync.
Kod implementacji protokołu frog-fifo został przekazany do włączenia do głównej części Mesa. Zmiany dodające wsparcie dla protokołu są również przygotowane dla menedżera kompozytowego KWin, który jest rozwijany przez projekt KDE. Implementacja została już przetestowana i wchodzi w skład platformy SteamOS (Steam Deck) oraz kompozytowego Gamescope. Proponowana zmiana polega na zapewnieniu prawidłowego działania klienta Wayland z FIFO poprzez przejście do oczekiwania na zakończenie odświeżania pionowego (vblank) zamiast korzystania z wywołań zwrotnych przy każdej gotowości do wyświetlenia nowej klatki. serwera Gamescope. Proponowana zmiana polega na zapewnieniu prawidłowego działania klienta Wayland z FIFO poprzez przejście do oczekiwania na zakończenie pionowego odświeżania (vblank) zamiast używania wywołań zwrotnych przy każdej gotowości do wyświetlenia nowej klatki.
W trakcie dyskusji na temat zaproponowanej zmiany w Mesa, Simon Ser, jeden z deweloperów wlroots, wyraził wątpliwości co do zasadności dodawania protokołów rozwijanych z pominięciem konsensualnego modelu rozwoju wayland-protocols lub nie uwzględniających interesów społeczności Wayland. Pierre-Loup Griffais z firmy Valve odpowiedział, że obecny model rozwoju wayland-protocols nie zapewnia szybkiego cyklu wprowadzania eksperymentalnych protokołów, co pozwoliłoby na prowadzenie eksperymentów, natychmiastowe uzyskiwanie informacji zwrotnych od użytkowników i uwzględnianie ich w dalszym rozwoju.
Źródło: opennet.ru
