Достъпна е Louvre 1.0, библиотека за разработка на композитни сървъри на базата на Wayland

Разработчиците на проекта Cuarzo OS представиха първото издание на библиотеката Louvre, която предоставя компоненти за разработка на композитни сървъри на базата на протокола Wayland. Кодът е написан на C++ и се разпространява под лиценция GPLv3.

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

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

Достъпна е Louvre 1.0, библиотека за разработка на композитни сървъри на базата на Wayland

Основни възможности на 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 приложения.

Достъпна е Louvre 1.0, библиотека за разработка на композитни сървъри на базата на Wayland
Достъпна е Louvre 1.0, библиотека за разработка на композитни сървъри на базата на Wayland


Източник: opennet.ru
Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster