Wydanie alternatywnego serwera X yserver 1.5

Wydano serwer X11 yserver 1.5.0, całkowicie napisany od zera w języku Rust, wspierający aktualne rozszerzenia protokołu X11. Projekt nie ma na celu powtórzenia wszystkich funkcji Xorg Server i ogranicza się jedynie do funkcjonalności niezbędnej do uruchamiania nowoczesnych środowisk graficznych, menedżerów okien, aplikacji oraz bibliotek graficznych (GTK, Qt, SDL, GLFW). Testowane środowiska to MATE, Xfce, Cinnamon, Sonic oraz Enlightenment, a także menedżery okien, takie jak icewm, FVWM3, openbox, i3 i wmaker. Kod projektu jest udostępniany na licencji MIT.

W yserver postanowiono nie wspierać przestarzałych i specyficznych funkcji, takich jak obsługa wielu ekranów X11 na jednym serwerze (wsparcie dla wyjścia wielomonitorowego jest zapewnione), inne niż TrueColor tryby kolorów, pośrednie renderowanie (indirect GLX), API sterowników DDX, stare metody obsługi czcionek oraz łączenie klientów z inną kolejnością bajtów (transliteracja między big-endian a little-endian).

Wyjście grafiki odbywa się przez DRM/KMS i sterowniki Vulkan Mesa. Do zarządzania sesją oraz organizacji dostępu do współdzielonych urządzeń wejścia i wyjścia używana jest biblioteka libseat. Oprócz odrębnego serwera X dostarczany jest ynest – backend do zagnieżdżonego uruchamiania, wspierający pracę z Xwayland lub innym X11.serwery.

Testy wykonano na systemach z GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, sterownik mesa RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, sterownik mesa ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, a także w systemach wirtualizacji z virtio-gpu i wirtualnym GPU Venus. Obsługiwane są systemy Linux i FreeBSD.

W nowej wersji:

  • Dodano wsparcie dla mechanizmu reverse-PRIME, który umożliwia wykorzystanie zintegrowanego GPU do renderowania oraz GPU dedykowanej karty graficznej do wyświetlania na zewnętrznych monitorach podłączonych do portów karty graficznej.
  • Dodano wsparcie dla przesyłania do Mesa danych o częstotliwości odświeżania ekranu za pomocą rozszerzenia GLX_OML_sync_control.
  • Wprowadzono optymalizację mającą na celu zmniejszenie opóźnień u klientów z wyłączoną synchronizacją pionową (vsync-off).
  • Zaimplementowano wydobywanie nazw producentów GLX z sterownika wideo w celu wyboru odpowiedniej biblioteki klienta GLX (np. Mesa lub NVIDIA).
  • Zrealizowano wsparcie dla obiektów synchronizacji DRI3 1.4 przy użyciu prymitywów drm_syncobj z podsystemu jądra DRM (Direct Rendering Manager).
  • Dodano wsparcie dla algorytmu śledzenia zmian na ekranie, aby przeprojektować tylko zmienione części, zamiast całej zawartości, stosowanego w kompozytowych. serwerach Wayland oparty na bibliotece wlroots.
  • Umożliwiono rysowanie ram okna po stronie serwera X11.
  • Wdrożono kompilację pakietów dla architektury Aarch64, oprócz x86_64.

Źródło: opennet.ru

Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron z ochroną DDoS, serwery VPS VDS - ProHoster