Linux Adictos David Naranjo  

WSU GPU, una implementación para dar acceso a aplicaciones gráficas de Linux en WSL

WSL GUI Apps

La semana pasada, los desarrolladores de Microsoft anunciaron diversas mejoras significativas en el subsistema WSL (Windows Subsystem for Linux), que permite que aplicaciones de Linux se ejecuten en Windows. Ya que a partir de la actualización de mayo de Windows 10, la primera instalación del entorno Linux utilizará la capa WSL2 de forma predeterminada.

El entorno WSL2 se ejecuta en una imagen de disco (VHD) separada con el sistema de archivos ext4 y el adaptador de red virtual. El kernel de Linux en WSL2 no se incluirá en la imagen de instalación de Windows, pero Windows lo cargará dinámicamente y lo mantendrá en la forma actual, de forma similar a cómo se instalan y actualizan los controladores de gráficos. Para instalar y actualizar el kernel, se utilizará el mecanismo estándar de Windows Update.

El núcleo propuesto para WSL2 se basa en el lanzamiento del núcleo Linux 4.19, que se ejecuta en un entorno Windows utilizando una máquina virtual que ya está en uso en Azure.

Los parches específicos de WSL2 utilizados en el núcleo incluyen optimizaciones para reducir el tiempo de inicio del núcleo, reducir el consumo de memoria, devolver Windows a la memoria liberada por los procesos de Linux y dejar el conjunto mínimo de controladores y subsistemas necesarios en el núcleo.

Ya es posible ejecutar aplicaciones gráficas en WSL

Además de lo mencionado, otra de las novedades que se destaca es el soporte para inicial para aplicaciones de Linux con una interfaz gráfica «WSU GPU».

El soporte se implementa mediante la virtualización del acceso a la GPU y la provisión de controladores a través de los cuales pueden funcionar los subsistemas gráficos regulares de las distribuciones de Linux, incluidos los basados ​​en Wayland. Las aplicaciones gráficas de Linux y Windows pueden ejecutarse lado a lado en el escritorio de Windows.

Se ha preparado un controlador dxgkrnl abierto para el kernel de Linux, que proporciona un dispositivo /dev/dxg con servicios que repiten el modelo de controlador de pantalla de Windows (WDDM) D3DKMT del kernel de Windows. El controlador establece una conexión a la GPU física utilizando el bus VM. Las aplicaciones de Linux tienen el mismo nivel de acceso a GPU que las aplicaciones nativas de Windows sin compartir recursos entre Windows y Linux.

Además, la biblioteca libd3d12.so se proporciona para Linux, que proporciona la API gráfica completa de Direct3D 12.

La biblioteca libd3d12.so está construida a partir del mismo código que la implementación nativa de Windows de Direct3D 12 y es completamente similar en funcionalidad a la biblioteca d3d12.dll.

También se proporciona una versión simplificada de la API DXGI (DirectX Graphics Infrastructure) en forma de la biblioteca DxCore (libdxcore.so). Las bibliotecas libd3d12.so y libdxcore.so son propietarias y se entregan solo en compilaciones binarias (montados en WSL como /usr/lib/wsl/lib), compatibles con Ubuntu, Debian, Fedora, Centos, SUSE y otras distribuciones basadas en Glibc.

El soporte para OpenGL en Mesa se proporciona a través de una capa que traduce las llamadas a la API de DirectX 12. El método para implementar la API de Vulkan aún se encuentra en la etapa de planificación.

En la primera etapa, en entornos WSL, se admitirán CUDA y DirectML, trabajando sobre la API D3D12 (por ejemplo, en un entorno Linux, puede ejecutar TensorFlow con un back-end para DirectML). El soporte de OpenCL es posible a través de una capa que realiza la asignación de llamadas en la API DirectX 12.

Microsoft está desarrollando su administrador compuesto utilizando el protocolo Wayland y basado en la base de código Weston. El administrador compuesto usa RDP-RAIL (Aplicación remota RDP integrada localmente) para organizar la salida de la interfaz de la aplicación Linux al escritorio principal de Windows. RDP-RAIL difiere del backend RDP disponible anteriormente en Weston en que el administrador compuesto no renderiza el escritorio en sí, sino que redirige las superficies individuales (wl_surface) a través del canal RDP RAIL para mostrarlas en el escritorio principal de Windows.

Además de que pronto se admitirá una instalación WSL con el simple comando wsl.exe –install.

Finalmente si quieres conocer mas al respecto, puedes consular los detalles en el siguiente enlace. 

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.