GPU passthrough problems

Kain-B

New Member
Sep 5, 2025
1
0
1
Hi. I'm currently testing GPU passthrough on a cheap Chinese board (AMD Ryzen 7 PRO 8845HS w/ Radeon 780M Graphics). I have done this several times before on other boards, but this one is above my knowledge.

I guess it all boils down to this error:
kvm: -device vfio-pci,host=0000:01:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,rombar=0,multifunction=on: vfio 0000:01:00.0: failed to setup container for group 17: Failed to set group container: Invalid argument
stopping swtpm instance (pid 15738) due to QEMU startup error

I think the problem is found here:
root@pve:~# grep '' /sys/kernel/iommu_groups/17/reserved_regions
0x0000000058202000 0x0000000058203fff direct
0x00000000fee00000 0x00000000feefffff msi
0x000000fd00000000 0x000000ffffffffff reserved

IOMMU group 17 or PCI device 0000:01:00 is an NVIDIA GeForce RTX 3050. I think the problem is the "direct" area in the reserved_regions.
I can not move the card to another slot (mini ITX board). I think I've tried every possible BIOS switch that could help.

Dmesg gives this:
root@pve:~# dmesg | grep -e DMAR -e IOMMU
[ 0.444853] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.448486] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 287.981345] vfio-pci 0000:01:00.0: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.
[ 3018.737797] vfio-pci 0000:01:00.0: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.

A little bit of background data:
Current grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt video=efifb:off pci=realloc=off"

/etc/modprobe.d/blacklist.conf:
blacklist nouveau
blacklist nvidia
blacklist nvidia*
blacklist nvidiafb
blacklist snd_hda_intel

/etc/modprobe.d/vfio.conf:
options vfio-pci ids=10de,2584 disable_vga=1

I have also tried options vfio-pci ids=10de:2584,10de:2291 disable_vga=1 from another how-to page.

/etc/modules:
vfio
vfio_iommu_type1
vfio_pci

I ran completely out of ideas. Does anyone have an idea what I can do now? I think it's the "direct" setting, aka 1:1 mapping? Can I force the kernel to ignore that? Contacting my platform vendor will be a one-sided communication. I can give more background, if needed.
 
Hi. I'm currently testing GPU passthrough on a cheap Chinese board (AMD Ryzen 7 PRO 8845HS w/ Radeon 780M Graphics). I have done this several times before on other boards, but this one is above my knowledge.

I guess it all boils down to this error:
kvm: -device vfio-pci,host=0000:01:00.0,id=hostpci0.0,bus=ich9-pcie-port-1,addr=0x0.0,rombar=0,multifunction=on: vfio 0000:01:00.0: failed to setup container for group 17: Failed to set group container: Invalid argument
stopping swtpm instance (pid 15738) due to QEMU startup error

I think the problem is found here:
root@pve:~# grep '' /sys/kernel/iommu_groups/17/reserved_regions
0x0000000058202000 0x0000000058203fff direct
0x00000000fee00000 0x00000000feefffff msi
0x000000fd00000000 0x000000ffffffffff reserved

IOMMU group 17 or PCI device 0000:01:00 is an NVIDIA GeForce RTX 3050. I think the problem is the "direct" area in the reserved_regions.
I can not move the card to another slot (mini ITX board). I think I've tried every possible BIOS switch that could help.

Dmesg gives this:
root@pve:~# dmesg | grep -e DMAR -e IOMMU
[ 0.444853] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.448486] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 287.981345] vfio-pci 0000:01:00.0: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.
[ 3018.737797] vfio-pci 0000:01:00.0: Firmware has requested this device have a 1:1 IOMMU mapping, rejecting configuring the device without a 1:1 mapping. Contact your platform vendor.

A little bit of background data:
Current grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt video=efifb:off pci=realloc=off"

/etc/modprobe.d/blacklist.conf:
blacklist nouveau
blacklist nvidia
blacklist nvidia*
blacklist nvidiafb
blacklist snd_hda_intel

/etc/modprobe.d/vfio.conf:
options vfio-pci ids=10de,2584 disable_vga=1

I have also tried options vfio-pci ids=10de:2584,10de:2291 disable_vga=1 from another how-to page.

/etc/modules:
vfio
vfio_iommu_type1
vfio_pci

I ran completely out of ideas. Does anyone have an idea what I can do now? I think it's the "direct" setting, aka 1:1 mapping? Can I force the kernel to ignore that? Contacting my platform vendor will be a one-sided communication. I can give more background, if needed.
Hi Kain-B,

I'm not sure if this will help, but I had to use a number of guides to the 780m iGPU passthrough working correctly on my Windows guest VM.

1st problem is that the IGPU requires the correct rom files attached to the iGPU for passthrough to work (plus you my need to passthrough the audio components).

2nd & 3rd problem is that the AMD reset bug has to be resolved on both the Proxmox host and within the guest VM, otherwise any restart or shutdown leave the iGPU in a stuck state, unable to reset, requiring a host reboot to return to normal state.

I actioned this on Proxmox 8.4 and then upgraded to Proxmox 9.0, so your mileage might vary, due to passthrough issues in the latest kernel.

These are the guides I followed:

General AMD passthrough:
https://github.com/isc30/ryzen-gpu-passthrough-proxmox

Detailed explanation of the AMD reset bug with solutions.
https://github.com/xiongyw/docs/blo...rum-um880pro/pve-8.4-1_minisforum-um880pro.md

The solution I used for the reset bug on my Proxmox host:
https://github.com/isc30/ryzen-gpu-passthrough-proxmox/issues/131

The process is definitely not for the beginner, as a lot of parameters need to be changed to suit your environment. But I hope that helps.

Derek.