Pubblicato il primo rilascio significativo 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 l'esecuzione di ambienti desktop moderni, gestori di finestre, applicazioni e librerie grafiche (GTK, Qt, SDL, GLFW). Tra gli ambienti testati figurano MATE, Xfce e Cinnamon, oltre ai gestori di finestre FVWM3, e16 e wmaker. Il codice del progetto è distribuito con licenza MIT.
In yserver si è deciso di non supportare funzionalità obsolete e specifiche, come la gestione di più schermi X11 in uno server (l'uscita multi-monitor è supportata), modalità di colore diverse da TrueColor, rendering indiretto (indirect GLX), API dei driver DDX, metodi di gestione dei font obsoleti e collegamento di client con un ordine dei byte diverso (traslitterazione tra big-endian e little-endian).
L'uscita grafica è organizzata tramite i driver DRM/KMS e Vulkan di Mesa. Per la gestione della sessione e l'organizzazione dell'accesso ai dispositivi di input e output condivisi viene utilizzata la libreria libseat. Oltre al server X autonomo, è fornito ynest — un backend per avvio nidificato, che supporta l'esecuzione da Xwayland o 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, nonché in sistemi di virtualizzazione con virtio-gpu e GPU virtuale Venus. Attualmente è supportato solo il funzionamento su Linux, ma è prevista l'aggiunta del supporto per FreeBSD.
Estensioni X11 supportate:
- 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
Fonte: opennet.ru
