Keep an eye out for games supported on Proton (Steam's Wine facilitation) on protondb.com. In a mere five years gaming on Linux went from a solid selection of native games, to those, plus an impressive amount of high profile titles that just work out of the box (often with better performance on Linux).
Of course there may be one or two titles that tie you to Windows, or perhaps multiplayer specific gaming related software, but if you are flexible in that regard gaming on Linux is just… good.
My biggest pain point is that some of the mainstream multiplayer anticheat implementations don't work on wine. I'd like to be able to play Tarkov or Hunt or Apex on Linux, but I can't. So far, I have just not played those titles, even though I really want to. I don't really want to have to dual boot just to play them, because Windows 10 messes up my EFI booting. I used to run Windows with a GPU passthrough, but I stopped doing that once proton came along. Maybe I'll look at doing that again, though it was hell to set up on Gentoo at the time. Maybe other distros have smoothed that out a bit? It's been like 6 years since I did it the last time.
I know the wine guys have been doing great work trying to get anticheats working in wine/proton. Hopefully that progresses well. Getting anticheat to work in wine would really be the best.
It's gotten much easier with Nvidia cards thanks to VM gaming being officially supported. No more hiding the VM and that Error 47 nonsense.
Basically you bind the graphics card to the vfio driver by writing the PCI ID to /sys/bus/pci/drivers/vfio-pci/new_id and then you can use it in qemu with -device vfio-pci,host=01:00.0.
If you have sane IOMMU groups and have an extra GPU for the host it should work with just those two steps. You still have to decide about how you handle input and output, but that's very user specific. Virtual input over the qemu GUI works well enough, there's also an evdev thing that lets you switch by pressing both Ctrl keys, or pass an entire USB controller. For audio I recommend scream[1] for the lowest latency (I get 2ms VM->PA->Speaker with MuQSS scheduler) with full 7.1 audio and if you don't want a dedicated monitor or switch monitor inputs there is Looking Glass[2] which captures frames and shuffles them to the host over shared memory. It also handles input via spice.
It's still a bit of work, but for me that's mostly on the Windows side rather than the passthrough stuff itself.
Thanks for the info. I appreciate that you took the time to write this. I think I will check out vfio passthrough again.
Something like Looking Glass looks cool. I definitely disliked having to switch monitor inputs back and forth every time, though that was just more of an annoyance than anything else, of course.
I ran Manjaro for about half a year recently, including using it for gaming. Very few games actually worked out of the box for me, including games with so called "native" Linux support.
I ran into multiple games with "official" Linux support that were simply broken or became broken by an update. Some of those that weren't broken had significant performance issues (that Windows on the same machine didn't have).
Is it possible to game on Linux? Yes. But at the very least it requires fiddling. As much as I love Linux, gaming is just a lot easier on Windows.
Many Linux games are only tested on Ubuntu. I personally haven't had more issues running Linux native games on Ubuntu than Windows native games on Windows.
Playing games on Windows often requires fiddling as well. Either having to lock the mouse to one monitor, fiddling with V-sync and FPS limits (often only possible through graphics card drivers, launch arguments or text config files), disabling Windows malware scanning, fiddling with Windows compatibility settings for older games, ...
Admittedly I now dual-boot to Windows to play videogames, but that's not because of faults in native Linux games, just the reduced selection.
It's possible that some of the issues I ran into were due to Manjaro not being Ubuntu, but they could also have been due to drivers or some random setting somewhere in the system.
Plenty of people on protondb reported zero issues with the same games on their Manjaro/Arch boxes.
> Playing games on Windows often requires fiddling as well. Either having to lock the mouse to one monitor, fiddling with V-sync and FPS limits (often only possible through graphics card drivers, launch arguments or text config files), disabling Windows malware scanning, fiddling with Windows compatibility settings for older games
Maybe it's the type of games I play, but this is extremely rare in my experience. I don't remember the last time I had to fiddle with anything outside the game's own settings despite having a multi-monitor setup.
The annoying bit with those is that they are Steam only. I try to avoid Steam and instead buy from GOG because they are DRM-free and i keep offline copies of all of my games, but Wine still (just tried yesterday the version Void Linux installs in a VM) seems to have issues even with slightly older games.
There used to be a way to run Proton outside of Steam but i think it is now discouraged.
It's not impossible to run gog games through the proton compatibility layer of steam. In short:
1. Download gog install files into the same directory
2. Add the install executable as a non-steam game, and enable proton compatibility before starting it up.
3. Run the installer and complete the installation. Gog installers typically give the option to run the game from the installer, but that will only work once.
4. Find the path of the installed game, and the working directory of that executable by searching in ~/.steam
5. Edit the entry created from 2. with this exec path and working dir, and look up possible args from protondb.com
In that case, please give Lutris a solid look. It's a great app that eases the pain of installing games via WINE (and makes it easy to install particular versions of WINE on a per game basis).
Regarding screen tearing and trackpad issues, these are largely gone. Wayland has more or less solved the screen tearing issue and I have yet to encounter a poor trackpad experience using a modern machine, in my case an XPS 15 9570.
Neither of these issues have been resolved by Wayland on my modern Thinkpad 490. There is still awful screen tearing when watching videos and trackpad multitouch gesture support is still a mess on Linux. Gnome 40 added some gestures for navigating the desktop but beyond that the situation is horrible.
Screen tearing isn’t gone, unfortunately. Watching videos on my Linux machine is a pain. I use a Lenovo T460s and I’ve spent too much time looking for a solution (more then an hour). I like the freedom of a Linux OS (i3m is cool) but it looks so bad compared to MacOS.
I know about those solutions, and it works for me on sway in general. But is was not a simple out-of-the-box experience you have with X11.
And there are still multiple issues: For instance with X11 you can select a specific window. I have not found a way to do this in with a wayland compositor yet.
It's funny, I've been using Linux pretty much my entire adult life, and out of the issues you've pointed out, the only ones I've experienced have been with Windows; always reminds me to do a full wipe, not a dual boot.