GPU passthrough works pretty well these days, but anticheats will detect you running inside a VM. Evading anticheats detection is a separate issue unrelated with gpu passthrough, usually involves getting the vm to look like a real hardware as much as possible (e.g. using real mac address, hiding kvm hypervisor signature, etc). It's quite a deep rabbit hole and I haven't actually tried it.
Linux
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
For me it works very well,
see my comment here:
https://discuss.tchncs.de/comment/8950112
However I don't play anything with kernel based anti-cheat, so can't vouch for that
Looks like this would run Photoshop even better than my insane hacky wine setup too :')..
I guess a good followup would be, is there a tutorial for Fedora39 / Wayland / Nvidia that doesn't just inevitably nuke my system :)? I have an intel cpu/gpu in additional to my main card.
Also, if it's in pass-through mode, how would one set up the card for a game natively in Linux? (plenty of Steam games already run well on the card and I'm worried that this passthrough will run into issues of everything using the shitty intel gpu by default)
It does run Photoshop smoothly on my setup :)
Back when I did my setup,
there wasn't a clear guide on the matter though, and it was rather hard to setup.
If you're interested, I can link you all my bookmarks on the matter which I made back then though, however none of them were for Fedora / Nvidia specific.
For the pass-through mode,
I use VFIO (Virtual Function Input Output) with kernel / grub configurations, to always dedicate one of my 2 GPUs for the KVM (Kernel Virtual Machine).
You'd be looking for hot-plugging/hot-swapping your GPU instead, to un-attach your GPU from Linux and re-attach it to your Windows KVM when it boots.
Back when I was setting up my system, this was not possible on AMD yet due to a bug (Can't vouch for Nvidia or if the AMD bug is fixed by now though)
Please share them and any tips you found along the way! Would be great to have an easy way to use photoshop like this
Here you go, hope these sources will help :)
- https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF
- https://wiki.manjaro.org/index.php/Virt-manager
- https://mathiashueber.com/windows-virtual-machine-gpu-passthrough-ubuntu/
- https://mathiashueber.com/performance-tweaks-gaming-on-virtual-machines/
- https://iadw.in/how-to-set-up-bridge-networking-with-a-wireless-interface-in-kvm/
- https://gist.github.com/MaxXor/e24094f2b0624cf702f534f1a0dea0be
- https://github.com/bryansteiner/gpu-passthrough-tutorial
- https://github.com/gnif/LookingGlass
- https://github.com/debauchee/barrier
- https://gitlab.freedesktop.org/drm/amd/-/issues/1081#note_1332631
- https://safereddit.com/r/VFIO/comments/jwhoxx/confirmed_6800xt_no_reset_bug/
- https://safereddit.com/r/VFIO/comments/xdqw46/my_rx_6000_series_scripts/
- https://safereddit.com/r/VFIO/comments/q6bkml/help_cant_get_vm_to_perform_well_stuttering_amd/
- https://yewtu.be/watch?v=S6jQx4AJlFw
- https://manpages.ubuntu.com/manpages/jammy/en/man8/driverctl.8.html
- https://rtd.ditatompel.com/run-windows-11-tpm-and-secure-boot-on-kvm/
- https://blogs.nologin.es/rickyepoderi/index.php?/archives/87-Copy-n-Paste-in-KVM.html
- https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts-msi-tool.378044/
- https://safereddit.com/r/VFIO/comments/oriuiz/amd_ryzen_5900x_optimization_for_gaming/
- https://safereddit.com/r/VFIO/comments/o4t4gs/hyperv_nested_inside_kvm_with_amd_cpu/
- https://safereddit.com/r/VFIO/comments/ru4shi/ryzen_5000_series_hyperv_genshin/
Legend. Thanks! Down the rabbit hole I go.
Good luck! :)
I think this is useful if you have multiple GPUs (like iGPU from the CPU and a dedicated installed graphics card, possibly even another one). Then I imagine you access the dedicated "full" graphics card for gaming in the guest VM and your host OS can use the integrated graphics.
Even if you only had one GPU, i'm not sure why this would mess anything on other applications. It's the operating systems and graphics drivers job to not mess things up, by only accessing stuff it is supposed to. I mean you can even run multiple games at the same time on your host machine. So from that perspective, the VM becomes just another "game".
Disclaimer: I'm not an expert, just curious as you. And this is what I think. Not even sure if it explains anything at all.
I tried single gpu passthrough. In theory it should work that with some settings you unload the driver and give it to the vm and then back.
However I couldn't get working without ending on the login screen and starting a new session. So there waw no point for me if I can't keep my software running.
You need a GPU for the host, to passthrough another GPU to the VM.
You could use integrated gpu like intel cpu, and then a dedicated gpu passed through to the VM
You can "unplug" your unique/dedicated GPU to plug it into the VM upon VM startup. But it's a bit harder to manage. It's an option though 👌
Be careful with changing components after you redirect one, it'll change the IDs and mess things up. I tried once and the IDs kept changing so I gave up. I might try again some day when I'm feeling masochistic.
Is that the you know what kinda train this is kid from polar express?