Steam on Linux – A review (sort of) I never thought I’d do
Let me tell you a bit about Linux, Steam, gaming and me.
I’ve been a long time user of Linux. Started back in 1999 with Red Hat 5.2, got into Slackware 7 and learned a lot from that experience. Then in the last few years I turned to Debian and never looked back, though I must admit I’ve fooled around on occasion.
I remember in those days the games available on Linux were ATC, rogue, generally the old BSD games suite. I’m not sure Loki was on the horizon yet, I think it was, but in any case everything was a hit-or-miss experience. For instance, Starcraft worked out of the box like a charm with WINE, but mostly games were a longshot on Linux, at best.
Slowly, Loki got too early in the gaming game and began porting games that sold little and the whole venture seemed destined to fail. Id released some code, open source projects began making up for the lack of professional studio games (freecol and freeciv come to mind – Side Meier’s Colonization and Civilization clones – two of my favourites). Generally some talented people wanted to play the games they loved in a platform they loved (like OpenTTD for the Transport Tycoon game).
But still, Linux was cranky, you needed some experience and technical knowledge especially if you had to get some odd piece of hardware, especially graphics cards going. The proprietary drivers were still unholy artifacts – with the possible exception of Nvidia – which very quickly got the driver installation done right and relatively easy (arguably, when things got botched you might’ve ended up with lots of broken stuff).
I’m droning on about this, but I need to establish some groundwork about how all this gaming on Linux stuff has evolved over the years. Sure there was Sauerbraten, the release of Quake3, some more FPS games and a bunch of good strategy games (like Wesnoth), or OOlite (a favorite space combat game among Elite oldtimers). Some were original engines, some were ports. But for the most part they lacked the polish, attention to detail and deep game design that games made by people paid to develop them.
I’m not saying people who devoted their time and talents to build something out of nothing or very little in their spare time were a bunch of losers that had better crawl up a shadowy crevice, curl up and die: I’m saying the exact opposite. Kudos for trying and persisting. If anything else, these game projects that sprouted in and around Linux showed the rest of the gaming community that penguins love to game as well.
On a deeper analysis, it made developers aware that open source software and Linux in particular offered quite a lot of advantages when it came to game development: a stable system with loads of libraries with a friendly license (GPL), a mostly sturdy graphics API (OpenGL) and a rich community of like-minded people.
It wasn’t long before seriously fun and well-designed indie games began to appear – World of Goo is a shining example, built with open source.
The Humble Bundle, I believe, was instrumental in turning a trickle into a steady stream.
And Steam on Linux, I know, will open the floodgates (see what I did there?).
Valve recommends Ubuntu, and there’s good reason for that: it makes for a hassle-free installation. But I didn’t want to install Ubuntu on my desktop PC, plus I wanted to see how easy it’s going to be for people running other distributions.
I really like Linux Mint which I believe is doing what Canonical set out to do with Ubuntu, only the Mint fellows seem to be doing it right. I know Mint is primarily an Ubuntu-based distro, but there’s also the Linux Mint Debian Edition (LMDE) which supports the Debian repositories from stable and testing (it’s what I’m running on my laptop).
I swapped hard drives with a friend (thanks Theo!) and without it being as sexual as some dirty minds would like it to sound, I now had some 70+ odd gigs of space lying around. This was an older drive that makes weird noises and is slow as hell.
I decided to install Linux Mint Nadia 14 (XFCE 64bit) on it. I popped the USB I created with LiLi (Unetbootin should work fine as well) and chose the install boot option. I start up the installer, which is utterly simple and asks the strictly necessary stuff; I didn’t use the auto option. I set up my partitions manually and decide to give btrfs a try; a little while later, the installer informs me grub has failed to install.
Long story short, I had to use EasyBCD on Windows to make a Linux boot entry, plus re-partition with an ext4 boot partition – it looks like grub on the installer needs an extra btrfs-grub package. Other than that, the install was flawless and Mint was set up and running in ten minutes.
I got the AMD proprietary drivers for my HD5850. Installing was easy as peaches – it’s actually better than the windows counterpart which always leaves the previous driver lying around and making the CCC fail to start up (I always need to remove the previous driver completely, uninstall the driver from the control panel System menu and then install the new driver). I got compiz up and running; everything was a-okay.
Then, I download the Steam .deb, which is actually the steam installer. I try to install it with dpkg, but I get some dependencies missing – Steam needs some i386 libs and programs (that means 32bit). I got xterm:i386 to install with apt-get but there was a dependency chain as well. So I did an apt-get -f install and everything was soon in place. Then I got the Steam installer running, it asked me for the root password, downloaded a couple more packages and then downloaded the complete Steam itself.
Voila. That was it. I was like, that’s all?
I clicked on the Steam icon and it opened. It sounds stupid, but I was surprised. It behaved as it does on Windows, and as it should.
The single odd thing is a specific flash plugin required to watch videos on Steam – there’s a notice and a link you can follow to do so if you want. I didn’t because I didn’t care about flash on the Steam store. I also saw Steam working fine on a friend’s Debian Wheezy 64bit, after doing all the updates and installing a bunch of packages using this script . In that particular system, we also had to install libgl1-nvidia-glx:i386 (the 32bit OpenGL libs). CounterStrike worked like a charm – except that there was only the native resolution available in fullscreen (I’m not sure if that’s a Steam, CS, or Debian/Xorg thing).
In my own Steam installation, I check my library, and my games are all other (I’d got the THQ bundle – RIP – from Humble Bundle). None of those games was available for Linux. I checked on the free-to-play list, and there was just Dwarves?! and Team Fortress 2 available. The choice was easy (I always meant to try TF2 – it looked a lot of fun especially for an FPS).
I did a bunch of other things (read some Hydrogen Sonata) and once the download was finished, I clicked on Play. After some grumbling disk spinning, I got a stonewalling “Could not set ‘gl…” bla bla bla. It had something to do with the OpenGL subsystem; a missing extension or some driver problem.
I did some digging around, and lots of people had the same problem, which was a bad thing since I had the latest drivers from AMD and the only game I could try for free was TF2. I did some more checking, thought that perhaps it had something to do with running 64bit. I installed ia32-libs and checked the /usr/lib32 folder – the AMD driver had done its job – the GL components were there. I updated /etc/ld.so.conf to include the 32bit libs (just to make sure, I think Nadia does not do that as part of the ia32-libs package installation).
Still, the same error. In a dramatic turn of events, I decide to update the drivers as the error suggested – the only alternative was the latest beta driver.
It worked after that – like a charm, actually. It’s frigging slow on loading times because of the crappy HDD Linux is on, but perhaps I should install the library on one of the other disks. In-game performance is top notch with everything set on high, max resolution and so on (antialiasing off). I noticed some FPS lag spikes – it could be either the disk (I wasn’t paying attention), the network or the beta driver (there was a similar problem supposedly patched in earlier recent versions).
On the whole, it was just like it was on Windows. Steam is still Steam, and Linux is now a real gaming platform (albeit with few titles).
People who have no idea what Linux is installed Ubuntu just to get the in-game TF2 Tux item. I have no further comment on that.
Things are looking bright for gaming on Linux.