This problem on 64-bits systems is caused by
/usr/lib being earlier in the
/usr/lib32. Steam tries the 64-bit libraries and complains, without looking any further.
It can be fixed however by in
~/Steam/steam.sh but that file seems to be restored to the original version every time steam is ran.
I fixed it by creating a script that does this:
/usr/lib32 to the library path, then starts steam (with the script's original arguments).
/usr/lib32 is found in the path before
/usr/lib, and steam will successfully use the 32-bit libraries.
You may also want to add the line
/usr/bin/steam, it will have the same effect, as long as you add it before the very last line. You'll need to sudo to edit
- This has the added bonus that it's a better fix, since everything that starts steam (the application menu entry, file type associations, URI associations) will work correctly.
- The disadvantage is that
/usr/bin/steam is likely to be overwritten when steam is updated.
I use the latter method, while keeping the script as a backup. That way, if
/usr/bin/steam gets overwritten, I can simply copy paste the line again from the script to fix it.