Gaming on Linux is pretty much non-existent. Very few developers release games for Linux since it does not have the user base, which is a catch 22 situation since most gamers don't use Linux because there are no games.
At the time of writing, Steam software survey is reporting 96.4% of its users are running Windows, 2.8% on Mac and a paltry 0.59% of users run Linux.
It's not all doom and gloom, there are a number of options for getting games to run under Linux.
Native Linux Gaming
Native Linux games mean those games which are officially supported in Linux. These games have native Linux client and can be installed like most other applications in Linux without requiring any additional effort.
EVE Online is one of the highest quality MMORPG's on the market today, with a proven track record for top-tier gameplay. CCP, the company behind EVE Online provide an unofficial "beta" Linux client which is available from their website and excellent installation instructions provided on UniWiki
Many older titles have been ported to Linux, either as open source applications or by the developers. Check the developer's websites or the software manager.
Steam on Linux
Steam offers a lot of title for its SteamOS, which is Linux, and they offer a decent Steam client. Simply head over to your Software Manager or Ubuntu Software Center and search for "Steam". Once installed you can log into your account and filter your library or store by Linux games.
So many games exist on Linux thanks to the development of SteamOS, which is built on Linux. While the selection of titles currently available is impressive and more than enough to keep you busy, there is clearly much more work to be done.
Linux Windows Emulation - Wine and PlayOnLinux
If there isn't a native client for the game you wish to play don't worry, chances are it will run under Linux with the help of tools like Wine, PlayOnLinux and CrossOver.
Wine is a compatibility layer which is capable of running Windows applications in systems like Linux, BSD and OS X. With the help of Wine, you can install and use a number of Windows applications in Linux.
Installing Wine in Ubuntu or any other Linux is easy as it is available in most Linux distributions repository. There is a huge database of applications and games supported by Wine that you can browse.
PlayOnLinux too is based on Wine but implemented differently. It has a different interface and slightly easier to use than Wine.
Playing Windows Games in Linux with PlayOnLinux
First, we need to install WINE to set up a compatibility layer so that your Window games can communicate with Linux. Wine can be installed by entering the following commands into the terminal.
sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine1.5 sudo apt-get install winetricks
Next, we'll install a nice frontend which we can use to configure and launch games from. PlayOnLinux is available in the repositories of a lot of distributions, but with the exception of Pacman, the versions found in these repositories are rarely the latest versions available.
Packages are available to download on the PlayOnLinux Website. Check there for the latest version for your distro.
To install PlayOnLinux run these commands on the terminal.
wget -q "http://deb.playonlinux.com/public.gpg" -O- | sudo apt-key add - sudo wget http://deb.playonlinux.com/playonlinux_trusty.list -O /etc/apt/sources.list.d/playonlinux.list sudo apt-get update sudo apt-get install playonlinux
After it has finished installing you can run PlayOnLinux. When the main screen appears again, click "Install a program" and the Install menu appears. Click the Games button to see a list of supported games. Either browse through the list or use the Search button to find a specific game. Some of the games listed require the original disc to run, so make sure that's handy if required.
If you find the game you want, click Install and note the warning - Games should always be installed to drive C of the virtual machine; donâ€™t automatically launch the game at the end of the installation if asked, and only reboot virtual Windows if asked to by the program. Click Next.
Once the installation wizard launches you can work your way through it as you would with any other Windows program. Step one may be to download a specific version of Wine and required prerequisites known to work with the game you've chosen - this is done automatically for you.
Once complete the wizard will add shortcuts to your desktop which you can then use to run the game.
Playing Old DOS Games in Linux
Ever wanted to revisit classic games from the '90s? DOSBox enables you to play games written for MS-DOS, and while it's possible to tie it into PlayOnLinux, it's far simpler to just install it natively.
sudo apt-get install dosbox mkdir -p ~/dos/c
DOS games reside in their own folder, and you can source a wide variety from the internet. Download a game and extract its contents into the dos/c folder you created in your Home folder. Now type
dosbox and hit Enter to launch DOSBox in its own window. Next, enter the following command for it to mount your /dos/c folder as its own C drive.
mount c /home/username/dos/c $ c:
In this window, type >code>cd dirname (for example, "cd civ1" for Civilization) to switch directory to the folder, then type
dir to identify the game file itself. Finally, type the file name of the executable, and hit Enter to play the game.
If prompted, choose "VGA (256 colours)" for graphics, and SoundBlaster for sound. DOSBox should also work with any basic USB controller recognized by Linux, as well as your mouse and keyboard.
When you click inside the DOSBox window, your mouse will be captured permanently. Press Ctrl-F10 to release the mouse back to the main desktop.
Gaming in Virtual Machines
If there are no native clients for your game and you don't like the idea of emulation, you can always revert to a virtual machine if you have a Windows license. Install a virtual Windows machine using VirtualBox, then install your game in that. Be sure to give it two cores if you can, as well as plenty of RAM, also max out the graphics RAM, and select both 2D and 3D support to give it the best chance of providing reasonable performance for your game.