Amanti di linux gioite: nel Windows Subsystem for Linux arrivano le DirectX 12

Microsoft porta avanti lo sviluppo per linux delle API Direct3D 12 per Windows Subsystem for Linux.

Avatar di Luca Zaninello

a cura di Luca Zaninello

Managing Editor

Microsoft ha compilato la sua libreria Direct 3D 12 per Linux come parte dello sforzo nel supportare l'accelerazione grafica sul suo Windows Subsystem for Linux (WSL2).

Per ottenere questo risultato, Microsoft ha dovuto creare un nuovo driver per il kernel Linux chiamato DXGKRNL. Tale driver è necessario per esporre le schede grafiche DirectX allo user-space Linux nello scenario WSL2. DXGKRNL si interfaccia con l'host Windows tramite il bus della VM (macchina virtuale) e supporterà più GPU contemporaneamente.

La parte più interessante di questo progetto riguarda sicuramente l'implementazione da parte di Microsoft delle "API D3D12 reali e complete" nello user-space Linux. Nel post sul suo blog dove dettaglia la situazione, l'azienda guidata da Satya Nadella dichiara che queste API non sono imitazioni o reimplementazioni di Direct3D, la libreria libd3d12.so per Linux è compilata dallo stesso codice sorgente da cui deriva d3d12.dll per Windows.

Non gridate al miracolo: come hanno sottolineato i colleghi di Phoronixla libreria in questione non diventerà improvvisamente open source permettendo agli smanettoni di poter finalmente eseguire i propri giochi Windows preferiti su Linux senza dover ricorrere a soluzioni come WINE o Proton.

Direct3D 12 e DirectX rimarranno closed source e saranno disponibili solamente come parte di Windows e, per l'appunto, di WSL2. Con la libreria che ha come target l'interfaccia DXGKRNL, difficilmente vedremo arrivare il supporto a Direct3D sui sistemi operativi puramente Linux nel prossimo futuro.

Inoltre, per il momento, è possibile utilizzare le API solo per rendering offscreen (che non viene visualizzato a schermo). Microsoft deve prima implementare la propria GUI per WSL2 ed è necessario per l'host di disporre di driver video WDDMv2.9.

Grazie all'arrivo di Direct3D 12 su Linux e al lavoro congiunto di Microsoft e Collabora per mappare OpenCL e OpenGL su DirectX 12,WSL2 sarà in grado di supportare OpenGL, OpenCL e Vulkan. L'azienda sta collaborando anche con il gigante delle GPU Nvidia per abilitare il supporto a CUDA.

In aggiunta, l'azienda americana ha pubblicato in maniera open source il proprio driver per kernel Linux dedicato alle GPU virtuali. Purtroppo questo driver è utile solo nel contesto di un host Windows e WSL2  in azione tramite Hyper-V.

PNY GeForce GTX 1660: la scheda video compatta dotata di 6GB di memoria video è disponibile all'acquisto per meno di 250 euro su Amazon!