Razvijalci projekta Cuarzo OS so predstavili prvo izdajo knjižnice Louvre, ki nudi komponente za razvoj kompozitnih strežnikov na osnovi protokola Wayland. Koda je napisana v jeziku C++ in se distribuira pod licenco GPLv3.
Knjižnica prevzema izvajanje vseh nizko nivojskih operacij, vključno z upravljanjem grafičnih predpomnilnikov, interakcijo s podskladi za vhodne naprave in grafičnimi API-ji v Linuxu, ter ponuja tudi pripravljene implementacije različnih razširitev protokola Wayland. Prisutnost pripravljenih komponent omogoča, da ne porabite mesecev dela za ustvarjanje tipičnih nizko nivojskih elementov, temveč takoj dobite pripravljen in delujoč okvir kompozitnega strežnika, ki ga lahko prilagodite svojim potrebam in dopolnite z zahtevano razširjeno funkcionalnostjo. Po potrebi lahko razvijalec prepiše metode, ki jih zagotavlja knjižnica, za obdelavo protokolov, dogodkov vhodnih naprav in upodabljanja.
Po trditvah razvijalcev knjižnica očitno prekaša konkurenco glede zmogljivosti. Na primer, primer kompozitnega strežnika louvre-weston-clone, napisan z uporabo knjižnice Louvre, ki ponavlja funkcionalnost projekta Weston, porabi v primerjavi z Weston in Sway med testiranjem manj CPU in GPU virov ter omogoča stabilno visoko FPS, tudi v zahtevnih scenarijih.

Glavne možnosti Louvre:
- Podpora za delovanje v konfiguracijah z več GPU-ji (Multi-GPU).
- Podpora za več uporabniških sej (Multi-Session, preklapljanje TTY).
- Sistem upodabljanja s podporo za metode na osnovi 2D-upodabljanja (LPainter), scen (Scene) in pogledi (Views).
- Možnost uporabe lastnih senčil in programov OpenGL ES 2.0.
- Samodejno ponovno upodabljanje, ki se izvaja po potrebi (samo ob spremembi vsebine območja).
- Večnitno delovanje, ki omogoča dosego visokih FPS z vklopljenim v-sync tudi pri upodabljanju zahtevnih scenarijev (enonitne implementacije imajo težave z vzdrževanjem visokega FPS zaradi preskakanja sličic, ki jih ne uspejo obdelati zaradi zamud pri sinhronizaciji z razpisnim napetostnim impulzom (vblank).
- Podpora za enojno, dvojno in trojno predpomniljenje.
- Izvedba predpomnilnika za besedilne podatke.
- Podpora za Wayland in razširitve:
- XDG Shell — vmesnik za ustvarjanje in interakcijo s površinami kot okni, kar omogoča njihovo premikanje po zaslonu, minimiziranje, maksimiziranje, spreminjanje velikosti itd.
- XDG Decoration — risanje dekoracij oken na strani strežnika.
- Presentation Time — zagotavlja prikaz videa.
- Linux DMA-Buf — skupna raba več grafičnih kartic s tehnologijo dma-buf.
- Podpora za delovanje v okolju, ki temelji na gonilnikih Intel (i915), AMD (amdgpu) in NVIDIA (zaprt gonilnik ali nouveau).
- Trenutno nerealizirane možnosti (na seznamu načrtov):
- Dotik dogodkov — obdelava dotikov na zaslonih na dotik.
- Kazalni gibi — upravljanje s strani zaslonov na dotik.
- Viewporter — omogoča stranki, da izvaja dejanja povečave in obrezovanja robov površin na strani strežnika.
- Transformacija objektov LView.
- XWayland — zagon X11 aplikacij.


Izvor: opennet.ru
