Louvre 1.0, ett bibliotek för att utveckla sammansatta servrar baserade på Wayland, är tillgängligt

Utvecklarna av Cuarzo OS-projektet presenterade den första utgåvan av Louvre-biblioteket, som tillhandahåller komponenter för utveckling av sammansatta servrar baserade på Wayland-protokollet. Koden är skriven i C++ och distribueras under GPLv3-licensen.

Biblioteket tar hand om alla lågnivåoperationer, inklusive hantering av grafikbuffertar, interaktion med indatasubsystem och grafik-API:er i Linux, och erbjuder även färdiga implementeringar av olika tillägg av Wayland-protokollet. Närvaron av färdiga komponenter gör det möjligt att inte spendera månader av arbete på att skapa standardelement på låg nivå, utan att omedelbart få ett färdigt och fungerande sammansatt serverramverk, som kan anpassas till dina behov och kompletteras med nödvändiga utökad funktionalitet. Vid behov kan utvecklaren åsidosätta metoderna som tillhandahålls av biblioteket för att hantera protokoll, inmatningshändelser och renderingshändelser.

Enligt utvecklarna är biblioteket märkbart överlägset i prestanda jämfört med konkurrerande lösningar. Till exempel, ett exempel på en sammansatt server, louvre-weston-clone, skriven med Louvre, som återger funktionaliteten i Weston-projektet, i jämförelse med Weston och Sway, förbrukar mindre CPU- och GPU-resurser i testerna, och låter dig också för att uppnå konsekvent hög FPS, även i komplexa scenarier.

Louvre 1.0, ett bibliotek för att utveckla sammansatta servrar baserade på Wayland, är tillgängligt

Nyckelfunktioner i Louvren:

  • Stöd för multi-GPU-konfigurationer (Multi-GPU).
  • Stöder flera användarsessioner (Multi-Session, TTY-växling).
  • Ett renderingssystem som stöder metoder baserade på 2D-rendering (LPainter), scener och vyer.
  • Möjlighet att använda dina egna shaders och OpenGL ES 2.0-program.
  • Automatisk omritning utförs vid behov (endast när innehållet i området ändras).
  • Flertrådigt arbete, vilket gör att du kan uppnå hög FPS med v-synkronisering aktiverad även när du renderar komplexa scenarier (entrådade implementeringar har problem med att bibehålla hög FPS på grund av saknade ramar som inte kan behandlas på grund av förseningar som väntar på synkronisering med ramsläckningspulsen (vblank ).
  • Stöder enkel-, dubbel- och trippelbuffring.
  • Implementering av ett urklipp för textdata.
  • Wayland och tilläggsstöd:
    • XDG Shell är ett gränssnitt för att skapa och interagera med ytor som fönster, vilket låter dig flytta dem runt på skärmen, minimera, expandera, ändra storlek, etc.
    • XDG Decoration - rendering av fönsterdekorationer på serversidan.
    • Presentation Time - ger videovisning.
    • Linux DMA-Buf - delning av flera grafikkort med dma-buf-teknik.
  • Stöder arbete i miljöer baserade på Intel (i915), AMD (amdgpu) och NVIDIA-drivrutiner (proprietär drivrutin eller nouveau).
  • Funktioner som ännu inte implementerats (i listan över planer):
    • Touch Events - hantering av pekskärmshändelser.
    • Pekargester - pekskärmskontroller.
    • Viewporter - Låter klienten utföra skalning på serversidan och trimning av ytkanter.
    • Transformera LView-objekt.
    • XWayland - lanserar X11-applikationer.

Louvre 1.0, ett bibliotek för att utveckla sammansatta servrar baserade på Wayland, är tillgängligt
Louvre 1.0, ett bibliotek för att utveckla sammansatta servrar baserade på Wayland, är tillgängligt


Källa: opennet.ru

Lägg en kommentar