[Sticky] How to Game on Linux
Linux continues to grow more popular all the time, and it is continuously becoming a more viable gaming platform thanks largely to Valve, Epic Games, Unity Technologies, and game studios such as Croteam, Frictional Games, New World Interactive, Beamdog, 4A Games, Firaxis, and the rest who consistently support Linux, and of course also thanks to the GNU community and developers behind Ubuntu, Mint, and other constantly evolving Linux distros.
Why game on Linux, you ask? Some people just don't want to use Windows, because Windows is a laughably insecure operating system, now with forced spyware and updates causing all sorts of issues in Windows 10 (my favorite is breaking sound card drivers and/or DTS and Dolby encoders so that I can't use surround sound). That, and because most modern Linux desktop environments, such as Gnome 3 and all the ones based on GTK+ 3 (my favorite being Budgie), MATE and variants based on it, LXDE, and even XFCE, are all more user friendly than the Windows UI. And then there are those looking to game on a computer that is also used for whatever task that is better suited to Linux, such as software development, without rebooting and switching to another OS. Another reason people will make the switch to Linux is because Windows 10 Pro 64-bit is $200.
Whatever your reasons, more and more people are switching to Linux, including gamers. This thread is to help such people get started.
This is of course the first question. Linux comes in so many different flavors. For gaming, most people will suggest any variant of Ubuntu, SteamOS, or possibly Mint. I immediately recommend only considering these and no other. Why? Because these (Ubuntu and Mint at least, never used SteamOS but I assume it's good for gaming since that's its intent) are the easiest to get things working. Especially Ubuntu, things just work with mouse clicks and without troubleshooting, like in Windows. This is particularly important for graphics drivers. Good luck installing graphics drivers on other distros, it is a true annoyance and can become time consuming.
But remember that all of these distros are free, so if you have the time then feel free to experiment with them. If you don't want to experiment and just want something quick that works, then use Ubuntu.
I've seen people game on openSUSE, and even CentOS and Fedora but I have no idea why. Don't do it. If you need what these other distros offer, then just use separate partitions for crying out loud.
Aside from the obvious universal things (games, drivers), if you want to run Windows games (or run Windows applications) on Linux you can, with the use of Wine. Instructions for this in spoilers so as to not frighten noobs who will see these steps and images and think this is all mandatory just to play any game in Linux.
Any package manager on any known distro with a search function will allow you to easily find it, otherwise use this command in a terminal window:
Read about Wine here. It originally stood for "Wine Is Not an Emulator" since it technically isn't one, it translates Windows API calls into POSIX calls on-the-fly.
But this is not enough. You will be without a lot of necessities such as Microsoft DirectX, DirectSound, DirectInput, .NET framework, Visual C++, etc. So you will also have to install Winetricks, which lets you select which MS components to install. Install all versions of the ones I just specified, and if you're missing anything you can just go back and install it. To install Winetricks, if it's not in a GUI package manager enter this command in a terminal window:
Then configure it using the following command.
This command will launch a GUI installer application. Follow the instructions and screenshots below.
Once you enter this command, select and install the necessities mentioned above. First choose "Select the default wineprefix."
Then select "Install a Windows DLL or component."
Install the aforementioned necessities (all not shown here).
Once you do this, you just have to perform some basic tweaking for Wine. Nothing advanced at all. First enter the command below in a terminal Window:
Select the version of Windows you want to use, and then make sure your drives are mounted correctly (make sure C drive and the / directory are mounted) as shown below.
Hit apply and then OK and you're ready to install and run Windows applications and games!
So that's it. Slightly more complexity arises when trying to use Wine to run Windows games, but it's not hard at all as it only takes about 2 minutes for someone inexperienced to install Wine and Winetricks and perform the configuration specified above.
For native Linux games, none of the Wine configuration is needed. Steam is of course on Linux, and you install Steam games on Linux the same way you do in Windows: go to your Steam Library and select install. For GOG, note that GOG Galaxy is only on Windows, not Linux, so it's easiest to just download the Linux version of the game from your GOG library as shown below, and then run the downloaded Linux installer.
Note: Linux will be selected by default here when doing this on Linux. That's right, I didn't take this screencap from within Linux, sue me.
Here is your final warning for installing GPU drivers on Linux distros other than Ubuntu and maybe SteamOS and Mint (I have not used SteamOS or Mint). For gaming, there is no need to stray beyond these distros. Anything else you want to do on another Linux distro, do it on another partition.
Far more games than any console, since Linux has backwards compatibility like Windows, while consoles have little to no backwards compatibility (merely one generation for XBOX One, none for the others). Linux support has increased tenfold in recent years, due to people getting fed up with Microsoft and their nonsense. Valve was instrumental in this shift, in 2013 they released Steam on Linux as well as SteamOS which is a Debian based Linux distro which we've cited numerous times already. In 2014, GOG began supporting Linux and immediately rolled out 50 titles on Linux. So mainstream Linux gaming is a recent movement, one that is only getting stronger with time. This is good for everyone since Linux is free and open source, and just a better core operating system than Windows.
If you look at my personal Steam library, you will see a fair selection of games I play that support Linux, shown below.
No console can match this list in pure quality of titles, let alone the fact that no console can run any game well not only due to underwhelming performance/graphics but most of all modding and hardware limitations of consoles.
And my GOG library. GOG mostly consists of older titles, from the time before Linux support was encouraged by the big names mentioned above.
Always remember that Windows games/applications can run on Linux with Wine as well.
So I hope this basic guide helps. There are downsides to Linux gaming aside from the need to use Wine for Windows-only games, namely Creative Labs not having Linux drivers for most of their products, nor is there any support for surround sound encoders to my knowledge (e.g. DTS Connect and Dolby Digital Live, though you can still get native surround sound either via analog which is not recommended, or HDMI out to a receiver). This means for all OpenAL games (obviously a prevalent sound API used in Linux games) you will not get to make use of their most advanced effects. OpenAL Soft is on Linux, but hardware acceleration is not. For more details on this subject, see this thread.