Mi Configuración de GPU Passthrough en Proxmox
Mis notas personales y configuración para GPU passthrough en Proxmox VE con tarjetas NVIDIA. Incluye la configuración exacta que uso para VMs de alto rendimiento.
Mi Configuración de GPU Passthrough en Proxmox
Estas son mis notas personales de configurar GPU passthrough en mi homelab de Proxmox VE. Comparto esta configuración porque me tomó días hacerla funcionar correctamente, y estos son los pasos exactos que funcionaron para mi hardware.
Por Qué Necesitaba Esto
Quería consolidar múltiples máquinas físicas en un servidor Proxmox mientras mantenía el rendimiento de GPU para:
- VM de Windows para gaming con rendimiento casi nativo
- Experimentación de ML/AI con aceleración CUDA
- Proyectos de codificación de video
- Pruebas de aplicaciones aceleradas por GPU
Mi Configuración de Hardware
- Proxmox VE 8.1
- CPU Intel con VT-d habilitado
- Placa madre ASUS con soporte IOMMU
- NVIDIA RTX 3080 para passthrough
- Gráficos integrados para pantalla del host Proxmox
Mis Pasos de Configuración
1. Configuración del BIOS
Habilité VT-d en mi BIOS bajo Advanced > CPU Configuration. Esto es crítico - sin esto, nada funciona.
2. Configuración de GRUB
Esto es lo que agregué a /etc/default/grub en mi sistema:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"Luego actualicé GRUB:
update-grubNota: Usa amd_iommu=on si tienes un CPU AMD.
3. Cargar Módulos VFIO
Editar /etc/modules:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd4. Bloquear Drivers de GPU
Crear /etc/modprobe.d/blacklist.conf:
blacklist nouveau
blacklist nvidia
blacklist nvidiafb
blacklist nvidia_drm5. Actualizar initramfs
update-initramfs -u -k allVerificar Grupos IOMMU
Después de reiniciar, verificar grupos IOMMU:
#!/bin/bash
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#*/iommu_groups/*}; n=${n%%/*}
printf 'IOMMU Group %s ' "$n"
lspci -nns "${d##*/}"
doneTu GPU debería estar en su propio grupo IOMMU o solo con su dispositivo de audio.
Configuración de VM
- Agregar dispositivo PCI en la interfaz web de Proxmox
- Habilitar “All Functions” si la GPU tiene audio
- Establecer tipo de máquina a
q35 - Agregar línea
hostpci0a la configuración de VM:
hostpci0: 0000:01:00,pcie=1,x-vga=1Problemas Comunes
Pantalla Negra al Iniciar VM
- Intenta agregar
video=efifb:offa los parámetros del kernel de VM - Asegúrate de tener una segunda GPU para el host Proxmox
Código 43 en Windows
- Agregar vendor-id a la configuración de VM:
vendor-id=1234567890ab - Ocultar KVM:
args: -cpu host,kvm=off
Bajo Rendimiento
- Habilitar interrupciones MSI
- Usar drivers
virtiopara almacenamiento y red - Fijar núcleos de CPU para mejor rendimiento
Mis Resultados
Después de configurar todo, ahora estoy ejecutando:
- VM de Windows 11 para gaming con ~95% del rendimiento nativo de RTX 3080
- VM de Ubuntu con CUDA para experimentos de AI/ML
- Gaming estable a 4K a 60+ FPS en la mayoría de títulos
- Puedo reasignar la GPU entre VMs sin reiniciar el host
La configuración ha sido sólida durante varios meses.
Recursos Útiles
Estos recursos me ayudaron a resolverlo:
- Documentación Oficial de Proxmox VE
- Guía de GPU Passthrough del Wiki de Arch
- Mis archivos de configuración completos y scripts de automatización están en el repo de GitHub enlazado arriba
Última Actualización: Noviembre 2025 Mi Configuración: Proxmox VE 8.1 + NVIDIA RTX 3080 Estado: Listo para producción y estable