Dostępna jest biblioteka Louvre 1.2.0 zawierająca komponenty do tworzenia serwerów kompozytowych opartych na protokole Wayland. Biblioteka zajmuje się wszystkimi operacjami niskiego poziomu, w tym zarządzaniem buforami graficznymi, interakcją z podsystemami wejściowymi i graficznymi API w systemie Linux, a także oferuje gotowe implementacje różnych rozszerzeń protokołu Wayland. Serwer złożony oparty na Louvre zużywa znacznie mniej zasobów i wykazuje wyższą wydajność w porównaniu do Weston i Sway. Kod napisany jest w C++ i rozpowszechniany na licencji GPLv3. Przegląd możliwości Luwru można przeczytać w zapowiedzi pierwszej odsłony projektu.
W nowej wersji:
- Dodano obsługę ustawiania wartości skali niecałkowitej (skala ułamkowa) i oversamplingu (oversampling) w celu ograniczenia artefaktów antyaliasingu podczas zwiększania skali. W przypadku skalowania ułamkowego stosowana jest skala ułamkowa protokołu Waylanda.
- Korzystając z protokołu kontroli łez, można wyłączyć synchronizację pionową (VSync) za pomocą impulsu tłumienia pionowego, używanego do ochrony przed rozdarciem w aplikacjach pełnoekranowych. W aplikacjach multimedialnych artefakty spowodowane rozdarciem są efektem niepożądanym, ale w programach do gier artefakty mogą być tolerowane, jeśli radzenie sobie z nimi powoduje dodatkowe opóźnienia.
- Dodano obsługę korekcji gamma przy użyciu protokołu Wayland wlr-gamma-control.
- Dodano obsługę protokołu Wayland „viewporter”, który umożliwia klientowi wykonywanie operacji skalowania i przycinania krawędzi powierzchni po stronie serwera.
- Do klasy LPainter dodano metody służące do rysowania obszarów tekstur z dużą precyzją i stosowania transformacji.
- Klasa LTextureView zapewnia obsługę prostokątów źródłowych („rect źródłowy”, prostokątny obszar do wyświetlania) i transformacji.
- Dodano klasę LBitset, aby zmniejszyć zużycie pamięci podczas przechowywania flag i stanów.
Źródło: opennet.ru