Updated: July 17, 2013
Swell afternoon to you guys, wherever you are. Four summers ago, I wrote my first, very extensive tutorial on how to get and install Linux games. It was quite relevant back then, and most of it is still true now, but it's time for a fresh guide that reflects the new, modern reality. However, the old howto still has a lot of useful information, so don't miss it.
In this new piece, we will discuss various methods of obtaining native Linux games on your favorite distro, how to manually download and install games, WINE-based solutions, and then some. It should really help you make your first baby steps in this arena. You will also be delighted to learn that a lot has changed since 2009, and that the variety now is so much greater than ever.
Steam
Works for: native game installations
This should be your choice no.1 Since early 2013, the Steam client is natively available in Linux, including the repositories of various Ubuntu-based distributions, as well as now somewhat defunct awesome little distro named Fuduntu, to name a few. Ever used Steam on Windows? Well, it's exactly the same here. Grab the client, install it, then began buying and downloading games, like you normally would. The Linux repertoire is getting bigger by the day, with more titles being added all the time.
Game repositories
Works for: native game installations
Your second best bet is to search for high-quality content in the official game repositories. True, some of the games might lag a version or two behind, but you know they will be fully supported, and a breeze to install and play. There are a lot of available titles. However, finding what really suits your needs might be a bit tricky. You might want to start with my best free list.
Unofficial game repositories
Adding unofficial game repositories can help obtain newer, latest version of your favorite games, and allow seamless updates along with your system. There's always a small risk of adding third-party sources, which could lead to some incompatibility, but the chances of this happening are fairly low. Lots of games have their own repositories. For example, adding the nifty RTS game named 0 A.D. happens thusly, Ubuntu example:
sudo add-apt-repository ppa:wfg/0ad
sudo apt-get update
sudo apt-get install 0ad
Optional: Game managers
Works for: native game installations
For older versions of various Linux distributions, you might be interested in game managers. However, do note that most of the resources are no longer actively maintained, and their content will be severely outdated and incompatible with the latest versions of modern Linux distributions. However, it is good to know, just in case something changes. Some of the names that come to mind are PlayDeb, GameStore, djl, and FreeMGP.
Direct downloads
Works for: native game installations
This is a decent option, provided your Linux skills are ok. In general, Linux games downloaded directly from official websites will either come as compiled packages, so you will only have to extract them and run them, or as sources, which means compiling the games yourself. The second route is trickier, and can be painful for new users, not well familiar with the compilation process. The former is much simpler, but then you may end up with a sub-optimized version that does not run that well on your platform. UrbanTerror is a good example.
The manual download and execution process is explained in detail in the original compilation, so please consult it for more information. Really, do it. It comes down to downloading archives, extracting them, finding the correct game binary, making it executable, and then running the game. Here's a sample sequence:
- Download the game archive
- Extract - for zip with unzip, for tar.gz, tar.bz2 with the tar command
- Change path into extracted directory with the cd command
- Use the file command to determine the binary you want to execute
- Use the chmod command to change the permissions to allow execution if necessary
- Run the game and enjoy yourself
Compilations are far more complex, and out of the scope of this tutorial. Still, since I'm such a gentle and caring and compassionate soul, I cannot just leave you in the dry. Basically, it comes down to some trial and error. The rough outline is as follows:
- Download the game archive
- Extract it somewhere and change path into it
- Run, if present, the configure script to determine if your build environment is ok
- If you get any errors, they will probably indicate missing build packages (called dev)
- Search for these in your official repositories, e.g. libaudio-dev
- Install the packages and repeat the configure process until complete without errors
- Execute the make command to compile the game sources; use the same logic as before for errors
- Install the game in the default or custom path with the make install command; may need root or sudo
- Run the game and enjoy yourself as much as reasonably possible
Some games will necessitate manual downloads, even if you install them from the official repositories, as the additional content, due to its sheer size or volume, might not be available elsewhere. For example, the rather nice flight simulator game named FlightGear has its own airplanes and textures, worth 10s of GB of data. You will need to grab these on your own, even if the game itself runs fine from the distro sources.
WINE-based solutions
Works for: Windows games
WINE is an application framework designed to run Windows software on Linux, or rather UNIX-like systems. WINE acts as a compatibility layer, by trying to provide its own implementation to Microsoft DLLs, and thus allow Microsoft-based games to run without emulation on your Linux box. I must warn you, this is a hack, and may not always work. However, some games will run just fine, without any worries, like Live for Speed, for example.
There are multiple frontends and management frameworks for WINE, allowed to make your game installations easier, faster, and less buggy. I must express a certain reservation toward these promises, as most of them work only moderately well, with less than reasonable success rate. If you're really interested, you can try winetricks or perhaps PlayOnLinux. Payware solutions also exist, including CrossOver and Cedega, the second one having been discontinued around the time I wrote my first howto. Such is the way of life.
DOSBox
Works for: Old, legacy DOS-based content
This superb emulator works for any DOS-based program, be they games or well, not games. Anyhow, if you have older content from your golden DOS era, you might want to play them on your Linux box. To that end, DOSBox will do all the charm. It works fairly well for a large number of games, although you may encounter some small issues here and there, mostly with the sound and suchlike.
Other resources
Gaming distributions
Works for: whatever you run really :)
There are not that many, really. Sabayon used to pack cool games, but it no longer does. There's still one dedicated gaming distribution out there, called SuperGamer, which comes as a monster DVD and double-layer DVD torrent, and packs a decent bunch of free titles and trials, which you can then play without any installations or special tweaks.
Virtualization
Works for: Some older games with low 3D demands
Virtualization is also a possible way of getting what you want. Install your preferred Windows version there, then install the games inside the guest operating system. Pretty simple overall, with some resource overhead and operational complexity. Well, it should work, especially since products like VMware Workstation and VirtualBox come with some 3D support, including both DirectX and OpenGL.
However, please do not expect any miracles or super stellar performance. It should work ok, but not more than that. Here's a screenshot of Max Payne captured in VirtualBox, actually in a Windows guest running on top of a Windows host, but the idea remains the same really.
More reading
You might also want to spend several hours reading my various games reviews and compilations. Among more than a hundred games I have reviewed in the last half a decade, you will probably find several useful and interesting titles, or maybe ideas for what you like and want.
Game reviews
Indeed, more than 100 titles. Now, some of my reviews span back to 2008, so you might be a little dismayed about reading ancient history. Indeed, browsing through my own work, I do see a lot of games that have since bitten the dust, joined their proverbial maker, remain outdated, not well maintained or simply without players, trials and best efforts that did not turn out so well, and such. Then again, you have other games, which remain popular and keep growing. So what's the best way to avoid unnecessary mind obliteration? I will let you choose what you want or need at your own discretion.
Reviews of Linux games
Reviews of mostly Windows-based titles
Hacks and tips to make old games work again
Steam related articles
How to install Flash in Steam
How to install Flash in Steam, again
Installation of the official client via Ubuntu Software Center
Troubleshooting common Steam problems
DOS related articles
Emulation of serial connections
Emulation of IPX multiplayer in DOSBox
D-Fend frontend for DOSBox
GOG games
Virtualization related articles
VMware Workstation review
Review of VirtualBox 4.X family line
Everything you ever wanted to know about virtualization
Conclusion
There, I tried to keep it simple and clean. There's a lot more we could discuss, like online games, game forums, how to install the Flash and Java plugins to get some of your content to work, but these are less relevant here, plus we had them discussed at length in the original tutorial, so you can start there.
Here, we have a very decent combination of Steam, official repositories and some manual downloads. As a second order, you get WINE, DOS games, as well as virtualization, although these may not be as popular or effective as you would expect. For recent, modern, relevant content, Steam appears to be the killer feature for Linux. Other than that, you've learned everything you need or want to make your gaming experience pleasant on Linux. That would be all for this time. Enjoy yourselves. And stay tuned for new reviews.
Cheers.