Problem statement
I’m running into a problem getting a P40 running while assigned to an Ubuntu 22 LTS VM via direct passthrough. At boot the system log is spammed by the message in the title, repeating roughly every 300msec like this:
NVRM: This PCI I/O region assigned to your NVIDIA device is invalid:
NVRM: BAR1 is 0M @ 0x0 (PCI:0000:0b.0)
On this same host I have a Windows 11 VM which is able to passthrough the device as expected and everything works.
Host system details
- DL380p Gen8, 384GB RAM installed
- GPU enablement kit installed for 16x PCIe risers/power/etc
- Tesla P40, 24GB VRAM
PCI Express 64-Bit BAR Supportenabled in hidden BIOS menu- SR-IOV enabled in BIOS
- Host is running ESXI 8.0 U1
- System boots and runs off of internal graphics
Guest VM details
- Installed guest via “ubuntu-22.04.2-live-server-amd64”, no desktop
- 64GB RAM assigned to VM and reserved
- As this card is 16GB or greater, I’ve added the following Advanced Configuration settings to the ESXi VM
pciPassthru.64bitMMIOSizeGB=64pciPassthru.use64bitMMIO=TRUE
- Tested with and without GRUB kernel command
pci=realloc, no difference.
Guest VM driver install process
sudo apt-get install build-essential manpages-dev
sudo apt install nvidia-driver-525
sudo reboot now
Guest VM PCI
Card is visible to the guest
lspci | grep NVIDIA
0b:00.0 3D controller: NVIDIA Corporation GP102GL [Tesla P40] (rev a1)
Guest VM logs
nvidia-bug-report.log.gz (205.5 KB)
If anyone has any ideas as how I can make this work under a Linux VM I’d really appreciate it. Given that it works with a Windows VM I suspect that I must be relatively close but have beating my head against this for a week now and figured I’d see if anyone else had any ideas.