GPU Passthrough on Proxmox VE 9 (Intel Xeon + AMD FirePro W5100): Step-by-Step Guide

This detailed tutorial explains how to pass an AMD FirePro W5100 GPU to a VM running on Proxmox VE 9 with an Intel Xeon CPU (such as HP Z440). The method works for both Windows and Linux guests and ensures full hardware acceleration using AMD’s native drivers.

The FirePro W5100 shows up as two PCI functions on one physical card:
0000:02:00.0 – GPU (Video Processor)
0000:02:00.1 – HDMI Audio Controller
For best results, pass both functions together.

Prerequisites

  • Proxmox VE 9 installed and updated
  • Intel Xeon CPU with VT-d support
  • AMD FirePro W5100 installed in a dedicated PCIe slot
  • Familiarity with basic Linux commands and file editing

Identify Your GPU and IDs

SSH into your Proxmox host and run:

lspci -nn | egrep -i 'vga|audio'

You’ll see something like:

02:00.0 VGA compatible controller [0300]: AMD/ATI Bonaire [FirePro W5100] [1002:6649]
02:00.1 Audio device [0403]: AMD/ATI HDMI Audio [1002:aac9]

Take note of:

  • Bus addresses → 0000:02:00.0 and 0000:02:00.1
  • Device IDs → 1002:6649 and 1002:aac9

Enable Virtualization in BIOS

  1. Reboot and press F10 (or Esc → F10) for BIOS.
  2. Go to Security → System Security.
  3. Enable:
     • Intel Virtualization Technology (VT-x)
     • Intel VT-d (Directed I/O)
  4. Save changes and reboot.

Enable IOMMU in Proxmox VE 9

Check how your system boots:

[ -d /sys/firmware/efi ] && echo "UEFI" || echo "Legacy BIOS"

If you see Legacy BIOS → use GRUB

nano /etc/default/grub

Replace the line containing GRUB_CMDLINE_LINUX_DEFAULT with:

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"

Apply and reboot:

update-grub
reboot

If you see UEFI → use systemd-boot

nano /etc/kernel/cmdline

Add:

quiet intel_iommu=on iommu=pt

Then run:

proxmox-boot-tool refresh
reboot

Load VFIO Modules & Bind the GPU

1. Add VFIO modules to load at boot

cat <<'EOF' >> /etc/modules
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd
EOF

2. Bind your GPU to VFIO

nano /etc/modprobe.d/vfio.conf
options vfio-pci ids=1002:6649,1002:aac9 disable_vga=1

3. Blacklist the host AMD drivers

nano /etc/modprobe.d/blacklist-gpu.conf
blacklist amdgpu
blacklist radeon

4. Rebuild initramfs and reboot

update-initramfs -u -k all
reboot

Verify IOMMU & Driver Binding

Check if IOMMU is active:

dmesg | egrep -i 'dmar|iommu'

You should see “DMAR: IOMMU enabled”.

Confirm your GPU is bound to vfio-pci:

lspci -nnk -s 02:00.0
lspci -nnk -s 02:00.1

Expected output → Kernel driver in use: vfio-pci

List IOMMU groups (optional):

find /sys/kernel/iommu_groups/ -type l | sort

Attach the GPU to a VM

Option A – GUI

  1. Open your VM → Hardware → Add → PCI Device
  2. Select 0000:02:00.0 and 0000:02:00.1, or tick All Functions
  3. Enable PCI Express
  4. Under Options → BIOS, set OVMF (UEFI)
  5. Start the VM

Option B – CLI config

nano /etc/pve/qemu-server/<VMID>.conf
machine: q35
hostpci0: 0000:02:00,pcie=1

(This single line includes both the GPU and audio functions.)

Guest OS Setup

Windows 10/11

  • Attach a monitor to the GPU.
  • Install the official AMD FirePro W5100 driver from AMD.com.
  • Reboot and confirm GPU acceleration in Device Manager.

Linux (Ubuntu/Debian)

  • The amdgpu or radeon driver loads automatically.
  • Check with: lspci -k | egrep -A3 'VGA|Audio' glxinfo | grep -i render

NoVNC will not display the GPU output. Connect a physical monitor to the FirePro.

Troubleshooting

IssueCauseFix
VM won’t startGPU still claimed by hostConfirm vfio-pci in use (lspci -nnk)
Black screenNo primary GPU / wrong firmwareUse OVMF (UEFI) and attach monitor
GPU shares IOMMU groupMotherboard layoutMove to different slot or add pcie_acs_override=downstream
VM works once then failsAMD reset bugStop VM fully before restart or install vendor-reset
Host loses displayHost trying to use GPUKeep AMD drivers blacklisted on host

Checklist & Verification

  • BIOS: VT-x and VT-d enabled
  • Kernel flags: intel_iommu=on iommu=pt
  • VFIO modules load on boot
  • AMD drivers blacklisted
  • lspci -nnk shows vfio-pci for GPU + audio
  • VM uses machine:q35 + OVMF + PCIe device
  • Guest drivers installed and display working

Learn Proxmox in Depth

If you’d like a complete, hands-on Proxmox training—from installation and clustering to networking, storage, firewalls, and GPU passthrough—take my full Udemy course:

👉 Proxmox Virtualization Environment – Complete Training
By Amjid Ali

You’ll learn real-world enterprise deployment techniques using open-source virtualization with Proxmox VE 9.

Author: Amjid Ali | Website: https://syncbricks.com | LinkedIn: linkedin.com/in/amjidali

Leave a Comment