HcødeR.dev
·8 min de lectura

GPU Passthrough en Hyper-V: Cómo convertí una máquina virtual en una PC gamer

Cuando la gente escucha "máquina virtual", lo primero que piensa es en algo lento, con gráficos básicos y sin capacidad real para correr aplicaciones exigentes. Y es entendible — durante años, eso fue

GPU Passthrough en Hyper-V: Cómo convertí una máquina virtual en una PC gamer

Cuando la gente escucha "máquina virtual", lo primero que piensa es en algo lento, con gráficos básicos y sin capacidad real para correr aplicaciones exigentes. Y es entendible — durante años, eso fue la realidad. Pero en algún punto me pregunté: ¿y si no tiene que ser así?

La respuesta corta es que no. Hoy es posible compartir tu tarjeta gráfica dedicada con una máquina virtual Hyper-V y jugar videojuegos dentro de ella con un rendimiento sorprendentemente cercano al nativo. Esto se llama GPU passthrough (o GPU-PV en el caso de Hyper-V), y en este post te cuento cómo lo logré, qué juegos funcionan, cómo lo conecté con Parsec para jugar sin ni siquiera necesitar un monitor dedicado, y por qué esto tiene más usos de los que parece a simple vista.


¿Por qué hacer esto?

Antes de entrar en lo técnico, vale la pena preguntarse: ¿para qué querría alguien jugar dentro de una máquina virtual?

Hay varios casos de uso legítimos y bastante interesantes:

  • Aislamiento total del sistema: Podés mantener tu OS principal limpio y usar la VM exclusivamente para gaming, sin mezclar drivers, aplicaciones o configuraciones.

  • Gaming compartido: Con Parsec, podés prestarle acceso remoto a la VM a un amigo, que básicamente tendría una PC gamer a disposición. Más adelante cuento mi experiencia con esto.

  • Exploración y aprendizaje: Si trabajás con virtualización o simplemente te gusta entender cómo funciona la infraestructura por dentro, esto es un proyecto extremadamente valioso.

En mi caso fue una combinación de los tres. Y resultó mejor de lo que esperaba.


Mi setup

Antes de replicar algo como esto, conviene saber con qué hardware estoy trabajando, porque no todo equipo es compatible.

Componente Detalle
CPU Intel Core i5-13400F
GPU NVIDIA RTX 4070 (12 GB VRAM)
RAM 64 GB DDR4 a 3200 MHz
OS Host Windows 11 Pro
OS VM Windows 11 Pro
RAM asignada a la VM 32 GB

Algunos puntos importantes sobre compatibilidad:

  • Windows 11 Pro es obligatorio en el host. Hyper-V no está disponible en la edición Home de manera nativa (aunque hay formas de habilitarlo, no es el camino oficial).

  • La GPU debe ser NVIDIA. Mi experiencia es exclusivamente con NVIDIA. Con AMD o Intel Integrated el comportamiento puede ser diferente o directamente incompatible con el método que usé.

  • La virtualización debe estar activada en la BIOS. Si no está habilitada, Hyper-V directamente no funciona. Es el primer paso antes de cualquier otra cosa.


La herramienta: Easy-GPU-PV

El corazón de todo esto es un repositorio de GitHub llamado Easy-GPU-PV. No voy a mentir diciendo que inventé el proceso — este proyecto ya hace el trabajo pesado. Lo que hice fue entenderlo, configurarlo a mi medida y automatizarlo.

A grandes rasgos, Easy-GPU-PV funciona así:

  1. Descargás los archivos del repositorio y una imagen ISO de Windows para la VM.

  2. Configurás las variables del script con los datos de tu equipo: nombre de la VM, cantidad de RAM, resolución, etc. Viene con un archivo de configuración donde reemplazás los valores por los tuyos.

  3. Ejecutás el script de PowerShell y él se encarga de crear la VM, asignar los recursos y aplicar el GPU passthrough automáticamente.

Una de las cosas que hice además fue crear mis propios scripts adicionales:

  • Un script de configuración inicial para poder reproducir el setup con un solo comando si alguna vez necesito recrear la VM.

  • Un script de actualización de drivers: cada vez que actualizo los drivers de la RTX 4070 en el host, los drivers de la VM también quedan desactualizados y el passthrough deja de funcionar. Con mi script, ejecuto un PowerShell y los drivers de la VM se sincronizan automáticamente. Sin esto, habría que hacerlo manualmente cada vez — que no es el fin del mundo, pero sí un fastidio.


Configuración de red: Switch Externo en Hyper-V

Por defecto, Hyper-V usa un "Default Switch" que pone a la VM en una red NAT. Para muchas cosas funciona, pero para Parsec (especialmente si querés conectarte desde afuera de tu red) es insuficiente.

Lo que hice fue crear un switch externo en el Hyper-V Manager. Esto le da a la VM una IP dentro de tu red local, como si fuera una PC más conectada al router. Las ventajas:

  • Podés acceder a la VM por IP desde cualquier dispositivo en tu red.

  • Parsec puede descubrir y conectarse a la VM sin problemas, tanto desde la red local como desde el exterior (si configurás el port forwarding correspondiente en tu router).

  • La VM puede hacer operaciones de red con mucho menos fricción.

Es un cambio simple pero hace una diferencia enorme en la experiencia.


El problema del monitor y la solución: Display Virtual

Acá está uno de los detalles que más me trabó al principio.

Cuando abrís juegos directamente desde la pantalla nativa de Hyper-V (que usa RDP por debajo), los juegos o no abren, o aparecen con pantalla negra, o se ven completamente oscuros. Esto es porque Hyper-V no expone la GPU de la misma manera que un monitor físico conectado.

La solución es Parsec combinado con un display virtual (un monitor virtual por software). Este display virtual simula un monitor físico conectado a la GPU de la VM, lo que permite:

  • Que los juegos lo reconozcan como una pantalla real y corran correctamente.

  • Configurar la resolución y la frecuencia de refresco que quieras. Yo lo configuré a 240 Hz, que es el máximo que Parsec soporta.

  • Que cuando apago el monitor físico de mi PC, la VM siga corriendo su display virtual sin interrupciones.

El resultado es que te conectás por Parsec, ves el escritorio de la VM fluidísimo a 240 fps, abrís el juego y jugás. La latencia con Parsec en red local es prácticamente imperceptible.


¿Qué juegos funcionan?

La buena noticia es que la mayoría de juegos funcionó sin problemas. Acá un resumen de mi experiencia:

✅ Funcionaron bien:

  • Valheim — fluido, sin problemas.

  • Bodycam — corrió perfectamente, y es un juego con gráficos bastante exigentes.

  • Squad — sin problemas de ningún tipo.

  • Broken Arrow — este juego de estrategia en tiempo real corrió sin inconvenientes.

  • Kingdom Come: Deliverance 2 — honestamente, este fue el que más me sorprendió. Es un juego pesado y visualmente exigente, y corrió de maravilla dentro de la VM.

❌ No funcionó:

  • Minecraft — el único que no pude hacer funcionar, aparentemente por algún conflicto relacionado con Java. No encontré la causa exacta.

⚠️ Sin probar:

  • Juegos con anti-cheat agresivo (EAC, BattlEye, etc.) no los probé. En principio, al ser una VM, podrían presentar problemas de compatibilidad con este tipo de protecciones.

En términos de rendimiento general: al estar compartiendo la GPU en lugar de usarla de forma exclusiva, en juegos muy exigentes vas a notar algo de diferencia respecto al nativo. Pero es completamente funcional. El impacto real depende mucho del juego.


El caso más interesante: gaming compartido con un amigo

Este es el uso que más me sorprendió en la práctica.

La idea es simple: si tenés la VM corriendo con Parsec, podés darle acceso a un amigo a esa VM. Para él, es como si tuviera una PC entera frente suyo — con 32 GB de RAM, la GPU funcionando, su propio escritorio. Puede abrir juegos, cerrarlos, instalar cosas. Tiene control total.

¿Y vos mientras tanto? Jugás en tu PC host normalmente, con tu propio juego corriendo.

Probé esto con Party Animals usando una segunda cuenta de Steam. Mi amigo se conectó por Parsec a la VM y jugó en esa cuenta, mientras yo jugaba en la mía directamente en el host. Los dos juegos corriendo simultáneamente, compartiendo la misma GPU física. El rendimiento fue muy bueno — Party Animals no es ultra exigente, pero igual fue una prueba real de que el concepto funciona.

Esto abre posibilidades interesantes: compartir juegos con amigos que no tienen una PC capaz, hacer sesiones cooperativas sin costos adicionales de hardware, o simplemente tener una segunda instancia de juego disponible para cualquier propósito.


Consideraciones finales

No es un setup para todos. Requiere Windows 11 Pro, una GPU NVIDIA compatible, ganas de leer algo de documentación y un poco de paciencia con PowerShell. Pero si tenés el hardware y la curiosidad, los resultados son genuinamente impresionantes.

Lo que más me sorprendió no fue que funcionara — sabía que podía funcionar. Lo que me sorprendió fue lo bien que funciona. Kingdom Come: Deliverance 2 corriendo dentro de una VM con rendimiento decente no era algo que esperaba ver el día que empecé a investigar esto.

Si querés intentarlo vos mismo, el punto de partida es el repositorio Easy-GPU-PV en GitHub. Leé bien la documentación, asegurate de tener la virtualización activada en la BIOS y de estar en Windows 11 Pro, y arrancá desde ahí.

Y si tenés preguntas, dudas o querés compartir tu experiencia, dejame un mensaje. Siempre es interesante saber cómo le fue a otra gente con setups distintos.


— Hugo (HcødeR)

Apoyá mi trabajo

¿Te resultó útil? Podés invitarme un café 🙂

Invitame un café