Microsoft implémente le serveur graphique et l'accélération GPU dans WSL
Microsoft annoncé le sur la mise en œuvre d'importants améliorations dans le sous-système WSL (Windows Subsystem for Linux), qui assure le lancement des fichiers exécutables Linux sous Windows :
Ajouté par prise en charge de l'exécution d'applications Linux avec une interface graphique, éliminant ainsi le besoin d'utiliser des serveurs X d'autres sociétés. La prise en charge est implémentée via la virtualisation de l'accès GPU.
Un pilote ouvert a été préparé pour le noyau Linux dxgkrnl, qui fournit au périphérique /dev/dxg des services répliquant le WDDM D3DKMT du noyau Windows. Le pilote établit une connexion au GPU physique à l'aide du bus VM. Les applications Linux ont le même niveau d'accès GPU que les applications Windows natives, sans nécessiter de partage de ressources entre Windows et Linux.
De plus, la bibliothèque libd3d12.so est fournie pour Linux, qui fournit un accès direct à l'API graphique Direct3D 12 et est construite à partir du même code que la bibliothèque Windows d3d12.dll. Une version simplifiée de l'API dxgi est également fournie sous la forme de la bibliothèque DxCore (libdxcore.so). Les bibliothèques libd3d12.so et libdxcore.so sont propriétaires et sont fournies uniquement dans des assemblages binaires (montés dans /usr/lib/wsl/lib) compatibles avec Ubuntu, Debian, Fedora, Centos, SUSE et autres distributions basées sur Glibc.
La prise en charge d'OpenGL dans Mesa est fournie via couche, qui traduit les appels à l'API DirectX 12. La méthode d'implémentation de l'API Vulkan est encore au stade de la planification.
Ajout de la prise en charge de l'informatique sur les cartes vidéo, qui vous permet d'utiliser l'accélération matérielle pour des tâches telles que l'apprentissage automatique et l'intelligence artificielle. Dans un premier temps, les environnements WSL prendront en charge CUDA et DirectML, exécuté sur l'API D3D12 (par exemple, dans un environnement Linux, vous pouvez exécuter TensorFlow avec un backend pour DirectML). La prise en charge d'OpenCL est possible grâce à une couche qui effectue le mappage des appels vers l'API DX12.
L'installation de WSL sera bientôt prise en charge avec une simple commande "wsl.exe --install".