Fix Steam libGL Error on Arch Linux (Improved Solution)
This is an updated solution to fix common steam runtime issues on Arch Linux. The original post can be found here.
The Error
Here is an example of a steam runtime error:
$ steam
/home/user/.local/share/Steam/steam.sh: line 161: VERSION_ID: unbound variable
/home/user/.local/share/Steam/steam.sh: line 161: VERSION_ID: unbound variable
Running Steam on arch 64-bit
/home/user/.local/share/Steam/steam.sh: line 161: VERSION_ID: unbound variable
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1450127196)
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: radeonsi_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: radeonsi
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Here we can see multiple drivers were unable to be loaded. All too often this is to due to a symlink being broken.
Solution
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
If the above command does not work, run the above command again and then run the following command.
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
Cause
When Steam updates it frequently re-installs these runtime libraries causing the symlinks to break. As a result, when steam updates you should exit, update the libraries, and restart again. This fix is better than my orginal post because it is more generalized and therefore will remain effective for more people.
If you wish to know more on this topic visit the Arch Wiki Steam troubleshooting page.
Thanks for reading. If this helped you out, let me know on twitter so I know to keep writing this kind of stuff.