Tired of the lackluster gaming opportunities on your alternative OS? Playing your favorite PC titles in Linux is easier than you think!
Time: 37 Min
What You Need
- GNU/Linux installation with recent kernel (2.6x)
Free, installed via Linux or winehq.org
- A PC game
It’s OK, Linux users. We understand your pain. Gaming on your open-source platform is, for the most part, restricted to similarly open-source or freeware titles from independent developers. You don’t often receive the same love that Windows users enjoy from triple-A game developers. But your time spent in the dark can now end: We’re going to show you how to play the latest PC-only titles on your Linux distribution of choice.
We’re using a program called Wine to simplify the process of running Windows-based games on a Linux platform. Unlike virtualization applications such as VMware, Wine is not an emulator. An emulator is a wrapper that allows one operating system to run within another. This wrapper hides the primary OS from its windowed love child, creating a software bubble for the second OS to play in. Since emulators run a complete OS within this virtualized bubble, the performance hit can be staggering and hinders gaming on all but the most powerful PCs.
Wine avoids this problem by implementing a set of routines (or APIs) used by applications to communicate with Windows. Rather than emulate them, Wine uses a compatibility layer that translates system calls from Windows to Linux and vice versa. If you’re still confused, relax. You don’t need to understand how it works. You just need to know that Wine is free and easy to configure and will have you up and gaming in no time!
1. Install Wine the Easy Way
Installing new software for Linux has become much easier since the advent of package management software. If you’re using a modern Linux distribution, you’ve probably utilized some kind of package manager. The most common are Synaptic/Aptitude (used by Debian and Ubuntu), Portage (Gentoo), and RPM (RedHat).
A software package comes bundled with the necessary software dependencies required by the application. Since these dependencies often overlap between applications, a package manager will ensure that your system installs only the dependencies that are missing. If you already have what you need, the package manager links the dependencies that have previously been installed to the new application.
Installing Wine on a package-managed system is as easy as telling the package manager to go ahead and install the program. One quick preface: All of our instructions are based on our experience with Ubuntu. Your Linux variety may vary, but the overall gist of our instructions should remain the same.
To get Wine onto your system, first launch the Synaptic Package Manager by opening the Applications menu on the title bar at the top of your screen and clicking Add/Remove. Click the Binocular icon and type wine , but be sure to select the “Show All Available Applications” option before you commence your search. As you can see in the above screenshot, your results will include an application called Wine, version 1.0.0.
Finish the job by clicking on the box to the left of Wine to select it and then click the green check mark labeled Apply. Confirm the installation of any additional packages to ensure that your installation doesn’t choke when it fails to find its dependencies.
2. Configure Wine’s Graphics and Audio
Open a terminal window in Ubuntu and type winecfg to launch Wine’s configuration screen. Start by clicking the Drives tab and set Wine to autodetect your drives, as shown in the upper image. The application will create a file structure that mimics Windows: It will establish your base directory as a C:\ drive and map your optical drive to D:\.
Next, click the Graphics tab to adjust your DirectX settings. We recommend using the settings displayed in the lower image: Check only the second and fourth options under Window Settings. The last option is especially critical, as it’ll make your Wine games stay windowed. That way, if your game crashes, you’ll still have access to your Linux desktop. Don’t forget to set your gaming resolution: You’ll do that underneath the Emulate a Virtual Desktop option.
Finally, click the Audio tab and then click the Test Sound button. If you can’t hear anything coming from your speakers by default, select each of the provided drivers—one at a time—until you have sound. It’s a crude solution, but it will take the least amount of time to get your speakers rockin’. 3. Check Game Compatibility
Before you rush to your local game store and spend the hard-earned money you saved by using a free operating system instead of Windows, read this step. It’s mission critical.
Linux comes in many varieties. Because of this, certain games tend to run better on certain distributions. And more often than not, specific titles will flat-out not work with the specific distribution—or any distribution—you’re running.
You should know a title’s compatibility issues before you plunk down $50 for a game. For that, you can turn to Wine’s official application database at appdb.winehq.org. This giant user-driven database provides ratings of and recommendations for running more than 10,000 applications and games in Wine.
The games and applications are broken down into specific test results, which the site presents based on combinations of tested distributions and Wine versions. Each listed entry tells you whether the program was able to either run or install correctly and assigns an overall usability rating to the experience.
Even if your game of choice appears to be broken on all Linux varieties, be sure to read the user comments appended at the bottom of each game’s results page. You might discover information about a new workaround or patch that has yet to be reflected in the game’s overall ratings.
4. Install your game
The installation process for applications under Wine is generally the same as it is in Windows because Wine uses the same installer. We’re going to focus on installing our game of choice, Sins of a Solar Empire, but you can use the same process to install a variety of other titles. Start by opening a Linux terminal and typing winefile. This pulls up the application’s Windows Explorer-like interface.
Navigate to your optical device by clicking the appropriate icon at the top of the window—it should look like a CD going into a drive. From there, double-click your game’s installation file (setup.exe, for example) and let the installer do its thing.
Follow the instructions as you would for any game being installed in Windows but pay attention to any errors or glitches that you see. Chances are good that you’ll notice fonts sizes are off and, in some cases, the fonts won’t display at all. We’ll come back to that later.
Once you’ve installed the game, you’ll want to make it easy to launch. You can do this by finding the executable file and linking it to a launcher—the Linux version of a Windows shortcut. By default, Wine hides its fake Windows partition in your
/home/[user name] directory. So you’ll want to right-click your Linux desktop and select the Launcher creation option. Name the Launcher whatever you want, but start the command as follows: wine “/home/[user name]/.wine/drive_c/”. After the “drive_c” section, type out the path where you installed your program.
If you can’t get a launcher to work, don’t worry. Some games end up working only by double-clicking the executable within the Winefile application.
Although we’ve been able to install and run Microsoft Office, Guild Wars, and NHL 08 without any problems, Sins of a Solar Empire was trickier. This gives us a perfect transition to Wine’s biggest headache: troubleshooting.
In our case, the fonts for our game were the wrong size and, in some cases, completely nonexistent (see above). If this happens to you, there’s a quick workaround. From a Windows installation, copy the fonts out of the C:\Windows\Fonts folder. You’ll then want to launch Winefile and copy the fonts back into Wine’s simulated Windows installation, same C:\Windows\Fonts folder.
If your chosen application gives you compatibility problems, it’s time to return to the Winecfg configuration tool. If the application was developed for a specific instance of Windows, try using the Applications tab to force Wine to use a suitable compatibility layer for the program. Click Add Application, choose your executable file, and choose the appropriate version of Windows.
The configuration tool also lets you change graphics and audio options as mentioned earlier. Disabling hardware support can keep games from crashing but sacrifices game performance in doing so. When in doubt, turn settings to minimum and bring them up slowly as you attempt to troubleshoot the best configuration for your game.
6. Work in the Wine Library
When you are configuring a new application, it’s wise to launch it from a terminal until you have the kinks ironed out. Doing so allows you to read the error messages that stream down the screen as the application runs. Bear in mind that many of these messages are not errors; they are used by developers to tune Wine. This makes them useful sources of information, particularly when they spit out .dll (dynamically linked library) errors.
A dynamically linked library is a fancy term from Microsoft that refers to a library of software used by various applications. These libraries are “linked” to applications as they are needed. If this reminds you of the package-managed dependencies mentioned at the beginning of the article, hand yourself a gold star. These libraries are what Wine replaces when it runs your MS-based applications.
Sometimes, the libraries are missing or incomplete. In this case, the .dll errors mentioned earlier will give you the name of the specific files that are causing problems. Replacement .dll files can be found in your Windows install or in a regular Windows install of your application. To fix errors, you can use the Library tab in Wine’s configuration tool to replace Wine’s .dll with the authentic .dll.
Wine Vs. Cedega
Not everyone has the time or patience to wrangle Wine into submission, and TransGaming Technologies (www.transgaming.com
) is hoping to bank on this fact. The company has produced a “commercial re-implementation of the Windows API for Linux with a focus on gaming.” Sound like Wine? It should. Transgaming’s product, Cedega, is based in part on the free Wine source code. Many in the open-source community view this as an outrage, but Transgaming insists it violates no licenses. For a small fee, it offers “Wine that works” with a list of games guaranteed to run with it.