Azienda Microsoft implementazione significativa nel sottosistema WSL (Windows Subsystem for Linux), che consente l'esecuzione di file eseguibili Linux in Windows:
- supporto per l'esecuzione di applicazioni Linux con interfaccia grafica, che consente di rinunciare all'uso di server X di terze parti. Il supporto è realizzato tramite la virtualizzazione dell'accesso alla GPU.
Per il kernel Linux è stato preparato un driver open source , fornendo il dispositivo /dev/dxg con servizi che replicano il WDDM D3DKMT del kernel di Windows. Il driver organizza la connessione con la GPU fisica tramite il bus VM. Le applicazioni Linux hanno lo stesso livello di accesso alla GPU delle applicazioni native per Windows, senza l'uso della separazione delle risorse tra Windows e Linux.
Inoltre, per Linux è stata fornita una libreria libd3d12.so, che fornisce accesso diretto all'API grafica Direct3D 12 ed è stata compilata dallo stesso codice della libreria Windows d3d12.dll. In forma di libreria DxCore (libdxcore.so) è stata anche fornita una versione semplificata dell'API dxgi. Le librerie libd3d12.so e libdxcore.so sono proprietarie e sono fornite solo in pacchetti binari (montati in /usr/lib/wsl/lib), compatibili con Ubuntu, Debian, Fedora, Centos, SUSE e altre distribuzioni basate su Glibc.
Il supporto OpenGL in Mesa è garantito tramite , che traduce le chiamate all'API DirectX 12. Il metodo di implementazione dell'API Vulkan è ancora in fase di pianificazione.
- È stato aggiunto il supporto per il calcolo su GPU, che consente di utilizzare l'accelerazione hardware per compiti come l'apprendimento automatico e l'intelligenza artificiale. Nella prima fase, nei contesti WSL sarà fornito supporto per CUDA e , che funziona sopra l'API D3D12 (ad esempio, in un ambiente Linux è possibile eseguire TensorFlow con un backend per DirectML). Il supporto per OpenCL è possibile tramite uno strato che esegue il mapping delle chiamate nell'API DX12.
- L'installazione di WSL sarà presto supportata da un semplice comando «wsl.exe —install».
Fonte: opennet.ru
