È stato pubblicato il primo significativo rilascio del server X11 yserver, scritto da zero in Rust e che supporta le attuali estensioni del protocollo X11. Il progetto non mira a replicare tutte le funzionalità del Xorg Server, ma si limita solo alle funzionalità necessarie per eseguire ambienti desktop moderni, gestori di finestre, applicazioni e librerie grafiche (GTK, Qt, SDL, GLFW). Tra gli ambienti testati si segnalano MATE, Xfce e Cinnamon, così come i gestori di finestre FVWM3, e16 e wmaker. Il codice del progetto è distribuito sotto licenza MIT.
In yserver si è deciso di non supportare funzionalità obsolete e specifiche, come la gestione di più schermi X11 in uno server (l'output multimonitor è supportato), modalità di colore diverse da TrueColor, rendering indiretto (indirect GLX), API dei driver DDX, metodi di gestione dei caratteri obsoleti e connessione di client con un ordine di byte diverso (traslitterazione tra big-endian e little-endian).
L'output grafico è gestito tramite DRM/KMS e driver Vulkan Mesa. Per la gestione della sessione e l'organizzazione dell'accesso ai dispositivi di input e output condivisi, viene utilizzata la libreria libseat. Oltre a un server X isolato, viene fornito ynest, un backend per l'esecuzione annidata, che supporta l'esecuzione da Xwayland o da un altro X11.server.
Il funzionamento è stato testato su sistemi con GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, driver mesa RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, driver mesa ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, oltre che in sistemi di virtualizzazione con virtio-gpu e GPU virtuale Venus. Attualmente è supportato solo il funzionamento su Linux, ma sono in programma aggiustamenti per aggiungere il supporto a FreeBSD.
Estensioni X11 supportate:
- BIG-REQUESTS
- Composite
- DAMAGE
- DPMS
- DRI3
- GLX
- Estensione eventi generici
- MIT-SCREEN-SAVER
- MIT-SHM
- Present
- RANDR
- RENDER
- SHAPE
- SYNC
- X-Resource
- XFIXES
- XInputExtension
- XKEYBOARD
- XTEST
Fonte: opennet.ru
