Getting Steam to work in Debian Stretch (Intel Ivybridge)

I recently made the jump into stretch. Previously I had steam working fine, and the games I played loaded. After the update, steam itself wouldn’t even start. This appears to be a common issue between the “steam-runtime”, which ships olds libraries no longer compatible with others shipped in the system.

Luckily there’s a fair amount of documentation, however, it was not individually sufficient:

The main strategy of deleting conflicting libraries enabled steam to start, but some games would randomly fail to start while others worked. In the end I use a two pronged approach: one script to delete a number of the conflicting libraries, and a wrapper script to start steam.

Script to remove libraries

#!/bin/bash
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libgcc_s.so.1
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libtinfo.so.5
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libtinfo.so.5
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgpg-error.so.0
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
find ~/.local/share/Steam/ubuntu12_32/steam-runtime -name libgcc_s.so\* -delete
find ~/.local/share/Steam/ubuntu12_32/steam-runtime -name libxcb.so\* -delete

Wrapper to start steam

#!/bin/bash
env LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1 /$LIB/libgpg-error.so.0' steam &

Troubleshooting Tips

  1. When steam launches a game from the interface, most of the debug information is available in /var/log/syslog. In the case of Train Fever, the game’s log was empty, but /var/log/syslog had all the information concerning which drivers failed to load, etc.
  2. If you’re having issues with steam starting, run “LIBGL_DEBUG=verbose steam” - there will be lots of information about libraries that fail to load.