Распрацоўнікі праекту 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 з-за пропуску кадраў, якія не паспяваюць апрацаваць з-за затрымак на чаканне сінхранізацыі з кадравым якія гасяць імпульсам ).
- Падтрымка адзіночнай, падвойнай і патройны буферызацыі.
- Рэалізацыя буфера абмену для тэкставых даных.
- Падтрымка 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