Библиотека берёт на себя выполнение всех низкоуровневых операций, включая управления графическими буферами, взаимодействие с подсистемами ввода и графическими 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-приложений.
Источник: http://www.opennet.ru/opennews/art.shtml?num=60149