Update (Improved Solution)

I have posted a better solution here: elza.me/blog/2016/06/Steam/


Original Post

If you are running Steam on linux you may very well run into the situation where your client fails to start after a system upgrade. Today when I started steam I was greeted with the following:

$ steam
Running Steam on arch rolling 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1411443970)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast

We are unable to load the necessary drivers. All too often this is to due to a symlink being broken. Below is a fix given the above error output.

$ cd .local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/
$ mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.remove
$ rm libstdc++.so.6

$ cd ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/
$ mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.remove
$ rm libstdc++.so.6

In each directory we are renaming libstdc++.so.6.0.18 so it is no longer used, but keeping it in case we need it later. We then remove the symbolic link that went to libstdc++.so.6.0.18. Now when you start your Steam client again, it should download the needed drivers automatically.

Happy gaming!



Thanks for reading. If this helped you out, let me know on twitter so I know to keep writing this kind of stuff. Like what you see? Click the tree at the top to see my other blog posts.