GPU passthrough to a Windows VM: what it can and cannot measure
Plan a PVE GPU passthrough Windows VM, understand IOMMU/vfio/vBIOS issues, and separate VM results from bare-metal performance.
Tested onPro (26H2) · Build 26300.9457 · x64
E1- Build
- 26300.9457
- Edition
- Pro (26H2)
- Architecture
- x64
- Support
- Documentation (E1)
- Evidence
- E1Official documentation
- Verified
- 2026-10-28
- Page type
- Lab
The short answer
Section titled “The short answer”GPU passthrough gives a VM a real GPU via VFIO. It is excellent for testing drivers, UI, tuning and many games. It is not a bare-metal benchmark machine:
- CPU overhead and VM exits remain;
- display path/capture can add latency;
- some anti-cheat and DRM refuse a VM;
- vendor drivers may detect/limit virtualisation;
- single-GPU hosts need special handling.
Use VM results as M-V, not as an absolute FPS claim.
What you need
Section titled “What you need”| Requirement | Why |
|---|---|
| IOMMU enabled (VT-d/AMD-Vi) | Isolates the GPU |
| ACS / clean IOMMU groups | The GPU must be isolated from the host |
| vfio-pci binding | Host must not claim the GPU |
| GPU vBIOS / reset support | Some cards need a ROM or reset workaround |
| Second GPU or iGPU | Host needs a display if the GPU is passed through |
| PVE hostpci config | Attach the device to the VM |
| Windows VM (q35/OVMF) | Matching the GPU driver stack |
Outline
Section titled “Outline”- Enable IOMMU in firmware and the kernel command line.
- Confirm IOMMU groups:
find /sys/kernel/iommu_groups/ -type l. - Blacklist the host driver and bind
vfio-pcito the GPU/audio function. - Add the PCI device to the VM (
hostpci0), with PCIe/ROM options as needed. - Install the vendor driver in Windows.
- Verify with Device Manager and
nvidia-smi/Adrenalin/Arc Control. - Test a known workload and record the VM configuration.
Do not copy a hostpci line from a forum without checking your IOMMU group and device IDs. Passing the GPU without its audio function or with the wrong ROM can produce a black screen.
What can be measured
Section titled “What can be measured”| Question | VM result useful? | Caveat |
|---|---|---|
| Does the driver install? | Yes | Driver may behave differently in a VM |
| Does the game launch? | Yes | Anti-cheat may block |
| Relative driver/setting changes | Yes, with M-V label | Same VM, same host |
| Absolute FPS vs bare metal | No, not directly | CPU/VM overhead, display path |
| Latency | Careful | Capture/display adds error |
| Battery/thermal | No | Not representative |
Anti-cheat and licensing
Section titled “Anti-cheat and licensing”Some anti-cheat systems treat a VM as an untrusted environment. Some NVIDIA/AMD driver features or licensing terms restrict virtualisation. Check the vendor and game terms; do not try to hide the VM from anti-cheat.
Safer test design
Section titled “Safer test design”- Use a second GPU for the host, or a headless host with IPMI/serial.
- Keep a known-good snapshot before changing vfio/hostpci.
- Record the exact host GPU, vBIOS, PVE version and VM config.
- Compare only runs on the same VM and host.
- If a result matters for a buying decision, validate on physical hardware.