Single GPU isn't substantially harder than 2GPU pass through, that is what I have done, but it does require support by the UEFI bios and the GPU and not all support 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
It's not... easy but it's also not 20 pages difficult, unless you wanna do sinlge GPU passtrough, then that's black magic.
Here is the guide I used when setting it up
This along with the arch wiki's page on GPU passtrough should be enough to get you setup
E: Pro tip - pay close attention to section 2.3 Gotchas in the arch wiki, this sh!t had me stuck for a while on my system
If there's a game that doesn't work on Linux because of anti or something it probably won't work in a vm either so dual booting would probably be the way to go to avoid that
@variants @shapis Not true, a root-kit will break it in wine because wine is just translating windows sys calls into Linux sys calls, but a vm is actually running a windows kernel, then the root kit anti-cheat works fine. With GPU pass through, I have found no games that work under Windows won't also work within the VM.
At least MiHoyo's anti cheat detects and blocks VirtualBox VMs as well as Waydroid.
@lord_ryvan Interesting, haven't played that game so no experience with it. VirtualBox does do some things a bit differently, I was not able to get flyff to run it well, it runs but at about 3fps, where as it runs normally in kvm/qemu.
I used the Arch instructions on Ubuntu 22.04 wiki.archlinux.org/title/PCI_p… and it worked, but broke on 24.04 owing to broken UEFI bios on 24.04.
Indeed. That’s the opposite of what I’m looking for though. That’s complicated and apparently breaks ?
I’m currently dual booting. Which works fine. I was wondering if there was an easier way though.
With Proxmox on AMD gpus, it can be as simple as picking a pci device from a dropdown.
-- but then again, you'll need to learn how to properly use proxmox, esp. with respect to storage configuration. Also, the performance can still suffer, depending on various factors.
If it's not too big of an inconvenience, dual boot is the way to go, IMHO.
@walthervonstolzing @shapis I personally use kvm/qemu but whatever works for you.
That's all proxmox does too, just provides a gui and management tools.
@shapis It's complicated to setup but once done works wonderfully, you can share one GPU between OS's in real time, even have one windows window up along with Linux at the same time. So I'm temporarily fuxored but I already have a plan for a fix and that is simply to steal the UEFI vm bios from Manjaro which does work and use it on Ubuntu.
Easy way to get yourself banned in online games just an FYI. Most online games will detect and ban virtual machines now since they've become commonplace in cheat/hack communities.
Depends on the game. Apex, Riot, ubisoft, and EA all ban vm players. A list of other companies do as well.
@Ptsf Haven't played any of those. Anyway, there is a way to edit your xml to fake the machine id.
machine id isn't necessarily the important part. anticheat and vm detection check a lot of different heuristics incl hard to defend against things like timing attacks on particular cpu instructions. there's a handful of open source versions if you're curious
@brian To be honest, until and unless it becomes a problem for me, not really. KVM has the host CPU executing the VM instructions so timing on CPU instructions should product identical results. I have the VM setup as CPU and GPU pass through.
even with cpu passthrough some things are still emulated. you can run a vm detector and see for yourself what tests fail.
it may not affect your games but others should still be careful since it is a real issue, and people do get banned for it.
@brian Ok, just for kicks tell me where I can get this.
I've never used it but this one seems like the most complete currently, and it'll tell you which tests fail.
@brian I have used it and with flyff at least the performance was far insuperior to kvm/qemu.
The most random mention of Flyff I have seen yet, as long as you mean the game.
@Sheldan Yes I am referring to the game, back when I had tried on vmware it was still the main commercial one that I was playing, I have since moved to Insanity Flyff. One of those minor continuities in my life.
I have the 2020 G14 and I got this working once. I'm afraid easy and simple are not a thing here, as you need to understand what you're doing if you want it to work well. The basics are:
- Prevent the host system from loading any drivers that touch the discrete GPU. This is done by attaching it to the VFIO driver and uninstalling/blacklisting the Nvidia and Nouveau drivers.
- Make sure you have the correct kernel parameters to support virtualisation and PCI-e passthrough.
- Create a Windows VM and attach the Nvidia GPU to it.
- Setup Looking Glass so you can play with the best possible latency. This will likely require a dummy USB-C display stick.
Personally, I don't think it's worth the hassle. I keep a Windows install for when it's needed, and do most of my gaming on a separate system.
Does it have to be a VM? Is Steam or Lutris not an option?
Most anti-cheat doesn't take kindly to running in a VM as well, so if that's the reason it won't work.
proton has support for quite a few kernel level anti cheat now, although it has to be explicitly allowed by the dev. needs to be run via steam I think, but you can add non steam games if you got them elsewhere
I also don't know if there's any Linux program that will automatically do the configuration for you.
It seems like it would be pretty complex since I guess you need to disable the linux host from using the GPU, and do PCI passthrough in a VM that has Windows installed.
And there's still the problem of the graphics needing to move around the system in order to get to the display instead of the display being directly connected to the GPU.
Seems like a pretty cool thing that would be neat to have a nice automated GUI solution for.
I was just looking at, seems like it's difficult but not impossible https://www.youtube.com/watch?v=eTWf5D092VY
I'm in the same boat that it seems too difficult (and I bet the performance still isn't near native).
I just dual boot and boot into Windows if I'm going to play a game.
It seems like it would be pretty complex since I guess you need to disable the linux host from using the GPU, and do PCI passthrough in a VM that has Windows installed.@blobjim @shapis
This is all addressed by the Linux kernel and xml code specifying it for the VM.
And there's still the problem of the graphics needing to move around the system in order to get to the display instead of the display being directly connected to the GPU.
Again handled by the kernel and qemu, just requires a bit of XML code in the vm description. Not a big deal.