Programeri projekta Cuarzo OS predstavili su prvo izdanje biblioteke Louvre, koja pruža komponente za razvoj kompozitnih poslužitelja temeljenih na protokolu Wayland. Kod je napisan u C++ i distribuiran pod GPLv3 licencom.
Knjižnica se brine za sve operacije niske razine, uključujući upravljanje grafičkim međuspremnicima, interakciju s ulaznim podsustavima i grafičkim API-jima u Linuxu, a također nudi gotove implementacije raznih proširenja Wayland protokola. Prisutnost gotovih komponenti omogućuje da ne trošite mjesece rada na stvaranje standardnih elemenata niske razine, već da odmah dobijete gotov i radni kompozitni okvir poslužitelja, koji se može prilagoditi vašim potrebama i nadopuniti potrebnim proširena funkcionalnost. Ako je potrebno, programer može nadjačati metode koje pruža biblioteka za rukovanje protokolima, događajima unosa i događajima renderiranja.
Prema programerima, knjižnica je znatno bolja u performansama od konkurentskih rješenja. Na primjer, primjer kompozitnog poslužitelja, louvre-weston-clone, napisan pomoću Louvrea, koji reproducira funkcionalnost projekta Weston, u usporedbi s Westonom i Swayem, troši manje CPU i GPU resursa u testovima, a također vam omogućuje za postizanje dosljedno visokog FPS-a, čak i u složenim scenarijima.
Glavne značajke Louvrea:
- Podrška za konfiguracije s više GPU-a (Multi-GPU).
- Podržava višestruke korisničke sesije (Multi-Session, TTY prebacivanje).
- Sustav renderiranja koji podržava metode temeljene na 2D renderiranju (LPainter), scenama i prikazima.
- Mogućnost korištenja vlastitih shadera i OpenGL ES 2.0 programa.
- Automatsko ponovno crtanje po potrebi (samo kada se promijeni sadržaj područja).
- Rad s više niti, što vam omogućuje postizanje visokog FPS-a s omogućenom v-sinkronizacijom čak i pri renderiranju složenih scenarija (implementacije s jednom niti imaju problema s održavanjem visokog FPS-a zbog nedostajućih okvira koji se ne mogu obraditi zbog kašnjenja čekanja na sinkronizaciju s impulsom za brisanje okvira (vprazno).
- Podržava jednostruko, dvostruko i trostruko spremanje međuspremnika.
- Implementacija međuspremnika za tekstualne podatke.
- Wayland i podrška za proširenja:
- XDG Shell je sučelje za stvaranje i interakciju s površinama kao što su prozori, što vam omogućuje da ih pomičete po zaslonu, smanjite, proširite, promijenite veličinu itd.
- XDG dekoracija - renderiranje dekoracija prozora na strani poslužitelja.
- Vrijeme prezentacije - osigurava video prikaz.
- Linux DMA-Buf - dijeljenje više video kartica pomoću dma-buf tehnologije.
- Podržava rad u okruženjima temeljenim na upravljačkim programima Intel (i915), AMD (amdgpu) i NVIDIA (vlasnički upravljački program ili nouveau).
- Značajke koje još nisu implementirane (na popisu planova):
- Touch Events - rukovanje događajima na dodirnom zaslonu.
- Pokreti pokazivača - kontrole na dodirnom zaslonu.
- Viewporter - Omogućuje klijentu izvođenje skaliranja na strani poslužitelja i podrezivanje rubova površine.
- Transformacija LView objekata.
- XWayland - pokretanje X11 aplikacija.
Izvor: opennet.ru