[Fixed] Intel Arc B580: PCIe Passthrough Issues

Hello everyone,

just got the Intel Arc B580 installed and keep having issues with getting the Intel driver to work under Windows 11 inside a VM.
It throws error code 43.

What works is booting “bare-metal” without QEMU/KVM.
Also I managed to get it work once in the VM, but could not figure out why.
After a reboot it stopped working. Lol.

My setup is roughly as follows:

  • Gigabyte X570 AORUS PRO
    • ReBAR: Yes
    • AMD-V: Yes
  • AMD Ryzen 7 3700X
  • GPU 1: Intel Arc B580
  • GPU 2 (Primary): Radeon RX 550 640SP / RX 560/560X
  • Fedora 41 (all updates installed up to now)
  • libvirtd
  • Boot from PCIe NVMe drive reserved for Windows (also passed through)
  • Video: None
  • Looking Glass

Configured as usual for PCIe Passthrough:

  • Load vfio-pci at initrd with IDs from B580
  • softdeps for xe driver to first load vfio-pci (also tried without)
  • Rebuilt all initrds with dracut (–force)

Used to work fine with NVIDIA GeForce GTX 1060.

Any ideas :/?

Since it works when booting bare metal I guess its more of some driver ↔ VM incompatibility?

1 Like

Intel Driver version: 32.0.101.6332_101.6253 from 26/12/2024.

Fixed by upgrading qemu package version to 9.2.0 from rawhide.
Stumbled upon this issue Xe probe fails when device (B580) attached to Qemu virtual machine with 16G BAR size (#3892) · Issues · drm / xe / xe kernel driver · GitLab which got me on the right track.

4 Likes

This appears to be a general issue with 6.12+ and QEMU <= 9.1.x, also affecting AMD GPUs.
The vfio-pci-core driver can now map 2M and 1G pages for PCIe BARs, and from what I understand, only QEMU 9.2.0 aligns the mmap calls properly for that to work consistently.

https://lore.kernel.org/regressions/20241222223604.GA3735586@bhelgaas/