Linux Gaming: All You Need To Know to Game On LinuxI've long preached at how good Linux is and why you should switch from Windows to Linux, but there is one thing I still use Windows for and that is gaming.

Gaming on Linux is non-existent. Very few developers release games for Linux since it does not have a user base, which is a catch-22 situation since most gamers don't use Linux because there are no games.

When writing the Steam software survey reports that 96.4% of its users are running Windows, 2.8% on Mac, and 0.59% on Linux.
It's not all doom and gloom; there are several options for getting games to run under Linux.
Native Linux Gaming
Native Linux games are those games which are officially supported in Linux. These games have native Linux clients and can be installed like most other Linux applications without requiring additional effort.
EVE Online is one of the highest-quality MMORPGs 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 as open-source applications or by developers. Check the developer's websites or the software manager.
Steam on Linux
Steam offers many titles for its SteamOS, which is Linux, and it offers a decent Steam client. Head to your Software Manager or Ubuntu Software Center and search for "Steam". Once installed, you can log into your account, filter your library, or store it using Linux games.

So many games exist on Linux thanks to the development of SteamOS, which is built on Linux. While the available titles are impressive and more than enough to keep you busy, there is much more work to be done.
Linux Windows Emulation - Wine and PlayOnLinux for Linux Gaming
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 capable of running Windows applications in systems like Linux, BSD, and OS X. With Wine, you can install and use several Windows applications in Linux.
Installing Wine in Ubuntu or any other Linux is easy as it is available in most distribution repositories. Wine supports a huge database of applications and games that you can browse.
PlayOnLinux, too, is based on Wine but is implemented differently. It has a different interface and is slightly easier to use than Wine.
Playing Windows Games in Linux with PlayOnLinux
First, we must install WINE to set up a compatibility layer so your Windows 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 front end that we can use to configure and launch games. PlayOnLinux is available in the repositories of many distributions, except for Pacman; the versions found in these repositories are rarely the latest versions available.
Packages are available to download on the PlayOnLinux Website. Check here 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. Browse 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 through it like any other Windows program. Step one may be to download a specific version of Wine and the required prerequisites known to work with your chosen game - this is done automatically for you.
Once complete, the wizard will add shortcuts to your desktop, which you can 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. While it's possible to tie it into PlayOnLinux, it's far simpler to 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 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 the directory to the folder, then type dir
to identify the game file itself. Type the executable's file name 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 and your mouse and keyboard.
Your mouse will be captured permanently when you click inside the DOSBox window. Press Ctrl-F10 to release the mouse back to the main desktop.
Linux 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. Be sure to give it two cores if you can, as well as plenty of RAM; 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.