The VFIO and GPU Passthrough Beginner's Resource

Seems like we get a new thread almost every day with people having the same problems setting up a passthrough VM. The Purpose of this Wiki is to be a resource and reference for people who want to set up a VFIO system, or have one already and need advice or Tutorials for the various facets of that system.

I will be adding categories like ‘input’ ‘screens’ etc – these can be expanded as necessary.

Basic Setup

Guides on setting up a passthrough VM

The archwiki guide:
https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF

This is the gold standard in passthrough setup tutorials. It is by and large the most complete, best maintained, and most accurate reference available. The vast majority of the information is completely distro agnostic, with the single caveat being mkinipcio being distro specific (dracut on fedora etc)

This should always be your first reference.

Explainers/Benchmarks

Information on various ill documented or not-oft-explained aspects of VFIO. Benchmarks should also be put here as the effectiveness of many commonly suggested tweaks are not very well characterized.

Hardware buying and quirk guide: https://passthroughpo.st/vfio-increments/

Input

resources for people looking for keyboard/mouse input sharing solutions or other input-related topics.

Storage

Information on best practices for images, VirtIO, etc.

Display/GPU

VFIO Topics pertaining to your VM’s display, native or otherwise.

Audio

VM audio resources.

Distro Specific

Apparmor, distro specific software, issues, and workarounds.

Tools and Projects

Software that enhances the VFIO experience, or VFIO use cases outside of GPU passthrough

https://looking-glass.hostfission.com/

This is a tool that allows users to take advantage of KVMFR, using 3d accelerated VMs without needing a native display

16 Likes

I’ve tried setting up VFIO in mint (Ubuntu) ; manjaro(arch) ; and now proxmox to no success. Whenever I boot the windows VM and install the Nvidia driver it bsods during load; previously with different commands it was hanging on a black screen with the loading mouse cursor…
The RTX2080 is selected for pcie pass through ; it’s in its own Iommu group added basically everything; I’ve seen…
Yesterday I tried for 11hrs; my friend remoted in for 8hrs. (for proxmox) I’ve spent a week on various other distros…
The only remaining suggestion was to dump GPU bios and load from bin. But they were saying gpuz isn’t clean and other dumpers aren’t clean…
I mean windows detects it’s an rtx 2080 just drivers don’t like it for some reason?