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

Распрацоўнікі праекту Cuarzo OS прадставілі першы выпуск бібліятэкі Louvre, якая прадстаўляе кампаненты для распрацоўкі кампазітных сервераў на базе пратаколу Wayland. Код напісаны на мове З і распаўсюджваецца пад ліцэнзіяй GPLv3.

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

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

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

Асноўныя магчымасці Louvre:

  • Падтрымка працы ў канфігурацыях з некалькімі GPU (Multi-GPU).
  • Падтрымка некалькіх карыстацкіх сеансаў (Multi-Session, пераключэнне TTY).
  • Сістэма адмалёўкі з падтрымкай метадаў на аснове 2D-рэндэрынгу (LPainter), сцэн (Scene) і ўяўленняў (Views).
  • Магчымасць выкарыстання сваіх уласных шэйдараў і праграм OpenGL ES 2.0.
  • Аўтаматычная перамалёўка, якая выконваецца па меры неабходнасці (толькі пры змене змесціва вобласці).
  • Шматструменная праца, якая дазваляе дамагчыся высокіх FPS з уключаным v-sync нават пры адмалёўцы складаных сцэнараў (аднаструменныя рэалізацыі, маюць праблемы з падтрыманнем высокага FPS з-за пропуску кадраў, якія не паспяваюць апрацаваць з-за затрымак на чаканне сінхранізацыі з кадравым якія гасяць імпульсам ).
  • Падтрымка адзіночнай, падвойнай і патройны буферызацыі.
  • Рэалізацыя буфера абмену для тэкставых даных.
  • Падтрымка 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

Дадаць каментар