Running Steam with your own runtime instead of Valve's

The Steam client comes with its own runtime, which is the runtime of SteamOS.

The problem there is that it's based upon Debian Stable, thus old and not very high performance, but the biggest problem is that Valve doesn't quite follow up on security updates from upstream.

On bleeding edge distros, often the older Steam runtime causes problems in the newer distro, sometimes the Steam client even refuses to start altogether because of incompatibilities with newer software. This will almost always happen on systems of users that compile their own kernels because they will have installed and use conflicting C-libraries on their systems.

So whether or not you're sticking with the Debian Stable foundation, or prefer a bleeding edge install instead to get more features and performance or newer hardware support, it's possibly a good idea to at least know this little trick, so that you can use it when necessary (for instance if the Steam client refuses to start after a system update):

You can start the Steam client with the runtime sources that are already on your computer instead of using those packed with the Steam client, by starting the Steam client up with this command:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam

Depending on the specific location of your source files you might want to adapt the location (normally they're found in that folder though, but check if they are installed altogether if it doesn't work).

#!/bin/bash

gcc_lib32dir=$(gcc-config --get-lib-path | cut -d: -f2)

export LD_PRELOAD=${gcc_lib32dir}/libstdc++.so

exec ~/.steam/steam/steam.sh