Microsoft ajoute la prise en charge de DirectX aux distributions Linux exécutées dans un environnement WSL 2. Le changement entre en ligne avec les premières versions 21H1 de la branche Iron (Fe) dans le Fast Ring, qui devraient arriver en juin.
Publicité
Windows 10 no abre el menú de inicio
Microsoft est introduction Windows Display Driver Model version 2.9, WDDMv2.9, qui apportera l'accélération GPU à WSL 2. Pour rendre cela possible, il y a un module spécial de noyau Linux du côté de WSL,dxgkrnl
.
dxgkrnl
Dxgkrnl est un tout nouveau pilote de noyau pour Linux qui expose les / dev / dxg périphérique en mode utilisateur Linux. / dev / dxg expose un ensemble d'IOCTL qui imite étroitement la couche de service du noyau WDDM D3DKMT native sous Windows. Dxgkrnl à l'intérieur du noyau Linux se connecte via le bus VM à son grand frère sur l'hôte Windows et utilise cette connexion de bus VM pour communiquer avec le GPU physique.
Si l'hôte possède plusieurs GPU, tous les GPU sont projetés et disponibles pour l'environnement Linux (en supposant que tous ces GPU exécutent des pilotes WDDMv2.9).
Microsoft affirme que l'architecture ne limitera ni n'interférera pas les performances des applications WSL et que les ressources GPU seront correctement partagées entre les applications Windows exécutées parallèlement à l'interface graphique Linux et aux applications console utilisant DirectX.
L'édition Linux de Dxgkrnl est rendue open source.
cómo cambiar qué cuenta de gmail es la predeterminada
DxCore et D3D12 sous Linux
Ce projet apporte l'API D3D12 complète à Linux sans imitations.ibd3d12.so est compilé à partir du même code source que d3d12.dll sur Windows mais pour une cible Linux. Il offre le même niveau de fonctionnalités et de performances (moins la surcharge de virtualisation). La seule exception est Present (). Il n'y a actuellement aucune intégration de présentation avec WSL car WSL est une expérience de console uniquement aujourd'hui. L'API D3D12 peut être utilisée pour le rendu et le calcul hors écran, mais il n'y a pas de support de swapchain pour copier les pixels directement sur l'écran.
DxCore (libdxcore.so) est une version simplifiée de dxgi où les aspects hérités de l'API ont été remplacés par des versions modernes. DxCore est disponible sur Windows et Linux. DxCore est également utilisé pour héberger une version plate de l'API D3DKMT utilisée par un pilote basé sur WDDM sous Windows pour parler avec le GPU. Cette API résume les différences dans la manière dont les différents services WDDM se dirigent vers le noyau (table de service sous Windows par rapport à IOCTL sous Linux).
libd3d12.so et libdxcore.so sont des fichiers binaires en mode utilisateur pré-compilés à source fermée, livrés avec Windows. Ces binaires sont compatibles avec les distributions basées sur la glibc et sont automatiquement montés sous/ usr / lib / wsl / libet rendu visible au chargeur. En d'autres termes, ces API fonctionnent dès la sortie de la boîte sans qu'il soit nécessaire d'installer des packages supplémentaires ou de modifier la configuration de la distribution. Le support est actuellement limité aux distributions basées sur la glibc, y compris Ubuntu, Debian, Fedora, Centos, SUSE, etc.
Le D3D12 ne pourrait pas fonctionner sans un pilote de mode utilisateur (UMD) spécifique au GPU fourni par les fabricants partenaires de GPU. L'UMD est responsable de tâches telles que la compilation de shaders en code d'octet spécifique au matériel et la traduction des demandes de rendu d'API en instructions GPU réelles dans des tampons de commande à exécuter par le GPU. Le package du pilote hôte est monté à l'intérieur de WSL dans / usr / lib / wsl / drivers et directement accessible à l'API d3d12. Encore une fois, le pilote WDDM 2.9 est requis.
Microsoft travaille également à apporter l'accélération GPU pour OpenGL, OpenCL et Vulkan dans WSL via la bibliothèque Mesa.
cómo compartir listas de reproducción en Spotify
Prise en charge de DxCore, D3D12, DirectML et NVIDIA CUDA arrive à un Windows Insider Construction rapide bientôt. L'anneau Fast est actuellement sur le Manganèse (Mn) Branche OS. L'anneau rapide devrait passer au nouveauBranche de fer (Fe)
vers la fin du mois de juin qui exposera cette nouvelle fonctionnalité aux initiés.