Why are my 32bit OpenGL libraries pointing to mesa instead of nvidia, and how do I fix it?
- by Codemonkey
I have installed Nvidia's drivers on my Ubuntu 13 system, but according to this command (ldconfig -p | grep GL):
$ ldconfig -p | grep GL
libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
libGLU.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLU.so.1
libGLEWmx.so.1.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEWmx.so.1.8
libGLEW.so.1.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLEW.so.1.8
libGLESv2.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libGLESv2.so.2
libGL.so.1 (libc6,x86-64) => /usr/lib/libGL.so.1
libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
libGL.so (libc6,x86-64) => /usr/lib/libGL.so
libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
The 32bit version of OpenGL is pointing to mesa's libraries instead of nvidia. This causes my Steam games to refuse to launch with the error:
Could not find required OpenGL entry point 'glGetError'! Either your video card is unsupported, or your OpenGL driver needs to be updated.
Why is this the case? When the nvidia installer asked me if I wanted to install "32bit compatability libraries" (or something like that) I chose yes. How do I fix this?
Edit:
I just reinstalled the same Nvidia driver, and that apparently removed the 32bit OpenGL driver completely:
$ 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
Now Steam won't start:
You are missing the following 32-bit libraries, and Steam may not run:
libGL.so.1
Again, I chose YES when the installer asked me if I wanted to install 32bit libraries. Why are they not installed!?