So, let's consider this a part 2 to my previous thread. I wanted to make this thread both to show how far Linux has come, and how even simple things can still be very annoying. I'll start with a TLDR, then I'll get into the specifics.
TLDR: What works, works well. Most things work. Some things are a pain in the ass to tweak. Linux continues to be Linux and it's still not ready for the mainstream, but might be worth a shot for people who like tinkering and don't necessarily need to play AAA titles day one. Also, esports/online multiplayer titles mostly work great, except those that use easy anti-cheat which is a needless bane on a lot of games.
So that summary out of the way, let's first start by reiterating that I'm not new to Linux. Once every other year or so I get fed up enough with Windows, that I burn it to the ground and start afresh. So I do have some experience and thus this is not a total noobs guide to gaming on linux. That said, I will be giving links to what information I used each step of the way, and supplementing it with things I figured out or that were omitted along the way.
First the OS: Despite the general rule of thumb for gamers to use Arch or PopOS or Manjaro, I stuck with my tried and true favorite, Linux Mint. The reason why is simple... It's a great, all around flavor of linux, it being a very popular distro it's incredibly well supported, and it's so close to Ubuntu in function that even when there isn't anything specifically to be found for Mint, Ubuntu support almost always fills in the gap very nicely.
If you've never installed your own OS before, the process itself is really simple. It takes more time to figure out how to make a bootable USB than it does to install. In that regard, Balena Etcher is probably the easiest and most straight forward.
Dual booting Linux can be a pain, but luckily for me I was completely deleting windows, so my SSD got a nice clean wipe. I didn't bother reformatting my secondary drive since it had a lot of stuff I wanted to keep... This would become an issue later, but I'll get to that.
If you've never installed an OS before, messing with a bios can be intimidating, especially if it doesn't have a quick boot manager, or you've never used it before so you have to do research how to access it.
So, a fresh install of Linux Mint, what do you do now? Installing the bare minimum necessary software of course!
Nvidia requiring proprietary drivers tends to be a tad more painful than AMD, but that's what I had to work with on this system. Instructions I used are here.
If you've never worked with Linux before, the terminal can be daunting, but once you realize that 99/100 times you're going to need to use it for gaming, you're going to be copying and pasting someone else's work it gets a lot easier.
The next two things we need to install are steam, for obvious reasons, and Lutris (basically for every non-steam windows game). Depending on your library, you may not need the former.
Both follow similar setups to installing the drivers, only even more simple. For steam (2 lines copied into terminal) and Lutris (5 lines copied, skipping the driver step)
At this point, terminal should be getting a lot less scary, and at this point things are setup and you can play games. A quick rundown of the games I installed, which platform
So now for something a little different, I'm going to go through each game I've played in the last month, what I had to do to get it working beyond those basic steps above, and not only how difficult it was, but also how much time was consumed.
Starting with Lutris, since I had fewer non-steam games.
Heroes of the Storm, Hearthstone, and Overwatch: These were all grouped together because I only had to setup 1 (Heroes) in Lutris, and all 3 other games worked flawlessly from that setup. It was as one click as you can get. THAT SAID all three games suffered from shader compiler issues. In short, the first 30-60 minutes of each game was rough with heavy stuttering until the game had a large enough shader cache. After that, all of the games ran as-if native. (Difficulty 0/5, Time 1/5) (play time is shared amongst 3 games between my wife and I)
Final Fantasy 14: This one was a lot rougher, for some reason the game refused to completely download without being baby sit. Every 5 GB or so, the download would stall, and the launcher would lock up. Restarting the launcher resumed where the download left off, and eventually the game finished downloading. DX9 mode ran flawlessly, but DX11 mode kept crashing. I spend 40 minutes tracing the issue to having HBAO enabled. Once disabled, DX11 also ran flawlessly. (Difficulty 1/5, Time 3/5)
Onto steam. First you do have to manually set in the settings that you want to use SteamPlay (Valve's implementation of windows-on-linux) for all titles, not just approved ones. Not a huge deal, but worth noting.
Void Bastards: Worked flawlessly, played all the way through. No stuttering, no extra config. Total playtime 11.9 hours.
Civilizations 6: Runs native on linux, no compatibility layer non-sense, runs perfectly to the surprise of no one. 5 hours.
Sonic Forces: Wanted to test this on a whim, works perfect though I hear there is flickering on AMD hardware right now. Playtime, 44 minutes
Soviet Jump Game: Another quick test, but turned into a few decent play sessions. No issues, 71 minutes.
Spiritfarer demo: Another native game, plays perfect, total playtime 30 minutes.
Wargroove: Requires a runtime tweak that removes the opening cinematic. Annoying, but a simple fix. Difficulty 1/5, 10 minutes of play
Final Fantasy XV, windows edition: This was the first "difficult" game to get running. First off, a call back to earlier in the thread about how I left my secondary big drive as NTFS. This is NOT recommended, but I didn't want to have to clear things off and put them back and this came back to bite me. See, depending on how Linux mounts your NTFS drive, Steam may throw a fit and refuse to load any games. This wasn't an issue with Lutris on big games, but it was here. So first thing I had to do was fix that.
Second, FFXV requires a custom version of Proton to work known as Glorious Eggroll. Not super complicated to get working, but it is another step to have to deal with. After all that, it will run, and it is playable, but it does occasionally go into stutter fits that makes it less than ideal. Difficulty 2/5 (the NTFS on the old hard drive is technically an OS annoyance so I can't fault it for that, but the GE proton is another hassle altogether). Total time 2 hours.
Grounded: This game was also frustrating but not for the same reasons. Looking at protonDB the fix to get it working seems simple. One line of code... but it requires installing another program called Protontricks which itseslf required another program to install. Once that was installed, you'd think it'd be easy to get up and running right? While the entire protonDB vouched for the validity of the fix, what they didn't tell you is that the fix takes 3 hours to download and install dotnet 4.72. Mind you, Grounded is a 3GB download, and took 5 minutes on my internet, so I spent less than 5% of the time it took to get this up and running actually downloading the game.
Once you get through all that though, the game runs flawlessly. Took extra steps to disable the blur (editing the engine.ini) because the in-game motion blur setting doesn't seem to do anything. Difficulty 2.5/5, time played 16.6 hours.
No doubt, hardcore PC gamers are going to rightfully point out that my use case and games tends towards older and non-AAA and that's absolutely fair. The newest game I've played this last month was grounded which, while aesthetically very stunning, is hardly the most complex or demanding game. I would definitely not recommend gaming on linux to day-1 PC gamers, though a lot of games get work arounds (Death Stranding being a good recent example) it's an absolute crap shoot.
That said, if you mostly play indies or MOBAs or other online competitive games (caveat being they don't use Easy Anti-cheat) it works surprisingly well. Even newer ones like Fall Guys were supported pretty much out of the gate.
TLDR: What works, works well. Most things work. Some things are a pain in the ass to tweak. Linux continues to be Linux and it's still not ready for the mainstream, but might be worth a shot for people who like tinkering and don't necessarily need to play AAA titles day one. Also, esports/online multiplayer titles mostly work great, except those that use easy anti-cheat which is a needless bane on a lot of games.
So that summary out of the way, let's first start by reiterating that I'm not new to Linux. Once every other year or so I get fed up enough with Windows, that I burn it to the ground and start afresh. So I do have some experience and thus this is not a total noobs guide to gaming on linux. That said, I will be giving links to what information I used each step of the way, and supplementing it with things I figured out or that were omitted along the way.
First the OS: Despite the general rule of thumb for gamers to use Arch or PopOS or Manjaro, I stuck with my tried and true favorite, Linux Mint. The reason why is simple... It's a great, all around flavor of linux, it being a very popular distro it's incredibly well supported, and it's so close to Ubuntu in function that even when there isn't anything specifically to be found for Mint, Ubuntu support almost always fills in the gap very nicely.
If you've never installed your own OS before, the process itself is really simple. It takes more time to figure out how to make a bootable USB than it does to install. In that regard, Balena Etcher is probably the easiest and most straight forward.
Dual booting Linux can be a pain, but luckily for me I was completely deleting windows, so my SSD got a nice clean wipe. I didn't bother reformatting my secondary drive since it had a lot of stuff I wanted to keep... This would become an issue later, but I'll get to that.
If you've never installed an OS before, messing with a bios can be intimidating, especially if it doesn't have a quick boot manager, or you've never used it before so you have to do research how to access it.
So, a fresh install of Linux Mint, what do you do now? Installing the bare minimum necessary software of course!
Nvidia requiring proprietary drivers tends to be a tad more painful than AMD, but that's what I had to work with on this system. Instructions I used are here.
If you've never worked with Linux before, the terminal can be daunting, but once you realize that 99/100 times you're going to need to use it for gaming, you're going to be copying and pasting someone else's work it gets a lot easier.
The next two things we need to install are steam, for obvious reasons, and Lutris (basically for every non-steam windows game). Depending on your library, you may not need the former.
Both follow similar setups to installing the drivers, only even more simple. For steam (2 lines copied into terminal) and Lutris (5 lines copied, skipping the driver step)
At this point, terminal should be getting a lot less scary, and at this point things are setup and you can play games. A quick rundown of the games I installed, which platform
So now for something a little different, I'm going to go through each game I've played in the last month, what I had to do to get it working beyond those basic steps above, and not only how difficult it was, but also how much time was consumed.
Starting with Lutris, since I had fewer non-steam games.
Heroes of the Storm, Hearthstone, and Overwatch: These were all grouped together because I only had to setup 1 (Heroes) in Lutris, and all 3 other games worked flawlessly from that setup. It was as one click as you can get. THAT SAID all three games suffered from shader compiler issues. In short, the first 30-60 minutes of each game was rough with heavy stuttering until the game had a large enough shader cache. After that, all of the games ran as-if native. (Difficulty 0/5, Time 1/5) (play time is shared amongst 3 games between my wife and I)
Final Fantasy 14: This one was a lot rougher, for some reason the game refused to completely download without being baby sit. Every 5 GB or so, the download would stall, and the launcher would lock up. Restarting the launcher resumed where the download left off, and eventually the game finished downloading. DX9 mode ran flawlessly, but DX11 mode kept crashing. I spend 40 minutes tracing the issue to having HBAO enabled. Once disabled, DX11 also ran flawlessly. (Difficulty 1/5, Time 3/5)
Onto steam. First you do have to manually set in the settings that you want to use SteamPlay (Valve's implementation of windows-on-linux) for all titles, not just approved ones. Not a huge deal, but worth noting.
Void Bastards: Worked flawlessly, played all the way through. No stuttering, no extra config. Total playtime 11.9 hours.
Civilizations 6: Runs native on linux, no compatibility layer non-sense, runs perfectly to the surprise of no one. 5 hours.
Sonic Forces: Wanted to test this on a whim, works perfect though I hear there is flickering on AMD hardware right now. Playtime, 44 minutes
Soviet Jump Game: Another quick test, but turned into a few decent play sessions. No issues, 71 minutes.
Spiritfarer demo: Another native game, plays perfect, total playtime 30 minutes.
Wargroove: Requires a runtime tweak that removes the opening cinematic. Annoying, but a simple fix. Difficulty 1/5, 10 minutes of play
Final Fantasy XV, windows edition: This was the first "difficult" game to get running. First off, a call back to earlier in the thread about how I left my secondary big drive as NTFS. This is NOT recommended, but I didn't want to have to clear things off and put them back and this came back to bite me. See, depending on how Linux mounts your NTFS drive, Steam may throw a fit and refuse to load any games. This wasn't an issue with Lutris on big games, but it was here. So first thing I had to do was fix that.
Second, FFXV requires a custom version of Proton to work known as Glorious Eggroll. Not super complicated to get working, but it is another step to have to deal with. After all that, it will run, and it is playable, but it does occasionally go into stutter fits that makes it less than ideal. Difficulty 2/5 (the NTFS on the old hard drive is technically an OS annoyance so I can't fault it for that, but the GE proton is another hassle altogether). Total time 2 hours.
Grounded: This game was also frustrating but not for the same reasons. Looking at protonDB the fix to get it working seems simple. One line of code... but it requires installing another program called Protontricks which itseslf required another program to install. Once that was installed, you'd think it'd be easy to get up and running right? While the entire protonDB vouched for the validity of the fix, what they didn't tell you is that the fix takes 3 hours to download and install dotnet 4.72. Mind you, Grounded is a 3GB download, and took 5 minutes on my internet, so I spent less than 5% of the time it took to get this up and running actually downloading the game.
Once you get through all that though, the game runs flawlessly. Took extra steps to disable the blur (editing the engine.ini) because the in-game motion blur setting doesn't seem to do anything. Difficulty 2.5/5, time played 16.6 hours.
No doubt, hardcore PC gamers are going to rightfully point out that my use case and games tends towards older and non-AAA and that's absolutely fair. The newest game I've played this last month was grounded which, while aesthetically very stunning, is hardly the most complex or demanding game. I would definitely not recommend gaming on linux to day-1 PC gamers, though a lot of games get work arounds (Death Stranding being a good recent example) it's an absolute crap shoot.
That said, if you mostly play indies or MOBAs or other online competitive games (caveat being they don't use Easy Anti-cheat) it works surprisingly well. Even newer ones like Fall Guys were supported pretty much out of the gate.