Si chiama Mesa il framework open source per lo sviluppo di driver grafici. È stato progettato per fornire API di basso livello che permettono l’accesso all’hardware grafico e consentono lo sviluppo di driver che funzionano su diverse piattaforme e con differenti schede grafiche.
Il progetto Mesa è gestito dalla comunità e offre un’implementazione generica di librerie come OpenGL, Vulkan e OpenCL. Utilizzato e supportato in molti sistemi operativi e applicazioni, inclusi Linux e Android, Mesa è stato scelto da software di visualizzazione scientifica e progettazione CAD. La piattaforma viene inoltre usata in combinazione con altri progetti open source come il compilatore LLVM (Low Level Virtual Machine) così da poter contare su un’implementazione completa di alcune API grafiche.
Conosciamo già WSL (Windows Subsystem for Linux), componente integrato in Windows 10 e Windows 11 che permette di eseguire Linux in Windows. Grazie a WSLg, il Sottosistema Windows per Linux consente anche di avviare programmi Linux su Windows con interfaccia grafica con la possibilità di aggiungerli nel menu Start, sul desktop, nella barra delle applicazioni e richiamarli da qualunque locazione di memoria.
A corollario di un impegnativo lavoro ingegneristico svolto dai tecnici Microsoft, la società di Redmond ha appena annunciato che è finalmente possibile abilitare l’accelerazione video tramite GPU in WSL. La novità è figlia del supporto Direct3D per Mesa che porta l’accelerazione lato GPU nel Sottosistema Windows per Linux e la possibilità di interfacciarsi con le API OpenGL, Vulkan e OpenCL.
Il lavoro svolto consente di trarre massimo vantaggio anche dalle applicazioni multimediali in esecuzione su Linux tramite WSL. GStreamer, piattaforma software modulare per la creazione di applicazioni multimediali (acquisizione, elaborazione, codifica, decodifica e riproduzione di audio e video), ad esempio, può adesso effettuare operazioni di encoding e decoding dei flussi direttamente da WSL sgravando la CPU e massimizzando le prestazioni.
Per attivare l’accelerazione GPU in WSL basta aver installato la versione 1.1.0 o successiva del componente Microsoft, scaricabile dallo Store oppure da GitHub, caricarvi una distribuzione Linux come Ubuntu 22.04.1 LTS, attivare systemd
in WSL quindi utilizzare un driver GPU prelevandolo dal sito Web del fornitore che abbia una versione superiore o uguale a quella specificata nella tabella condivisa dall’azienda di Redmond (vedere la sezione Hardware platforms support).
Sil Vilerino (Microsoft) presenta alcuni esempi di utilizzo dell’accelerazione in hardware che implicano l’utilizzo di ffmpeg e Gstreamer e invita a verificare tramite il task manager i carichi di lavoro con e senza accelerazione GPU.