Intro
Recientemente adquirí una RTX 5060 y tuve que consultar múltiples páginas para lograr que el passthrough funcionara. Esta guía detalla los pasos que seguí para hacerlo funcionar en mi servidor.
Prerrequisitos
Estoy usando una máquina virtual con Ubuntu 22.04 y la actualización oficial del kernel 6.14. Es importante mencionar que no pude hacer que esto funcionara con el último kernel genérico instalado a través de Ubuntu Mainline Kernel Installer. El kernel necesita ser proporcionado por Canonical.
Asegurate de tener habilitado Above 4G Decoding
en tu BIOS, y si está disponible, también habilitá el soporte ReBAR.
1. Configuración de Grub en Proxmox
En tu servidor Proxmox, abrí el archivo de configuración de grub /etc/default/grub
y buscá la línea GRUB_CMDLINE_LINUX_DEFAULT
y modificála para que se vea así:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb:off,efifb:off"
Si estás usando una CPU AMD, cambiá intel_iommu=on
por amd_iommu=on
.
Guardalo y cerralo, y ejecutá el comando update-grub
. Para asegurarte de que IOMMU se habilitó correctamente, reiniciá tu servidor y ejecutá el comando dmesg | grep -e DMAR -e IOMMU
, deberías ver una línea similar a:
[ 0.537225] DMAR: IOMMU enabled
2. Módulos VFIO del Kernel de Proxmox
Editá /etc/modules
y agregá las siguientes líneas al final del archivo:
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
3. Configurar las Opciones VFIO de Proxmox
Ejecutá los siguientes comandos:
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf
Estas opciones ayudan a VFIO a manejar el mapeo de interrupciones y el acceso MSR para el passthrough de la gráfica.
4. Poner en Lista Negra los Drivers de NVIDIA
Ejecutá los siguientes comandos:
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
echo "blacklist nvidia*" >> /etc/modprobe.d/blacklist.conf
5. Vincular la GPU a VFIO
Ahora, necesitamos decirle a Proxmox que vincule el driver VFIO a nuestra GPU. Para hacer esto, primero tenés que encontrar los IDs de la GPU.
Ejecutá el comando lspci -nn | grep NVIDIA
. Deberías ver algo como:
root@pve:~# lspci -nn | grep NVIDIA
af:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:2d05] (rev a1)
af:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:22eb] (rev a1)
Anotá los IDs, particularmente: 10de:2d05
y 10de:22eb
. Estos valores hexadecimales identifican tu modelo específico de GPU y controlador de audio.
Ejecutá el comando echo "options vfio-pci ids=10de:2d05,10de:22eb" > /etc/modprobe.d/vfio.conf
, reemplazando los IDs apropiadamente.
Después, ejecutá update-initramfs -u
y reiniciá tu servidor.
6. Conectar la GPU a la VM
Primero, asegurate de que tu VM esté apagada. Luego, para conectar la GPU a la VM, navegá a la configuración de Hardware y seleccioná Add -> PCI Device. Hacé clic en Raw Device y buscá la GPU en el desplegable. Debería verse así:

Asegurate de habilitar All Functions y PCI-Express mientras mantenés ROM-Bar y Primary GPU desmarcados.

Si preferís acceso GUI a tu sistema, asegurate de que Display esté configurado en default.

Ahora, encendé tu VM.
7. Instalar los Drivers de NVIDIA
Para que la tarjeta funcione correctamente, necesitás instalar los últimos drivers nvidia-open (575 al momento de escribir esto).
Primero, desinstalá los drivers viejos:
sudo apt-get remove --purge '^nvidia-.*'
sudo apt autoremove
reboot
Luego, instalá las dependencias:
sudo apt install pkg-config libglvnd-dev dkms build-essential libegl-dev libegl1 libgl-dev libgl1 libgles-dev libgles1 libglvnd-core-dev libglx-dev libopengl-dev gcc make
Finalmente, instalá los drivers y reiniciá:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-driver-575-open
reboot
Para confirmar que todo funciona, ejecutá nvidia-smi. Deberías ver algo como:

Asegurate de deshabilitar el display por defecto para que el sistema use la GPU NVIDIA como su GPU primaria. Es importante mencionar que las opciones ROMBar y Primary GPU en la pestaña de hardware deben estar deshabilitadas, de lo contrario el sistema no podrá encender.
Listo!
Si todos los pasos fueron exitosos, deberías haber hecho passthrough de tu GPU RTX serie 5000.
Recursos
He utilizado estos recursos para crear esta guía.
- Guía de passthrough de u/cjalas
- Guía de drivers nvidia ubuntu de oddmario
- Hilo de passthrough de serie Nvidia 5000 en Proxmox