Dostępna Louvre 1.0, biblioteka do tworzenia serwerów kompozytowych opartych na Wayland.

Twórcy projektu Cuarzo OS zaprezentowali pierwszą wersję biblioteki Louvre, która dostarcza komponenty do tworzenia serwerów kompozytowych opartych na protokole Wayland. Kod jest napisany w języku C++ i dystrybuowany na licencji GPLv3.

Biblioteka zajmuje się wykonywaniem wszystkich operacji niskopoziomowych, w tym zarządzaniem buforami graficznymi, interakcją z podsystemami wejścia oraz graficznymi interfejsami API w systemie Linux, a także oferuje gotowe implementacje różnych rozszerzeń protokołu Wayland. Posiadanie gotowych komponentów pozwala zaoszczędzić miesiące pracy na tworzenie typowych niskopoziomowych elementów, a zamiast tego pozwala od razu uzyskać gotowy i działający szkielet kompozytowy, serwera, który można dostosować do własnych potrzeb i wzbogacić o niezbędną rozbudowaną funkcjonalność. Jeśli zajdzie taka potrzeba, programista może nadpisać metody dostarczane przez bibliotekę w celu obsługi protokołów, zdarzeń wejścia i renderowania.

Według twórców biblioteka znacząco przewyższa wydajnością konkurencyjne rozwiązania. Na przykład przykład serwera kompozytowego louvre-weston-clone, stworzony za pomocą Louvre, który odtwarza funkcjonalność projektu Weston, w testach zużywa mniej zasobów CPU i GPU w porównaniu do Westona i Sway'a, a także pozwala osiągnąć stabilnie wysokie FPS, nawet w trudnych scenariuszach.

Dostępna Louvre 1.0, biblioteka do tworzenia serwerów kompozytowych opartych na Wayland.

Główne możliwości Louvre:

  • Wsparcie dla konfiguracji z wieloma GPU (Multi-GPU).
  • Wsparcie dla wielu sesji użytkowników (Multi-Session, przełączanie TTY).
  • System renderowania z obsługą metod opartych na renderowaniu 2D (LPainter), scen (Scene) i widoków (Views).
  • Możliwość korzystania z własnych shaderów i programów OpenGL ES 2.0.
  • Automatyczne przerysowywanie, wykonywane w razie potrzeby (tylko przy zmianie zawartości obszaru).
  • Wielowątkowe przetwarzanie, co pozwala uzyskać wysokie FPS z włączonym v-sync, nawet przy renderowaniu skomplikowanych scenariuszy (implementacje jednowątkowe mają problemy z utrzymaniem wysokiego FPS z powodu opuszczania klatek, które nie mogą być przetworzone z powodu opóźnień związanych z oczekiwaniem na synchronizację z pulsacją gasiącą klatki (vblank).
  • Wsparcie dla pojedynczego, podwójnego i potrójnego buforowania.
  • Implementacja bufora wymiany dla danych tekstowych.
  • Wsparcie dla Wayland i rozszerzeń:
    • XDG Shell — interfejs do tworzenia i interakcji z powierzchniami jako oknami, co umożliwia ich przesuwanie po ekranie, minimalizowanie, maksymalizowanie, zmienianie rozmiaru itp.
    • XDG Decoration — renderowanie dekoracji okien po stronie serwera.
    • Presentation Time — zapewnia wyświetlanie wideo.
    • Linux DMA-Buf — współdzielenie wielu kart graficznych za pomocą technologii dma-buf.
  • Wsparcie działania w środowiskach opartych na sterownikach Intel (i915), AMD (amdgpu) oraz NVIDIA (sterownik proprietarny lub nouveau).
  • Pomysły, które nie zostały jeszcze zrealizowane (na liście planów):
    • Touch Events — obsługa zdarzeń z ekranów dotykowych.
    • Pointer Gestures — sterowanie z ekranów dotykowych.
    • Viewporter — pozwala klientowi na działania dotyczące skalowania i przycinania krawędzi powierzchni po stronie serwera.
    • Transformacja obiektów LView.
    • XWayland — uruchamianie aplikacji X11.

Dostępna Louvre 1.0, biblioteka do tworzenia serwerów kompozytowych opartych na Wayland.
Dostępna Louvre 1.0, biblioteka do tworzenia serwerów kompozytowych opartych na Wayland.


Źródło: opennet.ru
Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster