Bol vydaný X11 server yserver 1.5.0, napísaný od základov v jazyku Rust, ktorý podporuje aktuálne rozšírenia protokolu X11. Projekt si za ciel nekladie opakovať všetky funkcie Xorg Servera a obmedzuje sa iba na funkcionalitu potrebnú na spustenie moderných desktopových prostredí, správcom okien, aplikácií a grafických knižníc (GTK, Qt, SDL, GLFW). Medzi testovanými prostrediami sú MATE, Xfce, Cinnamon, Sonic a Enlightenment, ako aj správci okien ako icewm, FVWM3, openbox, i3 a wmaker. Kód projektu je distribuovaný pod licenciou MIT.
V yservere sa rozhodlo nepodporovať zastarané a špecifické možnosti, ako napríklad spracovanie viacerých X11 obrazoviek na jednom serveri (podpora viacerých monitorov je zachovaná), režimy farieb odlišné od TrueColor, nepriamy rendering (indirect GLX), API ovládačov DDX, staršie metódy práce s fontami a pripojenie klientov s iným poradím bajtov (prevod medzi big-endian a little-endian).
Výstup grafiky je organizovaný cez DRM/KMS a Vulkan ovládače Mesa. Na správu relácie a organizáciu prístupu k zdieľaným vstupným a výstupným zariadeniam sa používa knižnica libseat. Okrem samostatného X servera sa dodáva ynest — backend pre vnorené spúšťanie, podporujúci prácu z Xwayland alebo iného X11.servera.
Práca bola testovaná na systémoch s GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa ovládač RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa ovládač ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, ako aj v systémoch virtualizácie s virtio-gpu a virtuálnym GPU Venus. Podporuje prácu v Linuxe a FreeBSD.
V novej verzii:
- Pridaná podpora mechanizmu reverse-PRIME, ktorý umožňuje používanie integrovaného GPU na rendering a GPU diskrétnej grafickej karty na výstup na obrazovku v situácii pripojenia externých monitorov k portom diskrétnej grafickej karty.
- Pridaná podpora prenosu údajov o frekvencii obnovovania obrazovky do Mesy prostredníctvom rozšírenia GLX_OML_sync_control.
- Realizovaná optimalizácia na zníženie latencie pre klientov s vypnutou vertikálnou synchronizáciou (vsync-off).
- Zabezpečené získavanie mien výrobcov GLX z grafického ovládača pre výber zodpovedajúcej klientskej knižnice GLX (napríklad Mesa alebo NVIDIA).
- Realizovaná podpora synchronizačných objektov DRI3 1.4 s využitím primitívov drm_syncobj subsystému jadra DRM (Direct Rendering Manager).
- Bol zaradená podpora algoritmu sledovania zmien na obrazovke na prekreslenie iba tých častí, ktoré sa zmenili, pričom sa neprekresľuje celé obsah, aplikovaná v kompozitných. serveroch Wayland založený na knižnici wlroots.
- Bola poskytnutá možnosť vykreslenia rámcov okna na strane servera X11.
- Bola implementovaná zostava balíkov pre architektúru Aarch64, okrem x86_64.
Zdroj: opennet.ru
