Why are my 32bit OpenGL libraries pointing to mesa instead of nvidia, and how do I fix it?
Option 1: Try running sudo ldconfig
in a terminal. Reboot and try.
Option 2: If this doesn't sort it, you will have to manually add the directory of the NVidia libs (/usr/lib32) to the ldconfig configuration file (/etc/ld.so.conf.d/libc.conf) and then re-run ldconfig (as root of course)
EDIT: I would make a copy of libc.conf before changing it.
When I reinstalled the Nvidia drivers, all mesa OpenGL drivers were removed from the library cache. My library cache looked like this:
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
No 32bit drivers there! Luckily, after a quick search, I found Nvidia's 32bit drivers under /usr/lib32
. I added that path to a file under /etc/ld.so.conf.d/
(any file will do, you can even make a new file) and ran sudo ldconfig
. My cache now looks like this:
$ ldconfig -p | grep libGL.so
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib32/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
libGL.so (libc6) => /usr/lib32/libGL.so
And Steam works perfectly!