Microsoft DirectX12 per Linux? Quasi: solo per WSL2

Microsoft ama l’open-source (e Linux): ormai è un po’ che lo sentiamo dire, e lo abbiamo ripetuto poco tempo fa. E in effetti sembra proprio che il rapporto Windows/Linux sia passato da acerrimo nemico (“cancro”, fu definito Linux da Microsoft) ad amico, se non proprio alleato. Sempre più progetti sono resi disponibili e nativi per il pinguino, con l’ultimo che si affaccia ora DirectX. Ma andiamo con ordine

Il 19 maggio è comparso un lungo post (dettagliato e molto interessante) in cui si spiega l’architettura (che verrà resa disponibile nei prossimi mesi) che permetterà a WSL2 (Windows Subsystem for Linux 2) di avere accesso diretto alla scheda video. Ricordiamo anche che WSL2 è essenzialmente una macchina virtuale dedicata a Linux integrata in Windows.

Il pezzo fondamentale (open-source, disponibile su GitHub) è parte del Kernel custom specifico per questa macchina virtuale, e fa da ponte tra il Kernel Linux ed un componente specifico di WDDM (Windows Display Driver Model, il modello dei driver video di Windows) – che è previsto (e richiesto) dalla versione 2.5 di WDDM in poi.
Le librerie per DirectX per Linux parleranno con questo pezzo del Kernel, e attraverso questo potranno dare istruzioni alla scheda video, utilizzandola direttamente.

A queste librerie DirectX si potranno interfacciare altre librerie, usate normalmente in Linux sia per la grafica che per la ricerca: Mesa, Vulkan, OpenGL, OpenCL, CUDA… Un po’ tutto. E sembra che sarà anche possibile far girare le applicazioni grafiche, senza bisogno di un server X dedicato, integrando l’esperienza con le finestre di Windows.

Tutto davvero notevole, non c’è che dire. Ma ora vi sveliamo un piccolo dettaglio: le librerie saranno closed-source e precompilate.
Dopo l’avvio della macchina virtuale, questi file verranno resi usabili dall’interno della distribuzione scelta, ma non ne faranno parte: rimarranno parte di Windows. Unito al fatto che la modifica al Kernel è solo per quello custom, si deduce facilmente che questa potenzialità si avrà solo sotto Windows tramite WSL2.

L’uso di una libreria precompliata limita le distribuzioni che ne possono fare uso a quelle che usano quel sistema di compilazione, che è glibc: sono la maggioranza assoluta, quelle più diffuse, ma non sono tutte.
Inoltre altri progetti, che avrebbero avuto grande giovamento da una implementazione di questo tipo, saranno completamente tagliati fuori. Solo per citarne alcuni: Wine, Proton, ReactOS.

Questa notizia è estremamente interessante, ma indica anche che quell’amore tanto professato finora potrebbe essere solo interesse.
Per riattirare le orde di sviluppatori che usano Linux nel loro lavoro, Microsoft semplifica la vita permettendo l’uso del suo sistema operativo anche per quelle attività, ma allo stesso tempo Linux viene relegato a mero strumento: uno schiavo, più che un alleato.
Peccato, perché l’idea di collaborazione pacifica non ci dispiaceva.

Ho coltivato la mia passione per l'informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.

Tags: , , ,