Byl vydán X11 server yserver 1.5.0, napsaný od základu v programovacím jazyce Rust a podporující aktuální rozšíření protokolu X11. Projekt si neklade za cíl zopakovat všechny možnosti Xorg Server a omezuje se pouze na funkčnost potřebnou pro spuštění moderních desktopových prostředí, správce oken, aplikací a grafických knihoven (GTK, Qt, SDL, GLFW). Mezi testovanými prostředími jsou zmíněny MATE, Xfce, Cinnamon, Sonic a Enlightenment, stejně jako správci oken, jako icewm, FVWM3, openbox, i3 a wmaker. Kód projektu je distribuován pod licencí MIT.
V yserver se rozhodli nepodporovat zastaralé a specifické funkce, jako je zpracování několika X11 obrazovek v jednom serveru (vícemonitorový výstup je podporován), režimy barevnosti odlišné od TrueColor, nepřímé vykreslování (indirect GLX), API ovladačů DDX, staré metody práce s písmem a připojení klientů s jiným pořadím bajtů (transformace mezi big-endian a little-endian).
Výstup grafiky je organizován prostřednictvím DRM/KMS a Vulkan ovladačů Mesa. Pro řízení relace a organizaci přístupu k sdíleným vstupním a výstupním zařízením se používá knihovna libseat. Kromě odděleného X serveru se dodává ynest – backend pro vnořený běh, který podporuje provoz z Xwayland nebo jiného X11.serveru.
Testování probíhalo na systémech s GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa ovladač RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa ovladač ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, stejně jako v virtualizačních systémech s virtio-gpu a virtuálním GPU Venus. Podporována je práce v Linuxu a FreeBSD.
V nové verzi:
- Byla přidána podpora mechanismu reverse-PRIME, který umožňuje používat integrované GPU pro rendering a GPU diskrétní grafické karty pro výstup na obrazovku v případě připojení externích monitorů k portům diskrétní grafické karty.
- Byla přidána podpora přenosu dat o frekvenci obnovování obrazovky do Mesa prostřednictvím rozšíření GLX_OML_sync_control.
- Byla implementována optimalizace pro snížení latence u klientů s vypnutou vertikální synchronizací (vsync-off).
- Bylo zajištěno extrakce názvů výrobců GLX z grafického ovladače pro výběr odpovídající klientské knihovny GLX (například Mesa nebo NVIDIA).
- Byla implementována podpora synchronizačních objektů DRI3 1.4 s využitím primitiv drm_syncobj podsystemu jádra DRM (Direct Rendering Manager).
- Byla přidána podpora algoritmu sledování změn na obrazovce pro překreslování pouze změněných částí, nikoli celého obsahu, použitelná v kompozitech. serverech Wayland na základě knihovny wlroots.
- Byla poskytnuta možnost vykreslování okrajů oken na straně serveru X11.
- Byla realizována sbírka balíčků pro architekturu Aarch64, vedle x86_64.
Zdroj: opennet.ru
