Newbie's Guide to Gaming on Linux
In February 2013, Valve released the Steam client for Linux. This made playing modern PC games natively on Linux possible. GOG, another PC games distribution service, also offered support for Linux last August 2014. Prior to that, you need to use Wine if you want to play modern games on Linux. However, performance is reduced on Wine and some games don't even run properly as shown in the article of Anand Tech last December 28, 2009. Even with the latest games, there is still a large performance gap between Windows and Wine on Linux.
Many modern games had been made available to run natively on Linux since Valve released the Steam client for Linux. However, not all modern games have been made available on Linux. This is probably because Windows dominates the desktop PC market. Almost all pre-built desktop PC's from known vendors such as Acer, HP, and Dell come installed with Windows. In offices and schools, desktop PC's are using Windows. Here is a video explaining why Linux is not as big as it should be.
As of March 03, 2016, there are 1,911 games for Linux on Steam and 7,513 games for Windows on Steam. There are still lots of big titles such as The Witcher 3, Grand Theft Auto V, and Rise of the Tomb Raider that are not available on Linux. I don't think Linux will replace Windows but it has the potential to become a viable alternative OS for gaming. The library of games on Linux is still very small compared to that of Windows but we can expect it to grow especially with the introduction of Vulkan API which promises to increase performance of games running on Linux. Game developers might now put more attention to developing games for Linux.
Preparing what you need
First of all, you need a decent gaming PC if you will be playing the latest games at 1920 x 1080 resolution. Here are the minimum specifications I would recommend for a gaming PC:
CPU: Intel Core i3 6100 3.7 GHz or AMD FX-6300 3.5 GHz
GPU: NVIDIA GeForce GTX 950 or AMD Radeon R7 370
RAM: 8GBx1 DDR4 2400 CL15
Drive: 1TB HDD or 500GB SSD
Now, you just have to choose what Linux distribution you will use. Unlike Windows, Linux is a free and open-source OS. Put simply, anyone can modify Linux to suit the needs of different types of users. The 2 most popular Linux distributions are Ubuntu and Mint. Both of them are user-friendly to newbies but Mint has a user interface similar to Windows. Ubuntu MATE is a good alternative if you don't want the look and feel of the 2 distributions I already mentioned.
The installers are in .ISO format. You can burn it on a DVD or use it to create a bootable USB installer. I highly recommend you create a bootable USB installer using Rufus. You will need a USB flash drive with at least 2GB capacity.
Installing the OS
It's very likely that most of the newbies on Linux are using Windows and they can't ditch Windows because they use programs that are not available on Linux and don't have a Linux alternative. It is possible to install Linux on the same drive where your Windows installation is without having to delete your Windows installation.
Almost all PC hardware component (built-in LAN card, sound card, etc.) will work right away without having to install drivers. By default, Linux uses an open-source driver for your GPU. You need to install a vendor-specific (AMD or NVIDIA) driver to be able to play games. To change a driver for your GPU, go to System Settings then look for Driver Manager. Once there, you would see a list of available drivers for your GPU then select the vendor-specific driver. After that, you need to restart your PC.
Installing and Playing Games
There are no retail discs for Linux versions of PC games. Currently, there are only 2 distribution services for Linux games: Steam and GOG. Games on GOG are being sold without DRM which means you can install the game on any PC and playing it does not require online validation. However, a many Linux games are only available at Steam.
To buy games on GOG, go to GOG's website then create an account. Once you have an account at GOG, proceed to the store section and buy the games you want. GOG supports both Ubuntu and Mint and games bought on GOG will be downloaded from the website in the form of an ".sh" file. Based on my experience with The Witcher 2, it's a file format similar to ".exe" installers of Windows programs. Open the ".sh" file and a dialog box will appear which will guide you on the installation of the game. After installation, just look for [game name].sh and double-click on it to run the game.
On Steam, you need to install the Steam client which can be downloaded here. Once you downloaded the installer, just go to the folder where you downloaded the file. Double left-click to run the installer. After the installation is done, open the [b]Terminal[/b] by pressing "Ctrl + Alt + T" on your keyboard. Type "steam" then press Enter. The Steam app will start and download the remaining files of the Steam client. Download size is around 250MB. Once the installation is complete, run the Steam client then start browsing the store for games you want to buy. Steam officially supports only Ubuntu but, as I have tested, it works fine on both Mint and Ubuntu MATE.
Make sure you install your games on a different partition, not on the root or home. The purpose is you can keep all your games when you have to delete your Linux installation because it got corrupted or because you want to try a different Linux distribution. Modern games have a download size ranging from 20GB to 65GB. Re-downloading them would be a big hassle especially if your ISP (internet service provider) has data capping.
Now, you might be wondering how many modern games you can play natively on Linux. Here is partial list of popular games from 2013 to 2016 that are available on Linux. I included games which are not available on Linux so you have an idea on what games you will be missing if you decide to switch completely to Linux and ditch Windows for good.
Using game pads
(The instructions below are from Feral Interactive and assumes you are using Ubuntu 14.04.2)
Set up a wired Xbox 360 controller
1. To set up a wired Xbox 360 controller, simply connect it to your computer via a USB port. That's it: you're good to go!
Set up a wireless Xbox 360 controller
1. Plug the Wireless Gaming Receiver into a USB socket on your computer.
2. Turn on your Xbox 360 controller by pressing the Xbox button.
3. Press the button on the Wireless Gaming Receiver. The light will flash green, indicating that it's scanning for a controller to connect to.
4. Press the connect button on the back of your Xbox 360 controller. This will pair your Xbox 360 controller with the Wireless Gaming Receiver. You only need to do this the first time you set up your controller. (Known issue: If you’re using a wireless Xbox 360 controller, the green connection LED will continue to flash even after pairing.)
5. Your computer will recognize the wireless controller and you'll be good to go.
(The instructions below assumes you are using Ubuntu MATE 15.10)
Set up a Sony Dual Shock 3 controller
1. To use a Sony Dual Shock 3 controller for gaming on Linux, simply connect it to your computer via a USB port and press the PS button. It works properly without having to install anything. I have already tested it on Transistor and Middle-earth: Shadow of Mordor.
To measure gaming performance, you need to use GLXOSD to record the frame rate and frame times. It is not that user-friendly but it's the closest thing to [b]FRAPS[/b] when it comes to benchmarking games on Linux. As I have tested, GLXOSD works on Ubuntu 14.04 LTS, Ubuntu 15.10, and Mint 17.3. Just use the installation instruction for Ubuntu 14.04 LTS.
Alternatively, you can use the game's built-in benchmark tool for measuring performance if you want a simpler approach. However, not all games have a built-in benchmark tool.
Here is a list of games on Linux with built-in benchmark tools:
Company of Heroes 2
Metro: Last Light (redux)
Middle-earth: Shadow of Mordor
Total War: Attila
If you just want a frame rate counter, open the Steam client, click "Steam" in the main menu bar, then choose "Settings". Another window will open, click on "In-Game" then look for "In-game FPS counter" and enable it. If you are playing a non-Steam game, you need to use [b]GLXOSD[/b] to display the frame rate.