Компания Valve запустила проект Frog для ускорения продвижения новых протоколов Wayland

Разработчики из компании Valve представили проект frog-protocols, в рамах которого планируется развивать дополнительный набор протоколов для Wayland, дополняющих протоколы из набора wayland-protocols, поставляющего Wayland-расширения для построения композитных серверов и пользовательских окружений. Создание отдельного набора протоколов к Wayland объясняется слишком медленным и буксующим в бесконечных обсуждениях процессом принятия новых протоколов в wayland-protocols, который может затягиваться на месяцы и годы.

В проекте frog-protocols протоколы намерены доводить до пользователей как можно быстрее – по мнению создателей инициативы многие пользователи продолжают работать в окружениях на базе протокола X11 из-за отсутствия необходимой функциональности, которая может быть предоставлена уже сейчас, но по тем или иным причинам её продвижение блокируется. Готовые пакеты с первой версией frog-protocols уже приняты в репозитории Arch Linux, Fedora 41 и Fedora 40, а также находятся на стадии включения в состав openSUSE.

Первыми двумя Wayland-протоколами, включёнными в состав frog-protocols, стали frog-fifo-v1 и frog-color-management-v1. Протокол frog-color-management добавляет расширения для управления цветом, предоставляющих возможности для работы с HDR в играх. Протокол frog-fifo отмечается как очень примитивный по своей сути, но предоставляющий важные возможности, решающие проблемы с высокой нагрузкой на GPU при использовании VSync, снижением производительности и зависанием приложений при перекрытии их окон другими окнами при включённом FIFO/VSync.

Код с реализацией протокола frog-fifo передан для включения в основной состав Mesa. Изменения добавляющие поддержку протокола также подготовлены для композитного менеджера KWin, развиваемого проектом KDE. Реализация уже опробована в работе и входит в состав платформы SteamOS (Steam Deck) и композитного сервера Gamescope. Предлагаемое изменение сводится обеспечению корректной работы Wayland-клиента с FIFO, благодаря переходу к ожиданию завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр.

В ходе обсуждения предложенного в Mesa изменения Симон Сер (Simon Ser), один из разработчиков wlroots, выразил сомнение в целесообразности добавления протоколов, развиваемых в обход основанной на достижении консенсуса модели разработки wayland-protocols или не учитывающих интересы Wayland-сообщества. Пьер-Лу Гриффе (Pierre-Loup Griffais) из компании Valve ответил, что текущей модели разработки wayland-protocols не хватает быстрого цикла продвижения экспериментальных протоколов, который позволил бы проводить эксперименты, сразу получать обратную связь от пользователей и учитывать её при дальнейшей разработке.

Release. Ссылка here.