Let me list out a few quick bullet points with key resources for Linux gaming. Don’t worry, I’ll go off the rails pretty soon anyway:
- ProtonDB is a database of user reports for Steam games, including what tweaks or workarounds were used to run them, and basic info on the user’s system like GPU, kernel version, distro, etc.
- Are We Anti-Cheat Yet? is a database keeping track of games that use anticheat and whether they work under Linux.
- ProtonPlus is a great program that can be used to install third-party compatibility tools in Steam. The main compatibility tool you’ll probably want is Proton-GE, but others that may be useful in some cases include Steam Tinker Launch, Boxtron, and Luxtorpeda.
- Protontricks is an app which makes it really easy to tinker with a Proton prefix if you need to, like installing an extra app in the prefix, modifying its registry, etc. More on prefixes down below.
I’ll collapse each section I discussed to reduce scrolling. I did, in fact, go off the rails and just kind of vomit information at you.
Steam, CS2, linux-native builds
An important thing to note for Steam is that any game which has a Linux-native build will prefer to run that automatically unless you manually force a compatibility tool in that game’s properties. In some cases, such as multiplayer Valve titles like CS2 that do have Linux builds, you don’t generally want to force Proton because Valve’s Anti-Cheat (VAC) is incompatible with it. Something to be aware of.
One way to tell if a game has a Linux-native build is by hitting the little i button in the library view of a game to show the game details, then looking at the line below “Steam Deck Compatibility”. If it mentions Steam Linux Runtime, it’s set to run a Linux version.
Wine / Proton
There aren’t too many fundamental things about Wine/Proton that I think everyone needs to know about, but one of them is the concept of the prefix, a windows-like folder structure that is presented to programs being run through Wine/Proton so it looks to those programs like they’re in a Windows environment.
Steam (and any Wine/Proton runner worth using) makes a unique prefix for each installed game. Generally, if you see a drive_c folder, you’re in a prefix folder, and inside drive_c you’ll find the usual Windows folders like Program Files, users, windows, etc.
Now, where this prefix actually goes depends on the wine/proton runner. Steam puts prefixes in [steamlibrary]/steamapps/compatdata with each prefix getting a folder named after the game’s AppID, while the actual games associated with those prefixes live in [steamlibrary]/steamapps/common and get more sensible folder names.
Programs like Lutris, Faugus Launcher, Heroic Games Launcher, or Bottles will by default install a game or program’s files inside the prefix they create for it. In my opinion, there’s no sense using Wine at the system level outside of runners like those. As long as you understand where the prefix is, how to run something in that prefix, how to configure the prefix, and how to pick what Proton/Wine version to use, you have everything you need, and these apps all make that pretty easy.
Again, for Steam, ProtonPlus is a great tool for all of those tasks. The other runners tend to have those tools built in.
NTFS / exFAT
It may not be relevant to your setup, but it’s worth noting that NTFS and exFAT are not well-supported on Linux. They’re somewhat usable if all you’re doing is storing basic files, but if you try to run anything executable off of them, especially games, you’ll have major problems both with functionality and file system integrity.
Windows VM
This is not really recommended for gaming on Linux. While you do have the necessary two GPUs, the existence of the Mux switch and being on a laptop can complicate setting up GPU passthrough. It’s a lot of effort when you could just dual-boot. Furthermore, any game with anticheat can tell immediately that it’s running in a VM and may ban you just for trying to run it that way.
For any random app that doesn’t need GPU acceleration but also doesn’t quite work in Wine, WinBoat is a very cool Windows emulator I’ve heard about that integrates well with the desktop.
Distro recommendation
You could consider Bazzite if you haven’t tried it yet. It has good documentation, the desktops are KDE and Gnome, and it has a lot of patches built in for Asus hardware, with included scripts for Asus / Nvidia / Mux stuff (ujust enable-supergfxctl and ujust configure-nvidia-optimus, and you can enable a repo to install asusctl and asusctl-rog-gui).
The Bazzite maintainers are in the process of updating it to the 6.19 kernel, and soon the base OS version to Fedora Atomic 44, so if you try it now and things are maybe a little wonky, things should be even better in a month.
Disclaimer: I’ve been on Bazzite for two years and had very little experience with Linux before then, so… I may be biased.
Anyway, hope some of this helps you a bit. Cheers and good luck!