Microsoft introduce el soporte para la aceleración GPU con WSL (Windows Subsystem for Linux): ¿Para qué sirve y cómo activarlo?

Mesa es el marco de código abierto para el desarrollo de controladores gráficos. Ha sido diseñado para proporcionar API de bajo nivel que permite el acceso al hardware gráfico y permite el desarrollo de controladores que funcionan en diferentes plataformas y con diferentes tarjetas gráficas.

El proyecto Mesa es gestionado por la comunidad y ofrece una implementación genérica de bibliotecas como OpenGL, Vulkan y OpenCL. Utilizado en muchos sistemas operativos y aplicaciones, incluyendo Linux y Android, Mesa es utilizado en herramientas científicas y diseño CAD. La plataforma también se utiliza con otros proyectos de código abierto como el compilador LLVM (Low Level Virtual Machine) para poder ofrecer una implementación completa de algunas API gráficas.

Ya conocemos WSL (Windows Subsystem for Linux), un componente integrado en Windows 10 y Windows 11 que permite ejecutar Linux en Windows. Gracias a WSLg, el Subsistema de Windows para Linux también permite ejecutar programas de Linux en Windows con una interfaz gráfica, con la posibilidad de añadirlos al menú Inicio, al escritorio, a la barra de aplicaciones y ejecutarlos desde cualquier ubicación de memoria.

Como resultado de un duro trabajo de ingeniería realizado por los técnicos de Microsoft, la empresa de Redmond acaba de anunciar que finalmente es posible habilitar la aceleración de vídeo a través de GPU en WSL. La novedad es producto del soporte de Direct3D para Mesa, lo que lleva la aceleración de la GPU al Subsistema de Windows para Linux y la posibilidad de interactuar con las API OpenGL, Vulkan y OpenCL.

El trabajo realizado permite aprovechar al máximo incluso las aplicaciones multimedia que se ejecutan en Linux a través de WSL. GStreamer es una plataforma de software modular para la creación de aplicaciones multimedia (adquisición, procesamiento, codificación, decodificación y reproducción de audio y video), por ejemplo, ahora puede realizar operaciones de codificación y decodificación de flujos directamente desde WSL.

Para activar la aceleración GPU en WSL, es necesario instalar la versión 1.1.0 o posterior del componente de Microsoft, descargable desde la tienda o desde GitHub, cargar una distribución de Linux como Ubuntu 22.04.1 LTS, activar systemd en WSL y luego usar un controlador de GPU del sitio web del proveedor que tenga una versión superior o igual a la especificada en la tabla compartida por Microsoft.

Sil Vilerino (Microsoft) presenta algunos ejemplos de como usar la aceleración en hardwarecon ffmpeg) y GStreamer e invita a verificar a través del Administrador de tareas las cargas de trabajo con y sin aceleración de la GPU.