Driver packages are not multi-arch. The 64 bit package provides both 64 bit and 32 bit libraries. The empty alternative is meant to avoid that, when nvidia is installed, users end up using nvidia's 64 bit libraries and mesa's 32 bit libraries.
As for the NVIDIA Optimus case, when in power saving mode (which you can select from nvidia-settings), the alternatives will be set to the "prime" option, which will make sure that only Mesa's GL libraries for both 64 bit and 32 bit are used, provided that you have the 32 bit version of mesa installed. This is dealt with automatically, and users shouldn't select alternatives manually. For example, when /usr/lib/nvidia-331-prime/ld.so.conf is selected, it will add the following: /usr/lib/x86_64-linux-gnu/mesa /usr/lib/i386-linux-gnu/mesa This is what happens when /usr/lib/nvidia-331/ld.so.conf and /usr/lib/nvidia-331/alt_ld.so.conf are in use: ldconfig -p | grep GL libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 libGLU.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLU.so.1 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/nvidia-331/libGL.so.1 libGL.so.1 (libc6) => /usr/lib32/nvidia-331/libGL.so.1 libGL.so (libc6,x86-64) => /usr/lib/nvidia-331/libGL.so libGL.so (libc6) => /usr/lib32/nvidia-331/libGL.so libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 This is what happens when /usr/lib/nvidia-331-prime/ld.so.conf and /usr/lib/nvidia-331-prime/alt_ld.so.conf are in use: when 32 bit mesa is not installed: # ldconfig -p | grep GL libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 libGLU.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLU.so.1 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/x86_64-linux-gnu/mesa/libGL.so.1 libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 when 32 bit mesa is installed: # ldconfig -p | grep GL libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 libGLU.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libGLU.so.1 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/x86_64-linux-gnu/mesa/libGL.so.1 libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1 libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1 Maybe you're missing the libgl1-mesa-glx:i386 package? NOTE: we do not support Optimus systems with the 304 nvidia driver and we do not support Bumblebee at all. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1181651 Title: ldconfig problem with 64-bit nvidia driver packages To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/1181651/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs