Play games in Windows on Linux! PCI passthrough quick guide

Is there a version for Fedora 28? So far Fedora is the only OS to work on my 2400G and RX560 tester hardware for this.

The general steps are the same between distros, however, specifics differ depending on distro and version. For instance, you need to load the VFIO module early and pass it some PCI IDs to grab, but which config files you need to edit change depending on the distro and version.

Here are some resources-
Fedora docs on pci passthu
https://level1techs.com/article/ryzen-gpu-passthrough-setup-guide-fedora-26-windows-gaming-linux
Level1 Linux: Livestream (Setting up PCIe Passthrough on Fedora on X299 and Threadripper systems)

1 Like

I came across this post while googling, so I figured i would share a finding.

For those using the nvidia drivers(And wanting to use your IGPU for your host), you need to take an additional step to use Intel (power saving mode) in the nvidia server settings.

This program will make a request to the NVidia GPU, and it will be handed it after boot. By setting this setting to Intel, it disables the request for the graphics card.

Ok so I followed this guide and I must of missed something because when I try to “Begin installation” it give me this,


any suggestion?

Attempt renaming your windows install ISO or the paths to the ISO if they contain any special characters. Might work, this would be the best case scenario other fixes require some more tinkering from what I am finding so far.

ok that fixed that problem but now i get a new error and I think I know whats wrong i just dont know how to fix it,


assuming this means what i think it does, I saw that my host gpu was in the same iommu group as my guest gpu, but when i tried to run the acs patch i got lost and im definitely in over my head here

If the cards are in fact in the same group-
You could follow the above guide and build a patched kernel

You can switch to a distro that has ACS pre-patched kernels easily available. Arch, and other distros that support AUR such as Antergos have this package available. Ubuntu has this .

You can try moving one of the cards to a different PCIe slot if available.

You can try updating your UEFI, although it is not very likely to fix the groups.

You could buy a better motherboard.

1 Like

do i need the source and or the headers and, how do i apply them i cant figure that out for the life of me. Im using Ubuntu fyi

Download a kernel from the queuecumber site. You need to install the image and the headers. Install it with the terminal with

sudo dpkg -i PATH_TO_HEADERS.deb PATH_TO_IMAGE.deb

Protip, you can drag and drop the deb into the terminal to get the full path if you are lazy like me.

Reboot, and you will be booted into the ACSO kernel. Now you need to edit the grub config with the appropriate ACSO options, most likely:

pcie_acs_override=downstream

Then update grub.

1 Like

That fixed it but now im getting another error,

“Unable to complete install: ‘unsupported configuration: IDE controllers are unsupported for this qemu binary or machine type’”

Make sure you are using either SATA or VirtIO for your Virtual devices (disk, CDROM, NIC) instead of IDE devices. If you are using virtIO you need to get the drivers and mount them in a separate CDROM for the VM cause it needs special drivers to work.

I recommend using VirtIO but if you don’t wanna do the extra work, use virtualized SATA for now at least.

do i do that when setting up my vm? because im pretty sure i installed the virtio drivers already

You need to select VirtIO as the interface type for all your virtual devices that supports it and SATA or other standard Virtualized connection that they support instead. The cdrom does not support virtIO and needs to be SATA.

1 Like

Thanks its up and running now, well sort of im at a screen called uefi interactive shell v2.2?

You have to press a button when the machine is booting up. Also make sure the windows install media is mounted in a CDROM and that the system will boot on it. Make sure in boot settings that the CDROM is ticked.

does it have to be on a cd in a cdrom, i cant just run it from my desktop like i can in Virtual Box? Could i do it from a usb, if formatted it and made it bootalble. My desk doesnt have a cdrom and there’s not a easy way to implement on (aside from the fact i go buy a external one, which would still connect via usb)

No you mount the ISO in the virtual Cdrom for the VM.

Thankyou guys for all your help!!

wait its not seeing a drive to install windows on.

Update: found out i need to run my Disk drive as sata and not VirtIO.

If you had loaded the VirtIO driver disk in another vitrual CDROM you could have intalled the drivers for it in windows, and then it would see the virtIO disk. Anyways, good thing you finally got it to work. Have fun with your new windows slave machine.