Play games in Windows on Linux! PCI passthrough quick guide

I wasn’t really considering SLI, so no problem with that.

The IOMMU separation with this board is pretty great (Asus Z9PE-D16/2L) https://pastebin.com/0AQZdy7A

The dual socket thing being an issue was sort of at the back of my mind. I remember seeing something NUMA-related in the BIOS. Both graphics cards are connected to a single processor (CPU1). I’ll do a bit of research on passthrough on dual proc systems.

Finally got the cards to be assigned to the vfio-pci driver. Honestly don’t really know how. I changed the motherboard out because I didn’t trust it (there were some bent pins in socket 1). Who knows, that board may have some issues.

Anyway, now I need to set up a couple ZFS pools for the VM storage, then I’ll try assigning the cards to a couple VMs.

1 Like

The motherboard is a big factor in PCI passthrough.

Even with the same CPU the motherboard can change the requirements for ACS or iommu grouping.

The replacement board is identical to the board I swapped out. Fresh from Asus RMA, new old stock. Same memory and processors. It was very strange.

I’m just glad it seems to be working.

nice glad it worked out

this. improper IOMMU isolation or uefi bugs can give you the runaround for sure.

if only you didn’t have to do all this…

Been digging around lately, seems like it may be possible to pass through MUXed & MUXless dGPUs for notebook PCs like the MSI GS73VR-7RF. definately need to uninstall my nvidia drivers on ubuntu because of some issues with prime-select.

i have the same issue with q35 system

I’ve got this setup working on a Ryzen 7 1700 system with a 1050 Ti (host) and RX 580 (Win10 guest), but performance isn’t so hot in some games. Firestrike and Time Spy perform to within 10% of native performance, but Assassin’s Creed Origins is taking a 33% performance hit and running Divinity Original Sin II is averaging about 30 fps on 1080p/Ultra.

I also wanted to try Steam streaming from guest to host, but AMD hardware encoding is garbage and software encoding is giving me a huge performance hit.

Any suggestions for performance tuning? I do have a GTX 970 I could assign to the guest VM, but it takes some effort to get working (thanks, Nvidia.) :poop:.

I had this working in the past, but I had to reinstall everything a couple weeks ago and now my processor in the vm is just pitiful. I have an i7-7700k with 6 cores devoted to the vm, and a lot of games wont even load. Anybody ever see something like this?

If anyone runs across this, it was because I was running on a non-core windows home licenece. Upgraded to pro and now everything works. (Well, everything but the audio, but I’m working on that!)

I am stuck. I used this guide to try pci-passthrough and all is ok until I use

lspci -k

42:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Juniper XT [Radeon HD 6770]
Subsystem: Hightech Information System Ltd. Juniper XT [Radeon HD 6770]
Kernel driver in use: radeon
Kernel modules: radeon
42:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Juniper HDMI Audio [Radeon HD 5700 Series]
Subsystem: Hightech Information System Ltd. Juniper HDMI Audio [Radeon HD 5700 Series]
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel

My HDMI audio device is linked to vfio-pci kernel driver.
But the VGA is used by Radeon.

This is my first attempt in doing this.
I am using Ubuntu 18.04
The kernel is 4.15.0-23-generic
I am using a hp z800 workstation. My main card is an nvidia gtx960 and i want to pass through an ATI HD 6770.

Try using the article linked below because it is based on Ubuntu. This article is using Debian Stretch, while Ubuntu 18.04 is Debian Buster with modifications.

https://forum.level1techs.com/t/ubuntu-17-04-vfio-pcie-passthrough-kernel-update-4-14-rc1/119639

These posts might also help- gpu-passthrough-not-working-on-ubuntu-18-04

Just tried the GPU passthrough on my MSI X58 Pro-E with X5660 and 48GB RAM: works fine with the “options vfio_iommu_type1 allow_unsafe_interrupts=1” with my GTX760 on Debian 9.

Thank you very much!

I have read through the instructions you showed me and I have decided to switch to Debian Strech.
So now my attempt with Debian Strech was flawlessly.

Thanks for these instruction.
Now I am thinking of a better GPU for the VM
But for now it works great.

I am searching for a way to pass through a hard-disk.

I will honestly just put Windows on a secondary computer and play using Steam In-Home Streaming to my Linux computer. If you have a secondary computer I think that’s the way to go.

Please let me know how that goes, because I didn’t think Steam home streaming would allow launching windows games on a Linux machine, even though it would be running on a Windows box.
Am I wrong? Has it worked all this time?

yes, it works… was using a win box in my server rack to stream to my razer core w/ razer laptop. it was cool at first but the experience wasn’t the best. thats why im going to try this route and just build a new system.

1 Like

What the other guy said and yeah you gotta have good computers to do it and have a good experience so it’s the expensive route but if you’re good with that, I think it’s also the easiest route.