Valve представила проект frog-protocols, который позволит развивать дополнительный набор протоколов для Wayland, а также поставляющий Wayland-расширения для построения композитных серверов и пользовательских окружений.
В рамках проекта новые протоколы будут доводить до пользователей как можно быстрее, так как многие продолжают работать в окружениях на базе протокола X11 из-за отсутствия необходимой функциональности.
Готовые пакеты с первой версией frog-protocols уже приняты в репозитории Arch Linux, Fedora 41 и Fedora 40, а также находятся на стадии включения в состав openSUSE.
В проект уже включили два Wayland-протокола — frog-fifo-v1 и frog-color-management-v1. Второй добавляет расширения для управления цветом, предоставляющих возможности для работы с HDR в играх, а первый решает проблемы с высокой нагрузкой на GPU при использовании VSync, снижением производительности и зависанием приложений при перекрытии их окон другими окнами при включённом FIFO/VSync.
Код с реализацией протокола frog-fifo передали для включения в основной состав Mesa. Изменения также подготовлены для композитного менеджера KWin, который развивает проект KDE. Реализация входит в состав платформы SteamOS (Steam Deck) и композитного сервера Gamescope.
Предлагаемое изменение сводится к обеспечению корректной работы Wayland-клиента с FIFO, так как осуществлён переход к ожиданию завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр.
Один из разработчиков wlroots Симон Сер отметил, что не уверен в целесообразности добавления новых протоколов, развиваемых в обход модели разработки wayland-protocols или не учитывающих интересы Wayland-сообщества. Пьер-Лу Гриффе из Valve ответил, что текущей модели разработки wayland-protocols не хватает быстрого цикла продвижения экспериментальных протоколов.
В мае 2024 года состоялся релиз протокола Wayland 1.23. Предыдущая стабильная версия проекта вышла в апреле 2023 года. Ветка Wayland 1.23 обратно совместима на уровне API и ABI с выпусками 1.x и содержит в основном исправления ранее обнаруженных ошибок и незначительные обновления протокола.
Источник новости: habr.com