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

Reply via email to