Installing and using Steam is dead simple, and here's where you'll see the power of Wine: simply head over to the Steam website, download and install the Steam client as usual (I mean it: Double-click the .exe, and it works like magic), buy and install games as usual, and voilà! Nine times out of ten (depending on your video driver, and provided you've done a little fiddling in winetricks), these games just work. If they don't work--well, we'll get to that in a minute.
Option 3: Emulation
If your taste in games tends toward console titles, you're in luck--at least one emulator for just about every major platform has a Linux port. Some older consoles, like ZSNES for the Super NES and PCSX for the Playstation, will be available directly from the Ubuntu Software Center; newer consoles, like Dolphin for Gamecube/Wii and PCSX2 for the PS2, require that you add the developers' PPAs.
As an example, here's Dolphin:
sudo add-apt-repository ppa:glennric/dolphin-emu
sudo apt-get update
sudo apt-get install dolphin-emu
and here's PCSX2:
sudo add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa
sudo apt-get update
sudo apt-get install pcsx2
Again, compatibility varies--Dolphin works very well on Intel graphics in Linux, whereas PCSX2 tends to crash on anything but Nvidia.
Give it a go, and once you've got the hang of it, feel free to search for other PPAs containing software you know and love but can't find in Ubuntu Software Center (they'll appear in the software center once you add them through the terminal). You'll probably be pleased with the results.
Option 4: Older Native Linux Ports
This option is a distant fourth, but it's worth keeping in mind: Over the past decade or so, there have been a number of semi-official Linux ports of PC classics that predate the current Linux golden age of gaming (via Steam and the no-mess Humble Bundles). An example is Unreal Tournament 2004: using the official Windows DVD, you can install it with a special Linux patch from the Linux Installers for Linux Gamers website (a good resource for finding several such patches, but not the only one), and voila--a native version of an over-eight-year-old game that works more or less out of the box on a modern version of Ubuntu. If you have limited affection for PC games released between 1998 and 2006, you can probably disregard this option, but there it is.
Troubleshooting (and when not to bother)
To keep things simple, here's a point-form list to resolving the most common issues with Wine. If you have a problem that isn't addressed here, leave a comment below and ask around on the Wine forums for help; the Linux gaming community is full of friendly folks willing to lend a hand.
- The Microsoft.NET framework doesn't always work correctly in Wine. This is being actively worked on, but it's especially likely to screw up games that use Games for Windows Live. To get around this, you can try tracking down and extracting a community software library replacement called "xliveless" into the directory containing the game's exe, which will disable online functionality entirely.
- That said, the safest way to go as far as compatibility is to install only the bare minimum of required DLLs using Winetricks (as we did above) and let Steam handle the rest automatically, unless you're having trouble. Packages installed through Winetricks can be more compatible, but wrestling with multiple half-installed versions of .NET is more trouble than it's worth.
- DirectX 10 and newer don't always work correctly in Wine. Luckily, there are next to no games on the market that can't fall back on DirectX 9 if need be.
- Windowed modes are generally more stable than fullscreen modes (which can do irritating things like disabling your second monitor and not turning it back on afterwards). If a game is crashing before letting you try to change it to windowed mode and if you're feeling bold, you can go hunting for the game's settings file and try changing it manually. This is usually an .ini file, and it will be located in one of two places:
/home/[username]/My Games/[game title]/
Open the file and press Ctrl+F to search for settings named "Fullscreen," which you'll want to set to "0" or "False," or conversely "Windowed," which you'd want set to "1," or "True." Yes, it's a bit janky, but once you're in the habit it takes two minutes and is a pretty reliable fix.