Windows Tips & News

WSL riceverà il supporto DirectX in Linux con build 21H1

click fraud protection
CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del sistema

Microsoft sta aggiungendo il supporto DirectX alle distribuzioni Linux in esecuzione in un ambiente WSL 2. Il cambiamento entra in vigore con le prime build 21H1 dal ramo Iron (Fe) nel Fast Ring, che dovrebbero arrivare a giugno.

Annuncio

Microsoft è introducendo Windows Display Driver Model versione 2.9, WDDMv2.9, che porterà l'accelerazione GPU a WSL 2. Per renderlo possibile, c'è uno speciale modulo del kernel Linux sul lato di WSL, dxgkrnl.

Contenutinascondere
dxgkrnl
DxCore e D3D12 su Linux

dxgkrnl

Dxgkrnl è un nuovissimo driver del kernel per Linux che espone il /dev/dxg dispositivo in modalità utente Linux. /dev/dxg espone un set di IOCTL che imita da vicino il livello di servizio del kernel WDDM D3DKMT nativo su Windows. Dxgkrnl all'interno del kernel Linux si connette tramite il bus VM al fratello maggiore sull'host Windows e utilizza questa connessione bus VM per comunicare con la GPU fisica.

Dxgkrnl

Se l'host ha più GPU, tutte le GPU vengono proiettate e disponibili per l'ambiente Linux (presupponendo che tutte queste GPU eseguano driver WDDMv2.9).

Microsoft afferma che l'architettura non limiterà o interferirà con le prestazioni delle app WSL e delle risorse GPU sarà correttamente condiviso tra le app di Windows in esecuzione insieme alla GUI di Linux e alle app della console che utilizzano DirectX.

L'edizione Linux di Dxgkrnl è stata resa open source.

DxCore e D3D12 su Linux

Questo progetto porta l'API D3D12 completa su Linux senza imitazioni.ibd3d12.so è compilato dallo stesso codice sorgente di d3d12.dll su Windows ma per un target Linux. Offre lo stesso livello di funzionalità e prestazioni (meno il sovraccarico di virtualizzazione). L'unica eccezione è Present(). Al momento non esiste un'integrazione della presentazione con WSL poiché WSL è un'esperienza solo per console oggi. L'API D3D12 può essere utilizzata per il rendering e il calcolo fuori schermo, ma non esiste un supporto per la catena di scambio per copiare i pixel direttamente sullo schermo.

DxCore (libdxcore.so) è una versione semplificata di dxgi in cui gli aspetti legacy dell'API sono stati sostituiti da versioni moderne. DxCore è disponibile sia su Windows che su Linux. DxCore viene anche utilizzato per ospitare una versione flat dell'API D3DKMT utilizzata da un driver basato su WDDM su Windows per comunicare con la GPU. Questa API astrae le differenze nel modo in cui i vari servizi WDDM raggiungono il kernel (tabella dei servizi su Windows rispetto a IOCTL su Linux).

libd3d12.so e libdxcore.so sono binari chiusi in modalità utente precompilati forniti come parte di Windows. Questi binari sono compatibili con le distribuzioni basate su glibc e vengono montati automaticamente sotto /usr/lib/wsl/lib e reso visibile al caricatore. In altre parole, queste API funzionano immediatamente senza la necessità di installare pacchetti aggiuntivi o modificare la configurazione della distribuzione. Il supporto è attualmente limitato alle distribuzioni basate su glibc che includono Ubuntu, Debian, Fedora, Centos, SUSE e così via.

D3D12 non sarebbe in grado di funzionare senza un driver in modalità utente (UMD) specifico per GPU fornito dai partner produttori di GPU. L'UMD è responsabile di cose come la compilazione degli shader in un codice byte specifico dell'hardware e tradurre le richieste di rendering API in istruzioni GPU effettive nei buffer dei comandi da eseguire da la GPU. Il pacchetto del driver host è montato all'interno di WSL in /usr/lib/wsl/drivers ed è direttamente accessibile all'API d3d12. Anche in questo caso è richiesto il driver WDDM 2.9.

Microsoft sta anche lavorando per portare l'accelerazione GPU per OpenGL, OpenCL e Vulkan in WSL attraverso la libreria Mesa.

Mesa Linux in WSL

Supporto per DxCore, D3D12, DirectML e NVIDIA CUDA sta arrivando a Windows Insider Costruzione veloce presto. L'anello veloce è attualmente sul Manganese (Mn) ramo del sistema operativo. L'anello veloce dovrebbe passare al nuovo Ramo di ferro (Fe) verso la fine di giugno che esporrà questa nuova funzionalità agli addetti ai lavori.

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del sistema
Come aggiungere l'icona del desktop del gruppo Home in Windows 10

Come aggiungere l'icona del desktop del gruppo Home in Windows 10

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più

Windows 10 Creators aggiorna gli archivi RTM

Windows 10 Build 15063 è la versione finale di Aggiornamento dei creatori di Windows 10. È dispon...

Leggi di più

Google Chrome raggiunge Microsoft Store ma con un problema

Google Chrome raggiunge Microsoft Store ma con un problema

CONSIGLIATO: Fare clic qui per risolvere i problemi di Windows e ottimizzare le prestazioni del s...

Leggi di più