PCI Passthrough: Known Working Hardware

It was suggested that we have a place to post working hardware pass through to save others who want to give it a try some of the trial and error of figuring out what hardware works and what doesn't. So this might be a good place to start, if you have a working configuration please post your specs so we can help others, and it's just as important to post non-working hardware that you have tried.

Lets try to make it simple by including this information.

  1. Operating system (host)
  2. Operating system (guest)
  3. Hypervisor (KVM, Zen, etc)
  4. Motherboard
  5. Successful devices that you have passed through to the guest
  6. Issues or problems you had and how you solved them
  7. Devices/hardware you have tried that did not work, and if you know why it didn't work please explain.
  8. Any other information you want to share that may help others create a successful PCI Passthrough.
3 Likes

My configuration is...

Host: Fedora 22
Guest: Win7 ultimate
Hypervisior: KVM/QEMU
Motherboard: Asrock fatal1ty 990fx killer, 8370 cpu
Successful pass through devices using PCI-STUB: AMD R9 270x GPU, Intel 82574L gigabit NIC
No problems or issues...
Non-working hardware that I tried nVidia GTX550Ti (passed through but driver issues in the guest), Asus motherboard M5A99FX Pro R2 wouldn't work because of BIOS issues.

Current configurations that I have used:

Mother Board: ASUS X99-Deluxe
CPU: Intel 5960x
Host OSes tested: Ubuntu 15.04, Ubuntu 14.04, Fedora 22, OpenSuse Tumbleweed
Guest: Win7 Pro, Win 8.1 Pro, Ubuntu 14.04, Kali 1.0
Hypervisor: KVM/QEMU
Successful passthrough: R9 270, R9 280 6GB, R9 290, GTX 770, GTX 750, GTX 970, Intel Gigabit Lanport 2, ASmedia USB 3.0 controller, various SSDs and HDDs
The only problems I have run into is with various KVM switches not releasing my devices/transferring when jumping between different OSes. I recently got a Dell U3415W which has two USB 3.0 upstream ports and still waiting on getting my hands on a R9 Fury or Nano. Then I will be testing the upstream ports on this monitor to see if it will perform better than all these KVM switches I have been blowing through.

2 Likes

Here are my current and past configurations that worked:

  1. Linux around 3.10 (?) to 4.1 (current)
  2. Linux, W7, 8, 8.1 and 10. Using Linux 4.1 and Windows 10 now.
  3. KVM
  4. Supermicro X9SAE, X9SRL, X10SRL (current)
  5. PNY Quadro K600, PNY GTX 780, Renesas USB 3.0, LSI 9211-8i
  6. There are many... key here really is buying the right hardware
  7. Sapphire R9 285. It passes through fine, but doesn't reintialize correctly when restarting the VM. I also tried an older Mellanox infiniband card and it just did not want to pass through at all. I kept fighting but eventually the card won.
  8. I can recommend this card if passing a USB controller into a VM. It passes through flawlessly, works with generic drivers, and input devices on it work in the OVMF UEFI
1 Like
  1. Manjaro 0.8.13, kernel 4.1.2.
  2. Windows 7 SP1
  3. KVM
  4. ASUS M5A97 EVO v2
  5. Sapphire 260x (non-OC) using vfio-pci, only available for kernels >= 4.1. Pci-stub works too for isolating the card from the host, but you need to use scripts to bind the card to vfio-pci (like this one here: http://vfio.blogspot.ro/)
  6. I messed with AMD Overdrive, just checked and unchecked a few options, didn't apply any overclocking, and the guest would freeze after I logged in after that.
  7. EDIT: I just can't get any of the USB controllers or the sound card to pass through. I have not clue what that's about, I follow the exact same steps as with the GPU, and I made certain that they were claimed by vfio-pci.
  8. See my post here: https://forum.teksyndicate.com/t/gpu-passthrough-with-kvm-have-your-cake-and-eat-it-too/82250/200
1 Like

Host: Ubuntu Gnome 14.04

Guest: Windows 8.1 64bit

Method of madness: KVM with QEMU script

Mobo: ASRock Z170 Pro4

CPU: i5 6600k (2 Cores / 2 Threads for Host and Guest)

GPU: MSI R9 390 and Intel Onboard

Successful hardware pass-through'd: O2 Headphone DAC/AMP, Logitech G502 Proteus Core, Corsair K70 RGB, MSI R9 390

Experience while gaming in ultra settings @ 1080p 120hz with Witcher 3--magnificently amazing. GPU power is really where it's at, still! Perhaps I'll get some numbers when I find some time.

Issues:
- The motherboard only has 1 USB bus: which means, this set-up requires a PCI-e USB card to utilize a KVM switch, to alternate between guest and host;
- Corsair K70 RGB has terrible drivers and on Linux, the keyboard is very finicky--sometimes when the guest OS turns off, the keyboard doesn't come back online, despite it being on a KVM switch; and
- Can't seem to get a Focusrite 2i2 working on pass-through. I will likely hook it up to a USB hub and put it on the PCI-e USB card instead of passing it through by device ID in my QEMU script.

Notes
- This process requires a lot of attention to detail and perseverance;
- You need to know, that if this is your first time being enveloped by a Linux kernel, there is a slightly steep learning curve to get through;
- You need to continue pushing through being uncomfortable (similar to spiritual growth);
- Work on one thing at a time until you get the one thing working;
- If you find yourself jumping from one issue to another because you can't figure-out something imperative, it won't matter if you can get your VM turned-on--if you can't use your keyboard and mouse or another peripheral you need to have, the entire process is a waste of time;
- This is about being productive, learning, and having fun. If you're not productive at the end of your set-up, reevaluate your options; and
- Don't give up because "it's too hard"!

1 Like

Operating system (host): Debian 8.2 "Jessie"
Operating system (guest): Windows 10 Pro
Hypervisor (KVM, Zen, etc): KVM
CPU: i7 5820k
Motherboard: MSI x99s SLI PLUS
Successful devices: Radeon HD 7850 + usb devices
Devices/hardware you have tried that did not work: None
Additional: Added the ROM argument for the Radeon card, not sure if it helps or not.

1 Like

I thought the 78XX cards did not have a UEFI bios so you couldn't do this? I'm on a 7870 which I thought would be a problem (as well as my 2500k, but that can be also be upgraded).

You do not need UEFI to do the hardware pass through, any card can be isolated using pci-stub, but if the system is 100% UEFI compliant then it offers other avenues/advantages, on my system I had issues trying to use UEFI along with VFIO, but the basic configuration using only pci-stub worked for my setup and hardware.

In your case the 2500k is a deal breaker because it does not support VT-d and VT-x which is required for the Intel family of processors.

Fedora 22 (Kernel 4.0.4)
Windows 7/10
KVM (Virt-manager)
GA-z77x-D3H with i7-3770
Sapphire 7870 GHz
Host GPU was the intelHD one. Tried it with 2 dedicated GPUs.
MOBO has 3 PCIe lanes. First 2 (from top) always end up in same IOMMU-Group, thus not possible to use one for host and other one for guest.
3rd PCIe end up in different IOMMU-Group, but is kinda restricted to a one slot card, because PSU is right below it.
So if you want to drive more than 2 screens, try different MOBO. I couldn't get 3 screens to work unfortunately.

1 Like

I used "Seabios" not UEFI, and was able to passthrough the 7850 with no issues. I haven't tried UEFI on this card yet.

I also used a ROM image, not sure if that helped.

-device vfio-pci,host=03:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on,romfile=/root/Powercolor.HD7850.2048.140126.rom \

1 Like

Actually, come to find out my Powercolor Radeon HD 7850 does have UEFI. Could be the reference card doesn't have it, not sure, this is the only one I have.

Valid ROM signature found @0h, PCIR offset 214h
PCIR: type 0 (x86 PC-AT), vendor: 1002, device: 6819, class: 030000
PCIR: revision 0, vendor revision: f2b
Valid ROM signature found @10000h, PCIR offset 1ch
PCIR: type 3 (EFI), vendor: 1002, device: 6819, class: 030000
PCIR: revision 0, vendor revision: 0
EFI: Signature Valid, Subsystem: Boot, Machine: X64