I’m trying to set up GPU Passthrough with Ubuntu 24.04 LTS using KVM on a HP Proliant DL360 Gen 9. The videocard I’m using is a NVIDIA GeForce 730. Ubuntu sees the videocard when I use “lspci | grep NVIDIA”.
I’ve tried 20 or 25 tutorials on the web so far and none of them seems to work. All those tutorials result in this error:
“vfio 0000:11:00.0: failed to setup container for group 32: Failed to set group container: Invalid argument”
and also in dmesg: “vfio-pci 0000:11:00.1: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor”
Things I’ve tried:
- Checked if Virtualization is enabled, which it is
- Enabled IOMMU in /etc/default/grub
- Adjusted grub to exclude the driver and device from the host so that it can be used by a VM
- The videocard has been added to IOMMU group 32 with ID 0000:11:00.1
lsmod | grep vfio:
vfio_pci 16384 0
vfio_pci_core 94208 1 vfio_pci
vfio_iommu_type1 49152 0
vfio 73728 3 vfio_pci_core,vfio_iommu_type1,vfio_pci
iommufd 98304 1 vfio
irqbypass 12288 2 vfio_pci_core,kvm
lspci -nnk:
11:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK208B [GeForce GT 730] [10de:1287] (rev a1)
Subsystem: ASUSTeK Computer Inc. GK208B [GeForce GT 730] [1043:881a]
Kernel driver in use: vfio-pci
Kernel modules: nvidiafb, nouveau
11:00.1 Audio device [0403]: NVIDIA Corporation GK208 HDMI/DP Audio Controller [10de:0e0f] (rev a1)
Subsystem: ASUSTeK Computer Inc. GK208 HDMI/DP Audio Controller [1043:881a]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
dmesg | grep -i -e DMAR -e IOMMU
[1.590590] DMAR: Intel(R) Virtualization Technology for Directed I/O
[64028.365834] vfio-pci 0000:11:00.1: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.
/etc/default/grub:
GRUB_DEFAULT=0
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on iommu=pt kvm.ignore_msrs=1"
GRUB_CMDLINE_LINUX=""
Tutorials that I followed and all of them end up with the same error (Some of them were on AlmaLinux):
- Virtualization - Ubuntu 22
- Server-World - GPU Passthrough
- Beginner friendly guide to GPU Passthrough
- Github - GPU Passthrough
- Luus.is - GPU Passthrough
- Red Hat GPU Passthrough
- Wiki Gentoo - GPU Passthrough
When I search for that Firmware error in dmesg it only shows Proxmox topics and they offer a new Promox kernel as a solution, but I’m not using Proxmox, so no solution for me. What am I doing wrong here? I’m really at my wits end here. Thanks in advance.
P.S. I'm not very familair with GPU/PCI Passthrough, so if I forgot to provide any useful information, let me know.