Programeri Cuarzo OS projekta predstavili su prvo izdanje biblioteke Louvre, koja pruža komponente za razvoj kompozitnih servera baziranih na Wayland protokolu. Kod je napisan u C++ i distribuiran pod GPLv3 licencom.
Biblioteka se brine o svim operacijama niskog nivoa, uključujući upravljanje grafičkim baferima, interakciju sa ulaznim podsistemima i grafičkim API-jima u Linuxu, a nudi i gotove implementacije različitih ekstenzija Wayland protokola. Prisutnost gotovih komponenti omogućava da se ne troše mjeseci rada na kreiranju standardnih niskorazinskih elemenata, već da odmah dobijete gotov i radni kompozitni serverski okvir, koji se može prilagoditi vašim potrebama i dopuniti potrebnim proširenu funkcionalnost. Ako je potrebno, programer može nadjačati metode koje nudi biblioteka za rukovanje protokolima, ulaznim događajima i događajima renderiranja.
Prema rečima programera, biblioteka je primetno superiornija u performansama u odnosu na konkurentska rešenja. Na primjer, primjer kompozitnog servera, louvre-weston-clone, napisanog koristeći Louvre, koji reproducira funkcionalnost Weston projekta, u poređenju sa Weston i Sway, troši manje CPU i GPU resursa u testovima, a također vam omogućava za postizanje konstantno visokog FPS-a, čak iu složenim scenarijima.
Ključne karakteristike Louvrea:
- Podrška za multi-GPU konfiguracije (Multi-GPU).
- Podržava višestruke korisničke sesije (Multi-Session, TTY switching).
- Sistem za renderovanje koji podržava metode zasnovane na 2D renderovanju (LPainter), Scenama i Pogledima.
- Mogućnost korištenja vlastitih shadera i OpenGL ES 2.0 programa.
- Automatsko precrtavanje se izvodi po potrebi (samo kada se promijeni sadržaj područja).
- Rad sa više niti, koji vam omogućava da postignete visok FPS sa omogućenom v-sinhronizacijom čak i kada se renderuju složeni scenariji (jednonitne implementacije imaju problema sa održavanjem visokog FPS-a zbog nedostajućih okvira koji se ne mogu obraditi zbog kašnjenja u čekanju na sinhronizaciju sa impulsom zatvaranja okvira (vblank ).
- Podržava jedno, dvostruko i trostruko puferovanje.
- Implementacija međuspremnika za tekstualne podatke.
- Wayland i podrška za ekstenzije:
- XDG Shell je interfejs za kreiranje i interakciju sa površinama kao prozorima, koji vam omogućava da ih pomerate po ekranu, minimizirate, proširite, promenite veličinu itd.
- XDG Decoration - renderiranje ukrasa prozora na strani servera.
- Vrijeme prezentacije - omogućava prikaz videa.
- Linux DMA-Buf - dijeljenje više video kartica korištenjem dma-buf tehnologije.
- Podržava rad u okruženjima zasnovanim na Intel (i915), AMD (amdgpu) i NVIDIA drajverima (vlasnički drajver ili nouveau).
- Funkcije koje još nisu implementirane (na listi planova):
- Događaji dodira - rukovanje događajima na dodirnom ekranu.
- Pokreti pokazivača - kontrole na ekranu osjetljivom na dodir.
- Viewporter - omogućava klijentu da izvrši skaliranje na strani servera i obrezivanje ivica površine.
- Transformacija LView objekata.
- XWayland - pokretanje X11 aplikacija.
izvor: opennet.ru