Opublikowano pierwsze istotne wydanie serwera X11 yserver, stworzonego od podstaw w języku Rust i wspierającego aktualne rozszerzenia protokołu X11. Projekt nie ma na celu powtórzenia wszystkich możliwości Xorg Server i ogranicza się jedynie do funkcjonalności niezbędnej do uruchomienia nowoczesnych środowisk pulpitu, menedżerów okien, aplikacji i bibliotek graficznych (GTK, Qt, SDL, GLFW). Wśród przetestowanych środowisk znalazły się MATE, Xfce i Cinnamon, a także menedżery okien FVWM3, e16 i wmaker. Kod projektu jest udostępniony 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.serwera.
Pracę przetestowano 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. Obecnie wspierana jest tylko praca w Linuxie, ale planowane jest dodanie wsparcia dla FreeBSD.
Obsługiwane rozszerzenia X11:
- BIG-REQUESTS
- Composite
- DAMAGE
- DPMS
- DRI3
- GLX
- Generic Event Extension
- MIT-SCREEN-SAVER
- MIT-SHM
- Present
- RANDR
- RENDER
- SHAPE
- SYNC
- X-Resource
- XFIXES
- XInputExtension
- XKEYBOARD
- XTEST
Źródło: opennet.ru
