One fateful Wednesday in 2010, the fortunes of gamers that preferred Linux over Windows changed forever when the good folks at Wolfire Games launched the inaugural Humble Indie Bundle.
Not only were they doing something really cool — “Pay what you want for X games and donate money to charity” — the games in the bundle would all support Linux.
Many of the games in these Humble Bundles already had Linux builds, but what the Linux community didn’t really have was a place that offered great deals on games, or a place where some of the best the scene had to offer were highlighted.
The Humble Indie Bundle was such a success that more bundles followed, and by the time Valve confirmed that the “Steam for Linux” would, in fact, be Steam for Linux, there had already been 5 Humble Indie Bundles with a bunch of other bundles in-between.
Between July 2012 and February 2013, when Steam for Linux officially launched, two more Humble Indie Bundles had been launched.
By the time Steam for Linux was officially launched, there had been 21 Humble Bundles in total, of which 7 were indie bundles, 4 were Android & PC bundles, and the rest were bundles with specific studios or that featured other media (music, e-books).
This revolution in Linux gaming was a steady trickle compared to what was coming, though.
On Thursday, 14 February 2013, the flood gates opened.
It started with 26 games during the Steam for Linux Beta in 2012, but quickly became 50 games by the time of launch.
Some of the Linux-supported titles include BioShock Infinite, Metro 2033 and Last Light, Borderlands: The Pre-Sequel, Hotline Miami 2, and Pillars of Eternity.
Still not a cakewalk, but not the technical challenge it used to be
Though support for Linux gaming has increased tremendously over the past 5 years, getting everything to work like it’s supposed to can be tricky.
Graphics drivers in particular can be a chore to get working, with both Nvidia’s binary driver (i.e. not open source), and AMD’s fglrx binary driver giving problems under the latest version of Ubuntu (14.10, “Utopic Unicorn”).
For example, I wanted to try out BioShock Infinite on Ubuntu using my old AMD Radeon 5870. Upon launching the game, I found that no textures were being drawn on a number of the models.
A quick sojourn to Google revealed the cause: “We listed below Radeon HD 7xxx series as unsupported, because there is currently a bug in Catalyst with ARB_texture_compression_rgtc support on Terascale hardware. This causes textures in this format to fail to render, which is what you are seeing.”
Naturally, when the time came to upgrade I chose a Nvidia card. Aint nobody got time for lack of ARB_texture_compression_rgtc support.
It turns out that newer Nvidia cards (I have a GTX 970), come with problems of their own. Installing Nvidia’s binary driver caused the Ubuntu window manager to fail at boot, preventing me from using the PC at all.
Nothing a seasoned user can’t fix, but if you’re a newcomer to Linux that might be enough to put you off for life.
Fortunately my Nvidia driver issues could be resolved by installing newer software from officially unsupported, experimental sources (learn to love xorg-edgers as an Ubuntu gamer).
BioShock Infinite now runs beautifully on my Ubuntu machine.
This brief battle with Linux drivers had me thinking that Linux gaming is still not ready for the mainstream.
Then I remember where we’ve come from: duking it out with Windows emulators, complete lack of 3D acceleration on some hardware, and hacking at the X window server config files to just get basic graphical stuff to work (to just name a few challenges).
Maybe it’s not quite ready for the mainstream yet, but at least gaming on Linux doesn’t suck anymore.