Translation(s): Deutsch - English - Español - Français - Português do Brasil - Русский


Steam logo

Steam is a proprietary content delivery and management application for PC software with GNU/Linux support. It is packaged for Debian in non-free

Graphics

Some games will run fine with your current set up, others may require updated drivers to get the best performance, and a few may refuse to run without the driver updates. Determine what graphics hardware you are using and follow the appropriate section for AMD graphics or NVIDIA graphics. As for you weirdos getting by on "Intel Corporation 82G33/G31 Express Integrated Graphics Controller" or somesuch (like me), try to keep up.

Preparation

User permissions

You must be sure that the regular user that will run steam games is at least at groups "video" and "audio".

# usermod -a -G video,audio second_user

Debian has a security approach that all is forbidden unless sysadmin explicitly allows. This schema is managed by "task" groups. The very first regular user created during installation is included in groups "video", "audio", "cdrom", "scanner", and so on. The next users created are not included at any special group. This way, next created users will not be able to execute steam. It fails with weird messages regarding "X bad number out of range." You must have to include them explicitly with commands or users management GUIs like kuser.

Installation

There are packages available for Debian 8 "Jessie", Stretch and Sid.

Packages are not currently available for Debian 7 "Wheezy". If you want to run Steam on a Wheezy system, you would need to either build a jessie chroot (look at schroot for this) or upgrade to Jessie first.

64-bit systems (amd64)

/!\ Instructions are for Jessie and Sid systems only. Do not do this on Wheezy or you will break your system.

  1. Add a "non-free" component to /etc/apt/sources.list, for example:

    # Debian Jessie
    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
  2. Enable Multi-Arch and update the list of available packages:

    # dpkg --add-architecture i386
    # apt update
  3. Install the steam package:

    # apt install steam
  4. Install 32-bit OpenGL libraries:

/!\ Installing the 32-bit OpenGL libraries may uninstall the 64-bit drivers you may have previously installed. Installing the AMD graphics or NVIDIA graphics drivers for your system is recommended. The appropriate OpenGL library will be installed along with those drivers. If you installed these drivers from jessie-backports be sure to also install the 32 bit library from jessie-backports.

32-bit systems (i386)

/!\ Instructions are for Jessie and Sid systems only. Do not do this on Wheezy or you will break your system.

  1. Add a "non-free" component to /etc/apt/sources.list, for example:

    # Debian Jessie 
    deb http://httpredir.debian.org/debian/ jessie main contrib non-free
  2. Update the list of available packages and install the steam package:

    # apt update
    # apt install steam

Troubleshooting

Steam runtime issues

Upstream ?GitHub issue tracker

Steam ships with its own versions of some libraries (the "Steam Runtime") in an attempt to emulate the Ubuntu 12.04 environment in later versions of Ubuntu.

However, some core libraries included in the Steam Runtime will often conflict with the newer versions of other libraries included in Debian (such as drivers, and specifically the open-source ATI driver).

Variant: remove offending files from Steam Runtime

You can work around this by deleting the Steam Runtime versions of these libraries, forcing Steam to fall back to the up-to-date system versions (the ones installed by apt-get).

Note that Steam will frequently re-install these runtime libraries when Steam is updated, so until ValveSoftware/steam-runtime#13(https://github.com/ValveSoftware/steam-runtime/issues/13) is resolved, whenever Steam updates, you should exit, remove the libraries, and restart it again.

Run these commands to remove runtime libraries known to cause issues with Debian:

Examples of issues / error messages known to occur if these libraries are present:

If you find yourself at this Steam page then likely removing the above files will sort this problem

https://support.steampowered.com/kb_article.php?ref=9938-EYZB-7457

Variant: Don't use runtime

If you start steam with

STEAM_RUNTIME=0 steam

it won't use its runtime and use the system libraries. On Stretch, you currently need to install the following packages to make this work

libxtst6:i386 libxrandr2:i386 libglib2.0-0:i386 libgtk2.0-0:i386 libpulse0:i386 libgdk-pixbuf2.0-0:i386 libcurl4-openssl-dev:i386 libopenal1:i386 libusb-1.0-0:i386 libdbus-glib-1-2:i386 libnm-glib4:i386 libnm-util2:i386

It's also necessary to link

ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

Because the libudev.so.0 file is currently not available in Debian. If this is not enough in the future, use

LD_LIBRARY_PATH=~/.steam/bin32 ldd ~/.steam/bin32/steamclient.so | grep 'not found'

to find missing dependencies of steamclient.so, or if some other Steam *.so fails to load, adapt the command for that one. To find the packages containing the dependencies, use the Debian package search at http://packages.debian.org.

No sound in games

Possibility: Library conflicts

You need to remove alsa-lib and libasound.so.* in ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/ ~/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/

so:

Possibility: Non-standard audio output device

Some games won't use any audio output device which doesn't use 16bit 44.1kHz by default. Usually this happens with quality devices which use higher values by default.

Steam Store and Community Pages not Displaying

Start Steam from the terminal

$ steam

When attempting to access the store page the terminal should output:

$ ~/.local/share/Steam/ubuntu12_32/steamwebhelper: error while loading shared libraries: libgpg-error.so.0: cannot open shared object file: No such file or directory

This means that you do not have the 32-bit libgpg-error0 package installed.

Install the proper package:

# apt install libgpg-error0:i386

Game Fails to Launch: (Steam Works)

Solution #1: It looks like when using the nvidia driver 367.44 directly steam breaks. It just fails to launch the game without libgtk-2.0-0:i386 (dependency).

Install the proper package:

# apt install libgtk2.0-0:i386

Solution #2: The Steam Game Folder needs x+ (exec) (If you copied from a remote location it may of removed permissions)

Make sure games inside /home/<username>/.steam/steam/steamapps/common/ have +x on the startup script. Some run independently via a shell script while other games run a shortcut. The launcher has to be +x for the game to work.

# chmod +x /home/<username>/.steam/steam/steamapps/common/<game>/

Slow Download Speeds

Issue

Due to a bug in the Steam for Linux client, download speeds can slow down to several bytes a second. This happens because the client looks up the network address for all the download servers it connects to every time it makes a connection. This can mean it will request the same information ten times a second from the DNS servers your network connection is using. Depending on how that DNS server is configured, it can throttle down the amount of DNS requests you can make. This causes Steam download speeds to start fast, but then quickly slow down into nothing.

Workaround

A workaround for this issue is to install a DNS cache on the local machine running Steam so it only taxes your machine, and not your ISP. This involves downloading dnsmasq and resolvconf

# apt update
# apt upgrade
# apt install dnsmasq
# apt install resolvconf

and then restart the services:

# service dnsmasq restart
# service resolvconf restart

This issue's solution came from the following Steam Community post.

Unable to load driver

When Steam's runtime is used, errors as these are possible:

Best solution is removing some unnecessary libraries:

# # please be accurate with this command
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete

See also


CategoryGame ?CategoryGameProprietary