Доступна Louvre 1.0, библиотека для разработки композитных серверов на базе Wayland

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 3255
Зарегистрирован: 20.08.2022

#

Доступна Louvre 1.0, библиотека для разработки композитных серверов на базе Wayland
Дата публикации:Mon, 20 Nov 2023 17:42:40 +0300




Разработчики проекта Cuarzo OS представили первый выпуск библиотеки Louvre, предоставляющей компоненты для разработки композитных серверов на базе протокола Wayland. Код написан на языке С++ и распространяется под лицензией GPLv3.



Библиотека берёт на себя выполнение всех низкоуровневых операций, включая управления графическими буферами, взаимодействие с подсистемами ввода и графическими API в Linux, и также предлагает готовые реализации различных расширений протокола Wayland. Наличие готовых компонентов даёт возможность не тратить месяцы работы на создание типовых низкоуровневых элементов, а сразу получить готовый и работающий каркас композитного сервера, который можно адаптировать под свои потребности и дополнить необходимой расширенной функциональностью. При необходимости разработчик может переопределить предоставляемые библиотекой методы для обработки протоколов, событий ввода и отрисовки.




По заявлению разработчиков, библиотека заметно опережает по производительности конкурирующие решения. Например, написанный при помощи Louvre пример композитного сервера louvre-weston-clone, воспроизводящий функциональность проекта Weston, по сравнению с Weston и Sway потребляет в проведённых тестах меньше ресурсов CPU и GPU, а также позволяет добиться стабильно высокого FPS, даже в сложных сценариях.


Изображение







Основные возможности Louvre:
  • Поддержка работы в конфигурациях с несколькими GPU (Multi-GPU).
    Поддержка нескольких пользовательских сеансов (Multi-Session, переключение TTY).
    Система отрисовки с поддержкой методов на основе 2D-рендеринга (LPainter), сцен (Scene) и представлений (Views).
    Возможность использования своих собственных шейдеров и программ OpenGL ES 2.0.
    Автоматическая перерисовка, выполняемая по мере необходимости (только при изменении содержимого области).

    Многопоточная работа, позволяющая добиться высоких FPS с включённым v-sync даже при отрисовке сложных сценариев (однопоточные реализации, имеют проблемы с поддержанием высокого FPS из-за пропуска кадров, которые не успевают обработать из-за задержек на ожидание синхронизации с кадровым гасящим импульсом (vblank).





    Поддержка одиночной, двойной и тройной буферизации.
    Реализация буфера обмена для текстовых данных.
    Поддержка Wayland и расширений:

    XDG Shell - интерфейс создания и взаимодействия с поверхностями как с окнами, что позволяет их передвигать по экрану, сворачивать, разворачивать, изменять размер и т.д.
    XDG Decoration - отрисовка декораций окон на стороне сервера.
    Presentation Time - обеспечивает отображение видео.
    Linux DMA-Buf - совместное использование нескольких видеокарт при помощи технологии dma-buf.
Поддержка работы в окружениях на основе драйверов Intel (i915), AMD (amdgpu) и NVIDIA (проприетарный драйвер или nouveau).

Пока не реализованные возможности (в списке планов):
  • Touch Events - обработка событий сенсорных экранов.
    Pointer Gestures - управление с сенсорных экранов.
    Viewporter - позволяет клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера.
    Трансформация объектов LView.
    XWayland - запуск X11-приложений.







Изображение
Изображение


Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60149

Жизнь за Нер'зула!

Ответить