I’ve run into a serious problem migrating from Proxmox 8 to Proxmox 9.
My machine specs:
The problem is with VM 101. I’m trying to passthrough a Quadro P2000, but it’s not working at all. I’ve tried everything. In short:
And my VM 101 config (101.conf):
I’ve tried every possible way to hide the GPU from Nvidia’s virtualization detection (even dumping and passing the GPU’s ROM), but nothing works. Inside the VM, I always end up with this:
I can’t get rid of these two errors:
Which prevents the Nvidia drivers from loading correctly.
This didn’t happen on Proxmox 8. Is there any workaround for this? I refuse to believe I’m the only one facing this issue. Can someone open a ticket or escalate this so it gets fixed in Proxmox 9? It’s very frustrating that something works in the previous version but breaks in the new one.
My machine specs:
- Case: Antec P101 Silent
- PSU: Seasonic B12 BM-650 - A651BMAFH - 80 Plus Bronze
- Motherboard: Gigabyte GA-Z97X-UD3H (Proxmox reports it as Z97X-UD3H-CF). Released Q2 2014
- CPU: Intel(R) Xeon(R) CPU E3-1245 v3 @ 3.40GHz Fill By OEM CPU @ 3.4GHz – 4 Cores, 8 Threads – Released Q2’13
- RAM:
- 2x Kingston 99U5471-066.A00LF 8GiB DIMM DDR3 Synchronous 1600 MHz (0.6 ns) in slots 1 and 3
- 2x KVR16N11/8 8GB PC RAM Kingston PC3-12800U DDR3-1600MHz in slots 2 and 4
- Total: 32 GB
- Dedicated GPU: Nvidia Quadro P2000 5 GB RAM – Passthrough to VM 101
- Integrated GPU: Xeon E3-1200 v3 Processor Integrated Graphics Controller – Passthrough to VM 103
- Onboard NIC: Intel Corporation Ethernet Connection I217-V
- CPU Audio Controller (HDMI out): Xeon E3-1200 v3/4th Gen Core Processor HD Audio Controller
- Motherboard Audio Controller (case jacks): Intel 9 Series Chipset Family HD Audio Controller
- Disk /dev/sda (1 TB, WDC WDS100T1R0A): Proxmox + multiple Linux OS (96% wearout as of 2025-04-01, 4% used)
- Disk /dev/sdb (1 TB, WDC WDS100T1R0A): Virtualmin + Windows Server (92% wearout as of 2025-04-01, 8% used)
- Disk /dev/sdc (7.45 TB, WDC WD8003FFBX-6): various – passthrough to VM 101
- Disk /dev/sdd (3 TB, WDC WD30EZRX-00M): Proxmox backups + Apple Time Machine
The problem is with VM 101. I’m trying to passthrough a Quadro P2000, but it’s not working at all. I’ve tried everything. In short:
- Switched the VM from BIOS to EFI
- Updated Nvidia drivers inside the VM from 535 to 550
Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet pcie_aspm=off intel_iommu=on iommu=pt initcall_blacklist=sysfb_init video=simplefb:off video=vesafb:off video=efifb:off video=vesa:off disable_vga=1 vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=nouveau,nvidia,nvidiafb,nvidia-gpu,vesafb,efifb pcie_acs_override=downstream,multifunction pci=noaer"
GRUB_CMDLINE_LINUX=""
And my VM 101 config (101.conf):
Code:
agent: 1
args: -cpu host,kvm=off
bios: ovmf
boot: order=scsi3;scsi0
cores: 3
cpu: host,flags=+aes,hidden=1,hv_vendor_id=proxmox
#cpu: host
efidisk0: discoprincipal:101/vm-101-disk-1.qcow2,efitype=4m,pre-enrolled-keys=1,size=528K
hostpci0: 0000:01:00.0;0000:01:00.1,pcie=1
machine: pc-q35-9.2
memory: 16384
name: Pi-Hole
net0: virtio=9E:3E:E3:24:90:84,bridge=vmbr0,firewall=1
numa: 0
onboot: 1
ostype: l26
scsi0: discoprincipal:101/vm-101-disk-0.qcow2,discard=on,size=256G
scsi1: TimeMachine:101/vm-101-disk-0.qcow2,backup=0,discard=on,size=1430G
scsi2: /dev/disk/by-id/ata-WDC_WD8003FFBX-68B9AN0_VYHGRLXM,backup=0,discard=on,size=7814026584K
scsi3: discoprincipal:101/vm-101-disk-2.qcow2,discard=on,size=536871K,ssd=1
scsihw: virtio-scsi-pci
smbios1: uuid=482d392e-32cd-49e5-ab8a-69f3541c194e
sockets: 1
tablet: 1
vmgenid: a1be1ed5-c701-4ddd-a383-cd0d72bcd560
I’ve tried every possible way to hide the GPU from Nvidia’s virtualization detection (even dumping and passing the GPU’s ROM), but nothing works. Inside the VM, I always end up with this:
Code:
marcosms@pi-hole:~/descargas/nvidia-patch-master$ nvidia-smi
No devices were found
marcosms@pi-hole:~/descargas/nvidia-patch-master$ sudo dmesg | grep -i nvidia
[ 3.743446] nvidia: loading out-of-tree module taints kernel.
[ 3.743455] nvidia: module license 'NVIDIA' taints kernel.
[ 3.743459] nvidia: module license taints kernel.
[ 3.870654] nvidia-nvlink: Nvlink Core is being initialized, major device number 237
[ 3.872567] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
[ 4.112386] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 550.163.01 Tue Apr 8 12:41:17 UTC 2025
[ 4.149777] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 550.163.01 Tue Apr 8 12:09:34 UTC 2025
[ 4.184175] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 20.611415] [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
[ 20.615700] [drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register device
[ 21.226304] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
[ 21.323272] nvidia-uvm: Loaded the UVM driver, major device number 235.
marcosms@pi-hole:~/descargas/nvidia-patch-master$ lspci -nnk | grep -A 3 -i nvidia
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106GL [Quadro P2000] [10de:1c30] (rev a1)
Subsystem: NVIDIA Corporation GP106GL [Quadro P2000] [10de:11b3]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation GP106 High Definition Audio Controller [10de:10f1] (rev a1)
Subsystem: NVIDIA Corporation GP106 High Definition Audio Controller [10de:11b3]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
05:01.0 PCI bridge [0604]: Red Hat, Inc. QEMU PCI-PCI bridge [1b36:0001]
I can’t get rid of these two errors:
Code:
[drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
[drm:nv_drm_register_drm_device [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register device
Which prevents the Nvidia drivers from loading correctly.
This didn’t happen on Proxmox 8. Is there any workaround for this? I refuse to believe I’m the only one facing this issue. Can someone open a ticket or escalate this so it gets fixed in Proxmox 9? It’s very frustrating that something works in the previous version but breaks in the new one.