Ryzen GPU Passthrough Setup Guide: Fedora 26 + Windows Gaming on Linux | Level One Techs

In my opinion game devs for most part don't give a shit about Linux community if any and at all til end of development. It sucks but it is what it is. Linux probably won't succeed til Vulkan takes over as overall or windows ceases to exist as a whole with new os updates and systems. I love Linux and everything about it but mass consumer is still on the windows band wagon. Microsoft won the marketing wars a long time ago and their foothold is still very strong. You have to remember true tech people are the minority against mass consumer. At the end of day the money talks not what is the best or what's right and that holds true in almost every single industry.

1 Like

Yeah I got that and that's my entire point. Money talks...we could opt for alternatives with our software and just outright not play games that don't run on Linux which will affect the pocket books of devs. Yeah it won't be by that much but that isn't the point. That's why I don't believe in wine and don't believe in virtualization(for this use case).

I suppose I am a bit more pragmatic and see things a bit differently.

I sort of see windows and windows related whatever as a sunk cost. It also has inertia. It won't change overnight. So imagine someone happens across some dBase III files. An hilariously ancient database program for dos at the dawn of personal computing. Is it non a Sisyphean task to ask some developer to have to deal with that file format? When you could probably wrap the routines or part of the program in an emulation layer or wrapper or something and deal with it that way? Who wants to write or rewrite old ioctls for dos?

So when you start thinking about programs, all programs, as sort of fleeting in this larger longer timeline context then fretting about os becomes sort of pedantic. FreeBSD may take over in a way linux could in 5 or 10 years time.. I'll happily run my old programs in some sort of wrapper or emulation later.

To me because I see it a bit differently, it is a bit like being upset about people still buying playstations to play old playstation games. Thats fine for them. I can also enjoy my emulator. Yeah, the emulation is not as "true" as the real thing, but it is good enough.

Because things are exponentially complex now I think we'll see (whether software companies want it or not) apps being wrapped up in containers as sort of the norm. Who wants to maintain a program for 10 years? games? etc. We already see it with good old games -- way less work to "port" games by just wrapping them up than trying to deal with it.

Exceptions might be some software where they have really well documented standardized fileformats (see also ID's .wad format, SCUMM from the LucasArts games, Vulcan API games, etc) but for the most part dealing with that in hardware is being made easier to the point that we will see tech like sr-iov for anything that doesnt fit well in software hand-off. Probably even in handheld devices eventually.

6 Likes

I guess I just see the OS as a platform and feel like containers/VMs are just a way of doing lazy and less efficient cross platforming and I don't really like that idea. That being said I do understand your point of view. I also am not a huge fan of having Windows as a requirement to run my software. In that regard I do prefer wine(at least it's FOSS) but I'd rather just leave them out of the equation all together.

Slightly OT: Unless my memory is playing tricks on me, in the video you mentioned working on a guide for gpu passthrough on Qubes as well. Assuming you mean 3.2, that'll probably require one or more backports to Xen 4.6, as Carrizo (and newer) CPUs come with a few changes to iommu (at the time I first looked into this for my x4 845, I ran across this patch that would probably have added working iommu support: https://patchwork.kernel.org/patch/9145119/ ; I don't know if there have been additional changes for Ryzen).

Yeah that's where the part of we are a small minority to mass consumer. If all of us boycotted games that didn't run on Linux we still prob would not dent their sales enough for them to put Linux on the forefront.

I totally agree. Windows is that thing you look back on and say man what was I ever thinking using that

4 Likes

You're not wrong but I don't think you're right either. Just because we can't make a difference doesn't mean we shouldn't try and even if we can't make a difference I'm not sure that means we should just accept windows as part of a complete computing experience.

Even on the PC platform, we feel like we get ripped off when game console's are the primary platform for game development and we get some "BS" port - So I can understand what Linux people feel like...

Realistically game development ROI for larger studios in the highest order would be something like Console, PC, Android/IOS (a freemium style game), Mac, and then Linux. There is no business sense to develop for Linux unless you're developing enterprise software (which does make good money). I think we all know this.

I think it's really not worth losing sleep over games not being built for Linux when you have such great options for virtualisation now, that run at very close to native speeds. I know it's not the "righteous" way of doing it, but it get's it done, as Wendell said.

I guess it's a decision about where you would rather spend your energy;

A) "Fighting for Linux"
B) Installing a Windows VM and playing games

I'd rather play games.

Preach !!!!! +100000000

Flatpak games in the future

Quite so. Just create a bare-bones Windows template that is only updated with security fixes, then create a disposable instance (semi-persistent if so desired) in which you can install games or whatever until done playing said game, then destroy and restart. So long as you don't browse in it, your privacy is ensured, and the chance for (escalating) infections is pretty minimal. Don't see all that much of a difference between that and running wine/mono, except when it comes to installation size. Biggest problem I'm encountering so far is that programs and games distribute files across multiple locations, including /users, which is really quite annoying.

Oh we can all try I just know we aren't gonna make enough difference. There has to be something that Microsoft does that pisses or turns off the mass consumer. Which will be quite difficult. Kind of like people bitching about apple way of doing things or their update ui change and they bitch bitch bitch but same people standing in line to get the next one. Again i would love for Linux to take a larger market share in the mass consumer everyday computing market. It can but again something has to happen that Microsoft does, it probably won't be us voting with our wallets. But we could be there to show business and consumers a different way when Microsoft does have that royal screw up.

Yeah I know we probably won't make a difference but I still think we should try and tbh the feeling of running windows even in a VM is not worth having the remaining 26% of steam library.

I don't know about you but all the games I play are not part of steam, so I have to run Windows in a VM.

I play non steam games as well. Those are included in that number as I add all my non steam games to steam as non steam games. And you don't have to run windows you choose to.

Can you passthrough S/PDIF to the virtual machine? For those who use external hardware for sound, hooking it up via S/PDIF (one seperate digital 'line' dedicated to the sound device) gives a better quality than hooking it up to USB.

One more quesiton related to the video. I can program a bit in C/C++ but I don't fully understand this code.
for d in /sys/kernel/iommu_groups/*/devices/*; do
n=${d#/iommu_groups/}; n=${n%%/*}

I know that ${} points out a variable but I am not used to a for loop being used in this way (d in a path?) and I don't konw what $ and n%%/ does.

Hello everyone,
I followed this guide to set up a virtual machine for windows gaming. Currently I am stuck trying to start the VM.
My VM says "no bootable device". Now I am not sure about the sata passthroug.

So, from the start:
I am running fedora 26 beta on an ryzen 5 1600, Mainboard: Asus prime x370 pro (Bios Ver. 0803 [edit2: updated to 0805 with Agesa).
The iommu groups seem to allow sata passthrough like AsRock Taichi. I've added the following components as ids in vfio.conf:
IOMMU Group 12 28:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107 [GeForce GTX 1050 Ti] [10de:1c82] (rev a1)
IOMMU Group 12 28:00.1 Audio device [0403]: NVIDIA Corporation GP107GL High Definition Audio Controller [10de:0fb9] (rev a1)
IOMMU Group 11 03:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b9] (rev 02)
IOMMU Group 11 03:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b5] (rev 02)
IOMMU Group 11 03:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43b0] (rev 02)
(I can post the full iommu groups if necessary)

As suggested here, I first installed Win10 to a separate drive (hdd, 'dev/sdd'), reattached everything, modified the vm xml file to add the disk as storage device. But when I try to boot the VM it says "no bootable device."

Can anyone confirm sata passthrough is possible with my board? I'd appreciate any help.

edit: there is of course another iommu entry for the sata controller:
IOMMU Group 8 2b:00.2 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)

Try without sata pass through first by editing the config and using /dev/sdwhatever.

Then also try using the GUI to pass through the pcie device with the data drive attached to a different controller so that you can be sure the VM has the drivers for the passed through controller.

Then reattach the drive to the pass through controller

Do I have to rerun dracut after every modification in vfio.conf?

I think so