this post was submitted on 13 Nov 2024
53 points (96.5% liked)

Linux

48684 readers
385 users here now

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

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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)

all 42 comments
sorted by: hot top controversial new old
[–] variants@possumpat.io 23 points 1 month ago (1 children)

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

[–] nanook@friendica.eskimo.com 2 points 1 month ago (3 children)

@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.

[–] lord_ryvan@ttrpg.network 5 points 1 month ago (1 children)

At least MiHoyo's anti cheat detects and blocks VirtualBox VMs as well as Waydroid.

[–] nanook@friendica.eskimo.com 2 points 1 month ago

@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.

[–] Ptsf@lemmy.world 8 points 1 month ago (1 children)

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.

[–] nanook@friendica.eskimo.com 1 points 1 month ago (1 children)

@Ptsf @shapis I've primarily gamed from a virtual machine and have NEVER EVER been banned, so I don't think so.

[–] Ptsf@lemmy.world 4 points 1 month ago* (last edited 1 month ago) (1 children)

Depends on the game. Apex, Riot, ubisoft, and EA all ban vm players. A list of other companies do as well.

[–] nanook@friendica.eskimo.com 1 points 1 month ago (1 children)

@Ptsf Haven't played any of those. Anyway, there is a way to edit your xml to fake the machine id.

[–] brian@programming.dev 3 points 1 month ago (1 children)

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

[–] nanook@friendica.eskimo.com 0 points 1 month ago (1 children)

@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.

[–] brian@programming.dev 2 points 1 month ago (1 children)

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.

[–] nanook@friendica.eskimo.com 1 points 1 month ago (1 children)

@brian Ok, just for kicks tell me where I can get this.

[–] brian@programming.dev 1 points 1 month ago (1 children)

I've never used it but this one seems like the most complete currently, and it'll tell you which tests fail.

[–] nanook@friendica.eskimo.com 1 points 1 month ago (1 children)

@brian I have used it and with flyff at least the performance was far insuperior to kvm/qemu.

[–] Sheldan@mander.xyz 1 points 1 month ago (1 children)

The most random mention of Flyff I have seen yet, as long as you mean the game.

[–] nanook@friendica.eskimo.com 2 points 1 month ago

@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.

[–] nanook@friendica.eskimo.com 8 points 1 month ago (1 children)

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.

[–] shapis@lemmy.ml 7 points 1 month ago (2 children)

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.

[–] walthervonstolzing@lemmy.ml 5 points 1 month ago (1 children)

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.

[–] nanook@friendica.eskimo.com 4 points 1 month ago (1 children)

@walthervonstolzing @shapis I personally use kvm/qemu but whatever works for you.

[–] atzanteol@sh.itjust.works 3 points 1 month ago

That's all proxmox does too, just provides a gui and management tools.

[–] nanook@friendica.eskimo.com 4 points 1 month ago

@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.

[–] antsu@lemmy.wtf 7 points 1 month ago

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.

[–] xtapa@discuss.tchncs.de 6 points 1 month ago (1 children)

Does it have to be a VM? Is Steam or Lutris not an option?

[–] nanook@friendica.eskimo.com 2 points 1 month ago (2 children)

@xtapa @shapis Lutris is just wine, so any game using a kernel anti-cheat won't work under Lutris. And most of the games I play aren't steam so it does me little good personally, and many of the steam games I have tried don't work on Linux in spite of steam being installed.

[–] Thorry84@feddit.nl 8 points 1 month ago

Most anti-cheat doesn't take kindly to running in a VM as well, so if that's the reason it won't work.

[–] brian@programming.dev 1 points 1 month ago

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

[–] JoMiran@lemmy.ml 2 points 1 month ago (1 children)

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.

[–] nanook@friendica.eskimo.com 3 points 1 month ago* (last edited 1 month ago)

@JoMiran @shapis CPU pass through isn't JUST the function of the hypervisor, the host os, guest os, gpu drivers, and uefi bios ALL play a role.

[–] Presi300@lemmy.world 1 points 1 month ago* (last edited 1 month ago)

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

[–] nanook@friendica.eskimo.com 1 points 1 month ago

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.

[–] blobjim@hexbear.net 1 points 1 month ago* (last edited 1 month ago) (1 children)

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.

[–] nanook@friendica.eskimo.com 2 points 1 month ago

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.