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.
Operating system (host)
Operating system (guest)
Hypervisor (KVM, Zen, etc)
Motherboard
Successful devices that you have passed through to the guest
Issues or problems you had and how you solved them
Devices/hardware you have tried that did not work, and if you know why it didn't work please explain.
Any other information you want to share that may help others create a successful PCI Passthrough.
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.
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.
There are many... key here really is buying the right hardware
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.
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
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/)
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.
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.
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"!
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.
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.
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