La première version significative du serveur X11 yserver, écrite de zéro en Rust et prenant en charge les extensions actuelles du protocole X11, a été publiée. Le projet ne vise pas à reproduire toutes les capacités d'Xorg Server et se limite uniquement à la fonctionnalité nécessaire pour exécuter des environnements de bureau modernes, des gestionnaires de fenêtres, des applications et des bibliothèques graphiques (GTK, Qt, SDL, GLFW). Parmi les environnements testés, on note MATE, Xfce et Cinnamon, ainsi que les gestionnaires de fenêtres FVWM3, e16 et wmaker. Le code du projet est distribué sous la licence MIT.
Dans yserver, il a été décidé de ne pas prendre en charge les fonctionnalités obsolètes et spécifiques, telles que le traitement de plusieurs écrans X11 en un seul (la sortie multi-moniteur est supportée), les modes de couleur autres que TrueColor, le rendu indirect (indirect GLX), l'API des pilotes DDX, les anciennes méthodes de gestion des polices et la connexion de clients avec un ordre d'octets différent (traduction entre big-endian et little-endian). le serveur (la sortie multi-écran est prise en charge), des modes de couleur différents de TrueColor, le rendu indirect (indirect GLX), l'API des pilotes DDX, des méthodes anciennes pour travailler avec les polices et la connexion de clients avec un ordre d'octets différent (transcodage entre big-endian et little-endian).
La sortie graphique est organisée via les pilotes DRM/KMS et Vulkan de Mesa. Pour la gestion de la session et l'organisation de l'accès aux dispositifs d'entrée et de sortie partagés, la bibliothèque libseat est utilisée. En plus d'un serveur X distinct, ynest est fourni - un backend pour l'exécution imbriquée, prenant en charge le fonctionnement depuis Xwayland ou un autre X11.de serveurs.
Le fonctionnement a été testé sur des systèmes équipés de GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, pilote mesa RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, pilote mesa ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, ainsi que dans des systèmes de virtualisation avec virtio-gpu et GPU virtuel Venus. Actuellement, seule une exécution sous Linux est prise en charge, mais l'ajout de la prise en charge de FreeBSD est prévu.
Extensions X11 prises en charge :
- 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
Source : opennet.ru
