Installing Steam at the unsupported Linux which is not Ubuntu

Today at Feb 14th Valve released Steam for Linux. At this moment it officially only supports Ubuntu. However it is easy to run it on any other Linux distribution, in my case at OpenSuSE 12.2.
1. Create a Steam directory in your home (case matters). Everything below happens inside this directory:

mkdir Steam
cd Steam

2. Download the Steam installer for Linux at the link above, and save it as steam_latest.deb

3. Unpack the boostrap files from the DEB archive:

ar x steam_latest.deb
tar zxf data.tar.gz
xzcat usr/lib/steam/bootstraplinux_ubuntu12_32.tar.xz | tar x

4. Read the Steam install agreement, as you agree with it if you continue:

less steam_install_agreement.txt

5. Clean up a little bit before the installation by removing the unused files:

rm -rf control.tar.gz data.tar.gz debian-binary etc/ steam_install_agreement.txt steam.sh usr/

6. Run the boostrap steam binary:

cd ubuntu12_32
./steam

This will download the Steam main content – around 170Mb into $HOME/Steam/packages. Wait for it. After everything is downloaded and unpacked, it exists.

7. Prepare the real Steam binary, which will be very useful when running games, by creating a followed file named steam in your $HOME/bin directory:

#!/bin/sh
# Comment this out if you want to use PulseAudio
export SDL_AUDIODRIVER=alsa
export LD_LIBRARY_PATH=$HOME/Steam/ubuntu12_32
exec $HOME/Steam/ubuntu12_32/steam "$@"

don’t forget to chmod 755 this script as well. The SDL_AUDIODRIVER line is necessary because by default Steam uses pulse backend for the sound output, and if you don’t have PulseAudio installed and configured, you will have no sound in Steam games.

8.Steam expects to find some of its libraries in the .steam/sdk32 directory, and if you do not have them you’ll get an error such as  “Failed to initialize the authentication interface”.

I do not recommend copying the libraries there directly, since Steam might update its internal libraries any time, and you’d have to copy them each time you start Steam. Instead just create a symlink:

ln -s $HOME/Steam/linux32 .steam/sdk32

That’s it. Now just start your Steam script as “steam”.

So far everything seem to work properly on OpenSuSE 12.2, including:

  • Creating an account,  logging in with an existing account
  • Browsing the store, and purchasing games
  • Running the purchased games

Enjoy!

This entry was posted in Linux, Steam.

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.