Vývojári projektu Cuarzo OS predstavili prvé vydanie knižnice Louvre, ktorá poskytuje komponenty pre vývoj kompozitných serverov založených na protokole Wayland. Kód je napísaný v C++ a distribuovaný pod licenciou GPLv3.
Knižnica sa stará o všetky operácie na nízkej úrovni vrátane správy grafických vyrovnávacích pamätí, interakcie so vstupnými subsystémami a grafickými API v Linuxe a ponúka aj hotové implementácie rôznych rozšírení protokolu Wayland. Prítomnosť hotových komponentov umožňuje nestráviť mesiace práce na vytváraní štandardných nízkoúrovňových prvkov, ale okamžite získať hotový a funkčný kompozitný serverový rámec, ktorý je možné prispôsobiť vašim potrebám a doplniť potrebné rozšírená funkčnosť. V prípade potreby môže vývojár prepísať metódy poskytované knižnicou na spracovanie protokolov, vstupných udalostí a vykresľovacích udalostí.
Podľa vývojárov knižnica výrazne prevyšuje výkon oproti konkurenčným riešeniam. Napríklad príklad zloženého servera, louvre-weston-clone, napísaného pomocou Louvre, ktorý reprodukuje funkčnosť projektu Weston v porovnaní s Weston a Sway, spotrebuje menej zdrojov CPU a GPU v testoch a tiež vám umožňuje dosiahnuť trvalo vysoké FPS aj v zložitých scenároch.
Kľúčové vlastnosti Louvru:
- Podpora konfigurácií viacerých GPU (Multi-GPU).
- Podporuje viac užívateľských relácií (Multi-Session, TTY prepínanie).
- Renderovací systém, ktorý podporuje metódy založené na 2D vykresľovaní (LPainter), scénach a zobrazeniach.
- Možnosť používať vlastné shadery a programy OpenGL ES 2.0.
- Automatické prekreslenie vykonané podľa potreby (iba pri zmene obsahu oblasti).
- Viacvláknová práca, ktorá vám umožní dosiahnuť vysoké FPS so zapnutou v-sync aj pri vykresľovaní zložitých scenárov (jednovláknové implementácie majú problémy s udržaním vysokých FPS kvôli chýbajúcim snímkam, ktoré nie je možné spracovať kvôli oneskoreniam čakania na synchronizáciu s impulzom zatemňovania snímok (vblank).
- Podporuje jednoduché, dvojité a trojité ukladanie do vyrovnávacej pamäte.
- Implementácia schránky pre textové dáta.
- Podpora Wayland a rozšírení:
- XDG Shell je rozhranie na vytváranie a interakciu s plochami ako oknami, ktoré vám umožňuje presúvať ich po obrazovke, minimalizovať, rozširovať, meniť veľkosť atď.
- XDG Decoration - vykresľovanie dekorácií okien na strane servera.
- Čas prezentácie – poskytuje zobrazenie videa.
- Linux DMA-Buf - zdieľanie viacerých grafických kariet pomocou technológie dma-buf.
- Podporuje prácu v prostrediach založených na ovládačoch Intel (i915), AMD (amdgpu) a NVIDIA (proprietárny ovládač alebo nouveau).
- Funkcie, ktoré ešte nie sú implementované (v zozname plánov):
- Dotykové udalosti – spracovanie udalostí na dotykovej obrazovke.
- Gestá ukazovateľa – ovládanie dotykovej obrazovky.
- Viewporter – umožňuje klientovi vykonávať škálovanie a orezávanie okrajov povrchu na strane servera.
- Transformácia objektov LView.
- XWayland - spustenie X11 aplikácií.
Zdroj: opennet.ru