¿Windows en una Máquina Virtual sobre Linux accediendo a la GPU nativa?

¿Existe un equivalente a WSLg para Windows en Linux?

Si Microsoft logró que su máquina virtual de Linux permitiera acceder al hardware gráfico nativo del host, ¿no hay nada semejante en Linux para que Windows en máquinas virtuales acceda al hardware gráfico nativo? La respuesta corta es sí, pero con matices importantes.

Diagrama técnico del setup PCIe GPU Passthrough en Linux mostrando la comunicación entre KVM/QEMU y el sistema invitado Windows
Arquitectura de GPU Passthrough con KVM y QEMU para virtualización gráfica nativa.

PCIe GPU Passthrough: El estándar de alto rendimiento

La solución equivalente para una máquina virtual Windows es el PCIe GPU Passthrough mediante KVM/QEMU y VFIO. Con este método, la máquina virtual no usa una GPU virtualizada, sino que se apropia directamente de una GPU física.

Gracias a esto, Windows dentro de la VM ve la tarjeta gráfica como si estuviera instalada físicamente en el equipo:

  • Instalas los drivers normales de NVIDIA o AMD.
  • DirectX funciona de forma nativa.
  • OpenGL y Vulkan también funcionan de forma nativa.

El rendimiento suele estar entre el 95% y el 99% del bare metal, lo que explica por qué muchos entusiastas usan Linux como host para ejecutar Windows virtualizado en juegos o aplicaciones 3D.

Compartiendo una sola GPU: Paravirtualización y Soluciones Empresariales

No obstante, el problema principal del PCIe Passthrough es que normalmente necesitas dos GPUs (una para Linux y otra para Windows), o bien una GPU con soporte para reasignación dinámica, lo cual suele ser más complicado.

En los últimos años apareció algo más parecido a la pregunta inicial: la GPU paravirtualization. Tecnologías como virtio-gpu, VirGL o Venus permiten compartir la GPU del host con la VM sin entregar la tarjeta completa. Funcionan muy bien para invitados de Linux, pero para Windows siguen siendo bastante más limitadas que WSLg.

También existen tecnologías empresariales como NVIDIA vGPU o AMD MxGPU/SR-IOV. Estas permiten dividir una GPU en varias virtuales, aunque suelen requerir hardware específico y licencias comerciales.

Conclusión: ¿WSL al revés?

El más cercano a «WSL pero al revés» hoy sería un Linux host con KVM/QEMU y GPU Passthrough completo. Sin embargo, si te refieres específicamente a una sola GPU compartida entre Linux y Windows al mismo tiempo, con aceleración 3D casi nativa y sin hardware especial, ahí Linux todavía no tiene algo tan pulido y transparente como WSLg.