Proxmox GPU passthrough fix for BAR 3 / RmInitAdapter failed

March 20, 2022

While trying to pass my 1050TI graphics card into an Ubuntu 20.04 VM on a new Proxmox server, I kept running into the following error...

[ 2173.527892] vfio-pci 0000:07:00.0: BAR 3: can't reserve [mem 0xf0000000-0xf1ffffff 64bit pref]
[ 2173.709883] vfio-pci 0000:07:00.0: BAR 3: can't reserve [mem 0xf0000000-0xf1ffffff 64bit pref]
[ 2173.710014] vfio-pci 0000:07:00.0: BAR 3: can't reserve [mem 0xf0000000-0xf1ffffff 64bit pref]
[ 2173.710034] vfio-pci 0000:07:00.0: BAR 3: can't reserve [mem 0xf0000000-0xf1ffffff 64bit pref]
[ 2173.710052] vfio-pci 0000:07:00.0: BAR 3: can't reserve [mem 0xf0000000-0xf1ffffff 64bit pref]
[ 2173.710071] vfio-pci 0000:07:00.0: BAR 3: can't reserve [mem 0xf0000000-0xf1ffffff 64bit pref]
dmesg output on the Proxmox host machine
[   7.969112] NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x22:0x56:667)
[   7.969407] NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
dmesg output on the Ubuntu VM the GPU was being passed to

I searched forums and blog posts for days, playing with almost every step of the Proxmox GPU pass through guide until I finally found this post.

The fix was simple. The original guides included this line to be added to the grub config at /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb nomodeset video=vesafb,efifb:eek:ff"
Note this is a Ryzen CPU so amd_iommu=on is used instead of intel_iommu=on

The fix was to change the last few configuration flags for the video from video=vesafb,efifb:eek:ff to video=vesafb:off video=efifb:off. For whatever reason, grub doesn't like those values provided in csv format.

All credit for this fix goes out to Mopen on the Proxmox official forums. This blog post is just to hopefully increase visibility as it took me days of searching to find it.

Monitor your DNS Zones with ZoneWatcher

Be alerted of DNS record changes moments after they happen, not from upset customers.

ZoneWatcher screenshot