Windows Tips & News

WSL obtiendra la prise en charge de DirectX sous Linux avec les versions 21H1

click fraud protection

Microsoft ajoute la prise en charge de DirectX aux distributions Linux exécutées dans un environnement WSL 2. Le changement est en vigueur avec les premières versions 21H1 de la branche Fer (Fe) de l'anneau rapide, qui devraient arriver en juin.

Microsoft est présentation Modèle de pilote d'affichage Windows 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 du 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 imitent étroitement la couche de service du noyau WDDM D3DKMT native sur 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 dispose de plusieurs GPU, tous les GPU sont projetés et disponibles pour l'environnement Linux (en supposant que tous ces GPU exécutent les pilotes WDDMv2.9).

Microsoft affirme que l'architecture ne limitera ni n'interférera pas les performances des applications WSL et des ressources GPU sera correctement partagé entre les applications Windows exécutées avec l'interface graphique Linux et les applications de console qui utilisent DirectX.

L'édition Linux de Dxgkrnl est rendue open source.

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 sous 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 prise en charge de la chaîne d'échange 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 communiquer avec le GPU. Cette API résume les différences dans la façon dont les différents services WDDM se dirigent vers le noyau (table des services sous Windows par rapport à IOCTL sous Linux).

libd3d12.so et libdxcore.so sont des binaires en mode utilisateur précompilés à code source fermé qui sont fournis avec Windows. Ces binaires sont compatibles avec les distributions basées sur la glibc et sont automatiquement montés sous /usr/lib/wsl/lib et rendu visible au chargeur. En d'autres termes, ces API fonctionnent directement sans qu'il soit nécessaire d'installer des packages supplémentaires ou de modifier la configuration de la distribution. La prise en charge est actuellement limitée 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 partenaires des fabricants de GPU. L'UMD est responsable de choses telles que la compilation de shaders en code d'octet spécifique au matériel et traduire les 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 sur /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 en WSL via la bibliothèque Mesa.


Prise en charge de DxCore, D3D12, DirectML et NVIDIA CUDA arrive à un Windows Insider Construction rapide bientôt. La sonnerie rapide est actuellement sur le Manganèse (Mn) Branche du système d'exploitation. La sonnerie rapide devrait basculer sur la nouvelle Branche de fer (Fe) vers la fin du mois de juin, ce qui exposera cette nouvelle fonctionnalité aux initiés.

Le chatbot Bing est en fait basé sur le modèle de langage GPT-4

Le chatbot Bing est en fait basé sur le modèle de langage GPT-4

Récemment, OpenAI a révélé un nouveau modèle de langage GPT-4, qui est supérieur à GPT-3.5 à bien...

Lire la suite

Microsoft Build 2023 se tiendra du 23 au 25 mai

RECOMMANDÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du s...

Lire la suite

Firefox 111 est sorti avec la prise en charge du masque de saisie des e-mails dans Firefox Relay

RECOMMANDÉ: Cliquez ici pour résoudre les problèmes de Windows et optimiser les performances du s...

Lire la suite