Выпуск композитного сервера Weston 15.0

После девяти месяцев разработки опубликован стабильный релиз композитного сервера Weston 15.0, развивающего технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств. Код проекта распространяется под лицензией MIT.

Изменения в новой ветке Weston:

  • Добавлена новая графическая оболочка «lua-shell» (вызывается как «weston --shell=lua»), позволяющая использовать язык Lua для настройки поведения управления окнами и создания полностью кастомизированных пользовательских окружений. В качестве примера на базе «lua-shell» реализована простая мозаичная система управления окнами.

    CFD0C5CECEC5D4_1771594033.jpg

  • Добавлен экспериментальный бэкенд отрисовки, использующий для вывода графический API Vulkan (активируется как «weston --renderer=vulkan»). Бэкенд позволяет запускать Weston как поверх других композитных серверов на базе Wayland и X11, так работать напрямую с драйверами DRM-подсистемы ядра, поддерживающими Vulkan 1.0. В дополнение к бэкнду добавлены Wayland-клиенты simple-vulkan и simple-dmabuf-vulkan.

  • Добавлена поддержка Wayland-протоколов commit-timing-v1 и fifo-v1. Протокол commit-timing позволяет привязать ограничение времени к содержимому поверхности (композитный сервер должен отобразить изменение контента по возможности через указанное время, но не раньше). Протокол fifo реализует FIFO-механизм обработки очереди обновления содержимого отображаемой поверхности. В сочетании данные протоколы позволяют добиться плавности вывода и отображения кадров с учётом вертикальной развёртки при таких применениях как игры и воспроизведение видео. Добавлена поддержка Vulkan-расширений VK_KHR_present_id2 и VK_KHR_present_wait2, позволяющих добиться передачи кадров в режиме FIFO, но без увеличения задержек.

  • Добавлена поддержка Wayland-протокола color-representation-v1 для определение цветового представления Wayland-поверхности, необходимого для поддержки HDR и корректной отрисовки полноцветных YUV-буферов. Протокол позволяет Wayland-клиентам передавать метаданные, необходимые для определения прозрачности, цветовой модели, субдискретизации и диапазона квантования, и применяемые при преобразовании буфера с данными цветовой модели YUV в представление RGB. Добавлена поддержка пиксельных форматов с 10-битами на канал, таких как NV15, NV20, NV30 и P030.

  • Добавлена возможность задействования модулей ядра KMS (Kernel Mode Setting) для выноса (off-load) операций преобразования цвета на сторону контроллера дисплея.

  • Предоставлена возможность использования профилировщика Perfetto для выявления проблем с производительностью при отрисовке, а также отслеживания и визуализации времени выполнения различных операций.

    CFD0C5CECEC5D4_1771594085.png

  • В DRM-бэкенд добавлена базовая поддержка механизма VRR (Variable Refresh Rate), адаптивно меняющего частоту обновления монитора для обеспечения плавности и отсутствия разрывов во время игр и показа видео. Для использования требуется DRM-драйвер с поддержкой VRR.



Источник: http://www.opennet.ru/opennews/art.shtml? num=64839

OpenNet прочитано 643 раза