CS source

Ubuntu – Steam Client Installation and Review

Some time ago, Valve announced that they were releasing a Steam Client targeted at Linux systems. At the time, it was rumored that their first Linux playable game internally (other than independent titles that already had Linux versions) was Left 4 Dead. Although we have not seen the rumored L4D port, we do now have a full blown Steam client for Ubuntu Linux (at least that is the officially supported distribution, however, I have seen clients working in Mint, Fedora and OpenSUSE). Here, we are going to talk about the installation and configuration of the client, along with some of the ‘gotchas’ involved. We will then talk about a couple of the games available and some of the lessons learned during the client use and subsequent gameplay.

Ubuntu Linux – Now Steam Powered!
Your first destination for this adventure is the Steam website to download the client. You will end up with a package called ‘steam_latest.deb’ for installation. Since we won’t be installing this through the Ubuntu Software Center, we will need to drop to the command prompt and execute the following:

sudo dpkg -i steam_latest.deb

Here can be where some of our initial challenges begin. If you are running the 64bit version of Ubuntu, the package won’t install completely unless you already have the 32bit compatibility libraries. We can accomplish this as follows:

sudo apt-get install ia32-libs

You will then have to:

sudo apt-get -f install

This will complete the installation and finish setting up your Steam client. At this point, your client is ready to start up and sign in (or create a new Steam account with). Running Steam from your menu or at the command prompt will present you with, honestly something that I never thought I would see in any flavor of Linux, the Steam Client application:

Our Steam Client

What Have You Done For Me Lately?
Great, Valve came out with a Linux client, we all rejoiced. Then we asked, well what can we play? Well at the moment, it’s a pretty mixed bag in terms of number and quality of games available for Linux for the prices they are charging. ALL the games you see on my client were purchased at launch, which means I paid upwards of 75% off the now normal price, I got all five games for $26 – right now those same games would cost you over $80… In all fairness, Valve runs various package sales all the time, just keep an eye out and you can find the games you want for a reasonable price.

As of the date of this article, there were 128 games available for Linux. Some of the ‘big name’ games available as of now are:

  • Counter Strike
  • Counter Strike: Source
  • Team Fortress 2
  • Half Life
  • Postal 2 (I know, calling this ‘big name’ is stretching it…)
  • Serious Sam 3

Unfortunately most other big name titles are not available for our favorite platform. I hold out hope that more and more studios will begin to port (or write their games using OpenGL to minimize porting time) their games for us. It will certainly depend on the success of the client.

If you have spent any time playing (or attempting to play) games on Linux, you may have heard about Humble Bundle. This site offers a package of 3-6 games three to five times a year in a ‘pay what you want’ model. Each bundle offered (with one exception offered for Windows only) was a collection of games that were truly cross platform and had Linux versions available. During each of the drives (a drive since part of what you pay can go to a charity), of the three platforms (Windows, OSX and Linux), the Linux community always has the highest average amount paid for the package. Several drives raised over $2 million dollars and I think began to catch the eyes of some gaming studios in terms of Linux users willingness to pay for games.

Indie games like ‘World of Goo’, ‘Cogs’ and one of my favorites, ‘Trine 2’ are also available via Steam and you can often find them on sale (screen shot for ‘Trine 2’ below running on my Ubuntu Desktop):

Trine 2 – Linux Gaming Goodness

Challenges and Not the Gaming Kind
So, in addition to the initial hiccup when installing the client, there were several other challenges to getting our gaming on in Ubuntu using our new Steam Client. Although it should come as no surprise since this is the ‘norm’ in Windows, you absolutely, positively must be running the latest ATI or NVidia drivers (and forget running the client on the non-proprietary ‘radeon’ or ‘nouveau’ drivers even if they do offer some compositing and OpenGL acceleration unless you like playing games with framerates that more closely resemble a flip book than a smooth animation). For NVidia users, this means make sure you are running 301.32 drivers or greater. Those of us with ATI cards need to be running the 13.2 BETA drivers released on 2/18/2013 if you want to be able to run fullscreen games – some of the games will run ok with earlier drivers but only in windowed mode.

I also had to install the GTK2 and TIFF libraries in order to get several of my games to work, which was not a big deal except that for a client that had been in beta for almost five full months, a little more guidance would have been appreciated. In fact, if Valve is concentrating on a client only ‘supported’ on one distribution, I would expect a much smoother installation and configuration process. Linux flavors can have 1000s of different configurations, however, on one distribution, common tips should be easy to include. A more comprehensive installation process is needed and should check for compatibility libraries and download/install them as needed. I hope that is a maturity shortcoming and not a sign of the kind of support we can expect.

Final Thoughts
I am happy that this big step has been taken by the largest distributed game vendor around. I am also encouraged at the early reports from the community regarding the numer of games being purchased. I have always thought that Linux users would pay for the ability to round out our desktop experience with quality gaming support. If we are putting our money where our mouth is, I hope that Valve and the gaming studios will see the value of our community’s spending dollars and will follow suit.

I can only play World of Goo so long before I need to reboot to the Evil Empire just to get my Diablo III fix (I know, but I can’t help myself – MUST KILL DIABLO ONE MORE TIME). Drop me a line or leave a comment if you have any issues and I will try to talk you through them if I can.

Terrence T. Cox

A veteran of twenty years in Information Technology in a variety of roles. He has worked in development, security and infrastructure well before they merged into what we now call DevOps. He provides training in Linux, VMWare, DevOps (Ansible, Jenkins, etc) as well as containers and AWS topics.

4 thoughts on “Ubuntu – Steam Client Installation and Review

  1. “Since we won’t be installing this through the Ubuntu Software Center”: Why not? Just double-click the package and it’ll open in Software Center and give you the option to install it and its dependencies.

    1. Although this was a review of the Ubuntu version, I wanted to manually go through the steps so that other Debian distributions (which should work just fine) would see the steps and the gotchas.

      Thanks for pointing out that for Ubuntu it is available in the Software Center since my statement may have been unclear.

  2. Hi, Terrence,
    I installed Ubuntu on my PC alongside WIndows 7.

    I was able to download the steam client OK but when I ran…

    sudo dpkg -i steam_latest.deb

    I was getting an error which read something like…

    dpkg: error processing steam_latest.deb (–install):
    package architecture (i386) does not match system (amd64)

    To get past this I had to run…

    sudo dpkg –add-architecture i386 && sudo apt-get update && sudo apt-get install ia32-libs

    and then run

    sudo dpkg -i steam_latest.deb

    to get Steam up and running.

    1. Yes, I have heard that it can be necessary to add the i386 architecture to get the compatibility libraries to install. Thanks for the update.

Leave a Reply

Your email address will not be published. Required fields are marked *