Trying to pass GPU to VM Error Error Code: 14

Used some AI trying to find an answer but this is what it has spit out.

”I am running TrueNAS SCALE 25.10 on an AMD Ryzen platform (AMD-Vi/IOMMU enabled, IVRS detected, IOMMU functional).

I am trying to pass through NVIDIA GPUs (GTX 1080 Ti and GTX 1070) to Windows 11 virtual machines using VFIO with QEMU/KVM.

The GPUs bind correctly to vfio-pci and are isolated into separate IOMMU groups.

However, when starting the Windows VMs, QEMU fails during PCI device assignment with:


vfio 0000:xx:xx.x: failed to setup container for group xx: Invalid argument

and kernel logs show:


Firmware has requested this device have a 1:1 IOMMU mapping
rejecting configuring the device without a 1:1 mapping

The failure occurs during VFIO IOMMU container creation before the VM fully starts.

BIOS settings (Above 4G decoding, SR-IOV, AMD IOMMU enabled), ACS override, and kernel parameters (iommu=pt, allow_unsafe_interrupts) do not change the behavior.

The system reports:


iommu: Default domain type: Translated
AMD-Vi: Interrupt remapping enabled

This appears to be a VFIO + AMD IOMMU compatibility issue during IOMMU container setup on Linux 6.12 under Windows VM passthrough.

Error I get when trying to launch is
[EFAULT] internal error: QEMU unexpectedly closed the monitor (vm=‘8_VM’): 2026-06-14T22:14:53.693269Z qemu-system-x86_64: warning: This family of AMD CPU doesn’t support hyperthreading(2). Please configure -smp options properly or try enabling topoext feature.
2026-06-14T22:14:58.047866Z qemu-system-x86_64: -device {“driver”:“vfio-pci”,“host”:“0000:01:00.0”,“id”:“hostdev0”,“bus”:“pci.5”,“addr”:“0x0”}: vfio 0000:01:00.0: failed to setup container for group 14: Failed to set group container: Invalid argument”

I have got the GPU to work in apps but still can not get it to work with the VM, without the GPU VM works fine. On a AMD Ryzen 9 7900 12-Core Processor with a MSI MAG X870E Tomahawk WiFi Motherboard. Not sure what else to do at this point I have been working on this for 3 days now. Any support would be appreciated. Update to the most recent truenas version and most recent Bios version.

If those are the only 2 gpus in your system then you can only pass through one, since truenas can’t run headless and blocks one for itself

1 Like

Originally, I was only trying to pass the 1080, but everything I was running into is like, oh, it’s because of what slot it’s in, it won’t work, so I tried the other one. I’m happy only passing one. The CPU also has some level of graphical support, so I was running it originally with no graphics cards at all, and it was fine. I added the graphics cards and got them working for some apps, and then when I’ve tried the pass through, it’s just been a bad week of not working.

Adding more details if helpful, please clarify if anything else is needed or if I am doing anything wrong.

TrueNAS SCALE 25.10.x - VFIO GPU Passthrough Fails with “Failed to set group container: Invalid argument” on Ryzen 9 7900 / MSI X870E

System Information

TrueNAS Version

  • TrueNAS SCALE 25.10.4

  • Previously tested on 25.10.3.1 with the same result

Kernel

  • Linux 6.12.91-production+truenas

Hardware

  • CPU: AMD Ryzen 9 7900

  • Motherboard: MSI MAG X870E Tomahawk WiFi

  • RAM: 64 GB

  • GPUs:

    • NVIDIA GTX 1080 Ti (GP102)

    • NVIDIA GTX 1070 (GP104)

Goal

Pass through either GPU to a Windows 11 VM using the built-in TrueNAS virtualization system (QEMU/KVM + VFIO).

BIOS Settings

Currently enabled:

  • AMD IOMMU = Enabled

  • Above 4G Decoding = Enabled

  • SR-IOV = Enabled

Currently disabled:

  • Resize BAR = Disabled

VM Configuration

Windows 11 VM:

  • UEFI boot

  • TPM enabled

  • CPU Mode: Host Passthrough

  • Hyper-V Enlightenments enabled

  • GPU selected through the TrueNAS GPU passthrough UI

Symptoms

VM fails immediately during startup.

Error returned by TrueNAS:

[EFAULT] internal error: QEMU unexpectedly closed the monitor

qemu-system-x86_64:
-device {"driver":"vfio-pci","host":"0000:01:00.0","id":"hostdev0","bus":"pci.5","addr":"0x0"}:

vfio 0000:01:00.0:
failed to setup container for group 14:
Failed to set group container: Invalid argument

The GTX 1070 produces a nearly identical failure.

What Has Been Verified

IOMMU is active

dmesg:
iommu: Default domain type: Translated
AMD-Vi: Interrupt remapping enabled
AMD-Vi: Virtual APIC enabled

GPUs are bound to VFIO

1080 Ti:

01:00.0 VGA compatible controller
Kernel driver in use: vfio-pci

1070:

06:00.0 VGA compatible controller
Kernel driver in use: vfio-pci

IOMMU groups exist

1080 Ti:

/sys/kernel/iommu_groups/14/devices/0000:01:00.0

Audio function is isolated into group 15.

1070 audio device also tested

Initially 06:00.1 was using snd_hda_intel.

I manually rebound it to vfio-pci so that both:

06:00.0
06:00.1

were attached to vfio-pci.

The error remained unchanged.

Kernel Messages

Repeatedly seeing:

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 appears whenever attempting passthrough of the 1080 Ti.

Troubleshooting Already Performed

Tested with no change:

  • Upgraded from 25.10.3.1 to 25.10.4

  • Removed pcie_acs_override=downstream,multifunction

  • Added pcie_acs_override=downstream,multifunction

  • Added iommu=pt

  • Removed iommu=pt

  • Added intel_iommu=on

  • Removed intel_iommu=on

  • Rebound GPU devices to vfio-pci

  • Verified IOMMU groups

  • Tested both GPUs

  • Tested different PCIe slots

  • Rebooted after each kernel parameter change

Current command line:

amd_iommu=on

No ACS override or iommu=pt currently active although no difference with iommu=pt active.

Question

Has anyone with:

  • TrueNAS SCALE 25.10.x

  • Linux 6.12.x

  • Ryzen 7000 series

  • X870/X870E motherboards

successfully passed through NVIDIA GPUs recently?

The repeated VFIO error and the “1:1 IOMMU mapping” message make me wonder whether this is a kernel/VFIO regression, a motherboard firmware interaction, or a TrueNAS-specific virtualization issue.

Any suggestions for additional diagnostics would be appreciated.

Are your GPUs in discreet IOMMU groups, without any other devices?
Check with:

#!/bin/bash
for d in /sys/kernel/iommu_groups/*/devices/*; do
  n=${d#*/iommu_groups/*}; n=${n%%/*}
  printf 'IOMMU Group %s ' "$n"
  lspci -nns "${d##*/}"
done

Also, i would always add GPU+ audio device from the devices list, and not during VM creation.

IOMMU Group 14 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP102 [GeForce GTX 1080 Ti] [10de:1b06] (rev a1)
IOMMU Group 15 01:00.1 Audio device [0403]: NVIDIA Corporation GP102 HDMI Audio Controller [10de:10ef] (rev a1)

So, I have never added it during the creation, but I’have used the edit option after to add the GPU, I’ve added it with the devices option for both audio and GPU as well and the errorstays just about the same.

Is the gpu isolated for vm use or is it still used for apps?

It was removed from any app before it was added to the isolation list and then added to the virtual machine.

So I got a newer graphics card, a 5070 TI, any chances that might serve me better, or anybody have any more ideas as to how I can potentially overcome this problem?