Найти в Дзене
Новости linux

Valve и Wayland: как frog-protocols решают проблемы с производительностью и управлением цветом

Valve и Wayland: как frog-protocols решают проблемы с производительностью и управлением цветом
Valve и Wayland: как frog-protocols решают проблемы с производительностью и управлением цветом

Valve анонсировала новый проект frog-protocols, направленный на разработку дополнительных протоколов для Wayland. Эти новые протоколы призваны предоставить расширенные возможности для построения композитных серверов и пользовательских окружений. Проект ориентирован на быстрое внедрение новых функций, поскольку многие пользователи по-прежнему работают в средах на базе протокола X11 из-за нехватки необходимого функционала в Wayland.

Первая версия frog-protocols уже доступна в репозиториях Arch Linux, Fedora 41 и 40, а также проходит процесс включения в openSUSE.

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

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

Одним из ключевых изменений является переход к ожиданию завершения вертикальной развёртки (vblank) для корректной работы Wayland-клиента с FIFO, вместо использования callback-вызовов при каждом новом кадре.

Разработчик wlroots Симон Сер выразил сомнение в целесообразности добавления новых протоколов, которые не соответствуют модели разработки wayland-protocols и не учитывают интересы сообщества Wayland. В ответ Пьер-Лу Гриффе из Valve отметил, что текущая модель разработки wayland-protocols не позволяет быстро внедрять экспериментальные протоколы.

В мае 2024 года был выпущен протокол Wayland 1.23. Предыдущая стабильная версия вышла в апреле 2023 года. Wayland 1.23 обратно совместим с API и ABI предыдущих выпусков 1.x и в основном включает исправления ошибок и незначительные обновления протокола.