Microsoft sta aggiungendo il supporto DirectX alle distribuzioni Linux in esecuzione in un ambiente WSL 2. Il cambiamento diventa attivo con le prime build 21H1 dal ramo Iron (Fe) nel Fast Ring, che dovrebbero arrivare a giugno.
Pubblicità
come impostare facebook su privato
Microsoft lo è 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 WSL,dxgkrnl
.
dxgkrnl
Dxgkrnl è un nuovissimo driver del kernel per Linux che espone l'estensione / dev / dxg dispositivo in modalità utente Linux. / dev / dxg espone una serie di IOCTL che imitano da vicino il livello di servizio del kernel D3DKMT WDDM nativo su Windows. Dxgkrnl all'interno del kernel Linux si connette tramite il bus VM al suo fratello maggiore sull'host Windows e utilizza questa connessione bus VM per comunicare con la GPU fisica.
Se l'host ha più GPU, tutte le GPU vengono proiettate e disponibili per l'ambiente Linux (supponendo che tutte queste GPU eseguano i driver WDDMv2.9).
Microsoft afferma che l'architettura non limiterà o interferirà le prestazioni delle app WSL e le risorse GPU verranno condivise correttamente tra le app Windows in esecuzione insieme alla GUI di Linux e le app della console che utilizzano DirectX.
L'edizione Linux di Dxgkrnl è stata resa open source.
come ottenere velocità di download più elevate su Steam?
DxCore e D3D12 su Linux
Questo progetto porta l'API D3D12 completa a Linux senza imitations.ibd3d12.so è compilato dallo stesso codice sorgente di d3d12.dll su Windows ma per una destinazione Linux. Offre lo stesso livello di funzionalità e prestazioni (meno il sovraccarico di virtualizzazione). L'unica eccezione è Present (). Al momento non è disponibile alcuna 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 è disponibile il supporto per swapchain 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 parlare 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 file binari in modalità utente precompilati e closed source forniti come parte di Windows. Questi binari sono compatibili con le distribuzioni basate su glibc e vengono montati automaticamente in/ usr / lib / wsl / libe 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 specifico per GPU (UMD) fornito dai partner produttori di GPU. L'UMD è responsabile di cose come la compilazione di shader in codice byte specifico dell'hardware e la traduzione delle richieste di rendering API in istruzioni GPU effettive nei buffer dei comandi che devono essere eseguiti dalla 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 tramite la libreria Mesa.
quanto costa un leggendario su tiktok
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 nuovoRamo di ferro (Fe)
verso la fine di giugno, che esporrà questa nuova funzionalità agli addetti ai lavori.