Basically the title. I’ve only ever seen huge 20 page guides on how to make it work. Is there an easy way?
Specifically on Debian or Arch with a laptop with two gpus (zephyrus g14)
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 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.
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.
Vanguard (Valorant, LoL) detects a VM pretty easily.
Damn that really fucking sucks man :/
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.
There are many signs for software running in a VM to realize it does, especially if you want an easy setup. In theory you could mask that, in practice it would be very tedious, time consuming, and not perfect enough anyway.
@halfapage I’m saying from experience, nothing I could not get to run in a VM that ran in a physical machine.
You can absolutely run stuff on VM with approximately native performance and it’s not even that difficult to set up. I meant that it’s not easy to obscure fact of running inside a VM from programs such as anti-cheats, which seemed to be an original concern.
@halfapage Anti-cheats don’t generally care if they’re running in a vm as long as they can insert kernel drivers.
Maybe anti-cheat software does not care if it is running inside a VM, but online-multiplayer game developers do, and they will ban you for using a VM.
@PlasticPaperplane I’ve never been banned, but ok.
Does it have to be a VM? Is Steam or Lutris not an option?
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
Most anti-cheat doesn’t take kindly to running in a VM as well, so if that’s the reason it won’t work.
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.
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.
VMWare Workstation Pro is now free and I believe that it had GPU passthrough. Don’t take my word on that though. I haven’t used it in a few versions.