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

Steam logo

Steam is a proprietary content delivery and launcher application for video games, creative tools, and multimedia such as movies and soundtracks. Starting in 2012, it has official support for GNU/Linux, and has a custom version of Wine included for running Windows-only games and software. It is packaged for Debian in the non-free section.


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. On Intel graphics hardware, since both use the same driver packages, you can follow the AMD instructions below to install 32-bit libraries for Vulkan and OpenGL support. Be aware that older generations (Particularly Intel Ivybridge) have incomplete support for Vulkan, and likely will not work with most Proton/Steam Play games.


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

64-bit systems (amd64)

/!\ When installing 32-bit libraries, be careful to make sure that they don't conflict with their 64-bit variants, watch for any removals that Apt suggests during these operations. If you use an AMD chip, be aware that newer generations also require the installation of firmware-amd-graphics in order to function properly.

32-bit systems (i386)

3. Install the recommended drivers and Vulkan libraries:


Steam runtime issues

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.

By default, it will also use newer versions of certain libraries from the host system if available. You can disable this functionality, and force utilization of the older Steam runtime, by running Steam with:

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 Mesa driver that may be in use on systems using AMD and Intel graphics).

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 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

Variant: Don't use runtime

If you start steam with:


It won't use its runtime and will only use the system libraries. The necessary packages to run entirely without the runtime have been removed in Debian 10/Buster, but Steam will automatically use specific newer system libraries in place of its runtime if they're available.

On Debian 9/Stretch, you can 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 two libraries because the file is currently not available in Debian:

ln -s /lib/i386-linux-gnu/ /lib/i386-linux-gnu/

If this is not enough in the future, use

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

to find missing dependencies of, 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

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.

No sound in games

Possibility: Library conflicts

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


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 may output:

$ ~/.steam/debian-installation/ubuntu12_32/steamwebhelper: error while loading shared libraries: 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)

Case #1: In some cases, games may depend on system libraries outside the Steam runtime that you might not have installed, such as GTK2

Install the proper package:

# apt install libgtk2.0-0:i386

Case #2: The Steam game folder needs +x (exec permissions). You may encounter this if you're mounting an external drive containing a library, or if it was copied from a remote location.

Make sure games inside /home/<username>/.steam/steam/steamapps/common/ have execution permissions on the startup script. Some run independently via a shell script (Ending in .sh) while other games run a shortcut.

In the "Properties" menu of most desktop file managers, you can set this permission (Check for an "Is executable" checkbox or similar).

Through the terminal, you can do the same by running a command such as this:

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

Remember to change this example path to the one of the actual file you're attempting to set as an executable, both the folder names and the name of the script file will vary highly. Also note that the "#" indicates that this command needs to be run as an administrator. If it's set up, you can exchange this for a "sudo" at the start of the command, or you can run "su" to change the terminal's user to root before you run this command.

Slow Download Speeds


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.


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 "*" -o -name "*" -o -name "*" \) -print -delete

See also

CategoryGame ?CategoryGameProprietary