Living with Linux: how open-source OS gaming stacks up against Windows
2013 has been a big year for Linux gaming. For the first time, there's a glimmer of hope for a gaming future for the OS. Games are being built in Unity, being sold in Humble Bundles (which tend to require Linux versions), and though it's more of a trickle than a flood, things are picking up a little. And then there's Steam. Valve's push towards Linux, with an existing Steam client as well as a Linux-based OS in the works, mirrors my own frustrations with Windows: I'd quite like an OS that's not going to completely change shape, size, colour, and usability when it comes time to upgrade it, but I'd like to have a supported OS as well. So once a year I'll try out Linux's friendliest face, Ubuntu. Is this the year it stays on my PC*?
My initial plan was to dual-boot my Windows 7 desktop with the latest version of Ubuntu. I have a laptop with Nvidia Optimus (it has two GFX cards: one Intel card for undemanding chores, then it swaps to the Nvidia card when it needs more power), and the driver support for that in Windows is a mess, so I didn't imagine Ubuntu mobile drivers would fare any better. But Ubuntu just didn't want to install where I wanted it to install on my desktop. No matter what I tried, it would attempt to squeeze onto a hard-drive that ultimately wouldn't allow it to boot. This left me with little option but to make room on the Optimus laptop and install it there. After a relatively painless few minutes, I was dual-booting PC with Windows 7 and Ubuntu 13.10. So far so good.
What I'm looking for from Linux is a relatively easy experience. Terminal, the command-line interface, might be a powerful tool, but I left my knowledge of its inner workings back with my 28 inch waistline, and what I've been dreading is having to sudo wrestle drivers and games onto my laptop. There is some small amount of command line I'm willing to put up with, but what was initially surprising is that I didn't need to do any. The laptop was running right away, with sound, USB support, and wireless. By way of comparison, I had to download all sorts of set-up exes and drivers to my laptop the last-time I formatted my desktop PC, so I could transfer them all across post-wipe and install them (though I've recently created a slipstreamed installer with everything I need). That was unexpected to say the least.
The easiest way to grab Steam is to use Ubuntu's in-built software manager: it's a friendlier front-end to acquiring and installing Linux's packages, and you can even add sources to it to grow the library. I just searched for Steam and installed it. Linux's biggest problem is evident straight away: there are currently 173 Linux-supported games on my Steam list, though I have 1652 in the main library. Steam claims 374 Linux games overall. While the support isn't there, it's definitely growing. Most of those are indies, and most of Valve's games work, but without wider support there's a chunk that will never appear natively. It is an OS without Dishonoured, Skyrim, Call Of Duty, Arma, and the Mass Effect series, but it has Dota 2,Football Manager 2014. Depending on the day, there can be as many as five Linux-capable games in the Steam Top Ten's most played.
Time to game! I double clicked on Sir, You Are Being Hunted because I've been playing it a lot and thought it would be interesting to see if the stock drivers could support an FPS. The laptop is a Core i3, 6GB of RAM, with a GT 540M card. I'd expect it to run Sir, all things considered. The first shock is that the game loads at all, which honestly hasn't been my previous experience with Ubuntu. In the past, thingswould just refuse to load without giving me a hint as to why. The second shock is that it runs it smoothly, with high detail and extended visibility, albeit at 1366 x 768. Sir is a Unity game, and that engine has been designed to help devs to develop multi-platform versions of their games alongside each other. Sir in Linux, at least anecdotally, runs just as well on both operating systems, and I happily lost an hour to scavenging villages and dodging deathbots. That's right: it ran well enough for me to forget I was testing, which is kind of what I was testing out anyway. I wasn't looking to exhaustively compare framerates: I just want to be a gamer and have the thing work without hassle.
The same was true when I loaded up Crusader Kings II, which installed and launched with a minimum of fuss. That said, I only installed it to run the Game Of Thrones Mod and that failed to load. This was an interesting position to be in, and something I hadn't even considered up until now: mods are a huge part of PC gaming, and GoT is the only way I can get into CKII. In fact, there are a fair few games that I can only play with mods. For some reason, I was operating on the assumption that I'd be able to easily mod games, and perhaps even play the likes of Black Mesa. It turns out that's it's currently not the case, though it's being worked on.
That got me wondering about Minecraft. I know the game supports Linux natively, and I also have it on the Windows partition of the laptop. I don't play it on there, because it's a complete lagfest and I've never been able to figure out why. Optifine doesn't make it much better. This time I used Terminal to install it. Cutting and pasting these two commands landed the most recent installer on my machine.
sudo add-apt-repository ppa:minecraft-installer-peeps/minecraft-installer
sudo apt-get update && sudo apt-get install minecraft-installer
Minecraft's native launcher downloaded and installed, and Ubuntu again proved capable of running it without any further help. Java, or some sort of voodoo variant, must reside somewhere on the OS because it launched without issue. I loaded up a world and start to walk, waiting for the inevitable slowdown that usually ruins my experience on this particular laptop. Just like Sir, You Are Being Hunted, it was about an hour later that I remembered that I'd been waiting for lag that never came. It just worked, running at a decent 40fps on average. Mods are a little trickier, and the current Minecraft version has broken a bunch of mods, but it does look possible - it's not the easy, launcher-based solution I have in Windows, but it's at least plausible.
There is an outlier in all this: it is possible to game on Linux using Wine, a program that will enable some Windows games to install and run on Linux. Not everything runs, with bigger titles receiving the most support. World of Warcraft runs, for example, and I managed to get Guild Wars 2 laggily up before the framerate hurt my eyes. I'm not a big fan of this approach, because if an application is supported natively then you can expect better customer support and general help if things die, so it's not a reason to flock to the OS. But it is handy.
I am encouraged, but there's still a lot to do. Windows hasn't had its day, because it still natively supports a huge number of games and programs (aside from gaming, just using Linux was a bit problematic as it doesn't have a Twitter client I liked) that I'm unwilling to give up. It's not the future I'm worried about, because if Nvidia and AMD and developers join Valve in the Linux push then there's a level of support we can at least expect. What worries me is the past, and how we bring the PC's legacy over with it. Wine might work, but not for everything, and even the things it works with might not support mods. I'm not sure how many games I'd be giving up and how many mods I'll miss if I ditched Windows. Right now there's too many to consider.
*Note: just after I finished this article, the GRUB bootloader that allowed me to dual-boot the OSes corrupted. I wiped Ubuntu and reclaimed the HD space. Maybe next year, eh?