Hi all — I’m trying to determine whether GPU passthrough is currently possible on the Gigabyte X870E platform, or whether this is a firmware/AGESA limitation that needs vendor fixes.
I have spent several days troubleshooting, made all standard VFIO changes, and even attempted both NVIDIA and older Quadro cards. Both fail identically, and I am hoping someone with X870/X870E experience can confirm whether anyone has passthrough working yet, or whether AMD’s identity-mapping requirement is still blocking this.
Hardware
- Motherboard: Gigabyte X870E Eagle WiFi7
- BIOS: F8d, Release Date: 2025-09-18
- AGESA version appears to be 1.2.2.x (Gigabyte does not list explicitly)
- CPU: AMD Ryzen (Raphael platform)
- Host OS: Proxmox VE 9 (kernel 6.14.11-4-pve)
- GPUs tried:
- NVIDIA GeForce RTX 4070 Ti SUPER (10de:2705)
- NVIDIA Quadro K2000 (GK107GL) (10de:0ffe)
Both GPUs successfully bind to vfio-pci at boot.
Symptoms
The VM attempts to start, resets the GPU, and then immediately fails.
QEMU exits with code 1.
Key dmesg output during VM launch:
vfio-pci 0000:01:00.0: resetting
vfio-pci 0000:01:00.0: reset done
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.
This repeats in a loop for any attached GPU.
IOMMU Status & Kernel Parameters
Current kernel cmdline (confirmed applied):
quiet amd_iommu=on iommu=pt iommu=1 iommu.passthrough=1 iommufd=on iommu.strict=0 \
kvm.allow_unsafe_assigned_interrupts=1 reboot=efi video=efifb:off
IOMMU reports proper grouping, including GPU and audio functions:
pci 0000:01:00.0: Adding to iommu group 14
pci 0000:01:00.1: Adding to iommu group 14
IOMMU mode shows passthrough domain active:
iommu: Default domain type: Passthrough (set via kernel command line)
VFIO modules loaded correctly:
vfio_pci
vfio
vfio_iommu_type1
iommufd
VM Settings
Using OVMF UEFI, machine type q35, and the following CPU option:
cpu: host,hidden=1,flags=+pcid
Tried both “Raw PCI device” and “Mapped PCI device” in Proxmox.
Both fail with the same 1:1 mapping error.
VM works normally when GPU passthrough is removed.
What I Have Already Tried
- Turning off efifb (
video=efifb:off) - Ensuring GPU is not grabbed by amdgpu/nvidia/nouveau
- Verified GPU bound to vfio-pci from boot
- Using
iommu.strict=0 - Using
iommu=pt+ identity map attempts - Rebuilding initramfs and updating GRUB multiple times
- Passing through only one GPU or the other (same failure)
- Checking 100.conf formatting and passthrough flags
- Disabling all virtualization security/CSM in BIOS
- Multiple Proxmox kernel versions
All attempts fail identically with:
“Firmware has requested this device have a 1:1 IOMMU mapping.”
The Key Question
Has anyone successfully passed through a GPU on an X870 or X870E motherboard (any vendor, any BIOS/AGESA version)?
The vfio-pci error strongly suggests that AMD’s firmware expects an IOMMU identity-map mode that the Linux kernel does not currently (or cannot safely) provide.
I cannot find any confirmed success reports for this chipset, only group listings.
I’m trying to determine whether:
- This platform is currently incapable of PCIe GPU passthrough due to firmware/AGESA bugs,
- A BIOS update is expected to resolve this,
- A kernel-side workaround exists or is being developed,
- Or whether I’ve missed something obvious.
If helpful, here is the exact boot dmesg block
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.
This message repeats continuously whenever QEMU tries to attach the device.
What I’m Looking For
- A report of any successful GPU passthrough on X870/X870E
- Knowledge about firmware/AGESA plans for identity mapping support
- Confirmation from anyone following AMD IOMMU kernel patches
- Any known workarounds (ACPI IVRS overrides, kernel patching, etc.)
Happy to provide full logs or test configurations if useful.
Thanks in advance — just trying to determine whether this chipset is ready for VFIO use or if we need to wait for AMD/Gigabyte to update their firmware.