desktop-packages team mailing list archive
-
desktop-packages team
-
Mailing list archive
-
Message #77142
[Bug 1181651] Re: ldconfig problem with 64-bit nvidia driver packages
@Alberto, sorry to confuse you.
I am using Bumblebee, but I have everything working now. The alternatives are pointing to the Mesa GL libraries, nvidia-331 installed and libgl1-mesa-glx:i386 installed (though it's not installed by default nor by bumblebee, so I reported Bug #1383909 there).
But forget what I said in the other comments about Bumblebee. I was referring to the NVIDIA drivers only.
As I don't have a working computer with NVIDIA only, I can't test this myself.
But the bug reporter and another commenter are/were affected. There are also several people marked as "affected".
And I can see other people in the Web using an NVIDIA card complaining about Steam and Skype not finding the 32-bit libGL.so.1 or that it has "wrong ELF class" (because /usr/lib is listed before /usr/lib32, they say), in Trusty or previous releases.
Both /usr/lib/nvidia-XXX/alt_ld.so.conf and /usr/lib/nvidia-XXX-prime/alt_ld.so.conf are empty in my system.
If this is to avoid using 32-bit Mesa libraries, couldn't /usr/lib/nvidia-XXX/alt_ld.so.conf be pointing to the NVIDIA 32-bit libraries (like the bug reporter suggested)?
Also, /usr/lib/nvidia-XXX-prime/alt_ld.so.conf could point to the 32-bit Mesa libraries (but they are not installed by default, so the nvidia-prime could recommend libgl1-mesa-glx:i386).
But you know more about this than me.
I tried configuring the alternatives to use NVIDIA's ld.so.conf and alt_ld.so.conf, and "ldd ~/.steam/bin/steamui.so | grep GL" actually finds the NVIDIA's 32-bit libGL.so.1. Maybe it's working correctly after all.
Is any Ubuntu 14.04+ user with an NVIDIA card (no Optimus) still facing this issue?
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to nvidia-graphics-drivers in Ubuntu.
https://bugs.launchpad.net/bugs/1181651
Title:
ldconfig problem with 64-bit nvidia driver packages
Status in “nvidia-graphics-drivers” package in Ubuntu:
Confirmed
Bug description:
On Ubuntu 13.04 64-bit, the nvidia-319 package as well as other nvidia
driver pakcages (including nvidia-current and nvidia-current-updates
from the main ubuntu package repositories) don't play nice with
applications that use 32-bit OpenGL libraries. When such an
application tries to load the nvidia 32-bit libGL.so library, they
don't load the nvidia libGL.so but some other non-nvidia libGL.so.
This means a 32-bit application running on Ubuntu Raring 64-bit will
never use the nvidia libGL.so library.
After a lot of monkey business, I figured out what the problem is.
Which libGL.so a 32-bit application uses on a 64-bit system is
controlled by the file /etc/ld.so.conf.d/i386-linux-gnu_GL.conf which
is just a symlink to /etc/alternatives/i386-linux-gnu_gl_conf which is
another symlink to /usr/lib/nvidia-319/alt_ld.so.conf or something
similar for other versions of the nvidia drivers. This file is blank
in a clean install, so ldconfig doesn't know that 32-bit applications
asking for libGL.so should get linked with the version in
/usr/lib32/nvidia-319, so it links them with some other version. This
breaks 32-bit programs like Steam (which throws a warning about not
using direct rendering when it starts up) and 32-bit games like Team
Fortress 2 (which fails to start altogether). Of course, this isn't
specific to Steam and Team Fortress 2 but will affect any 32-bit
program trying to use libGL.so and its associated libraries on a
64-bit machine.
fortunately, the fix for this is pretty simple: in the file
/usr/lib/nvidia-319/alt_ld.so.conf in the nvidia-319 package add the
lines:
/usr/lib32/nvidia-319
/usr/lib/nvidia-319
This will tell ldconfig to use the nvidia libGL.so and associated
libraries for 32-bit applications. For the other versions of the
nvidia driver (such as nvidia-304 and nvidia-304-updates in the main
ubuntu repositories) it's a simple matter of replacing nvidia-319 with
nvidia-304, nvidia-304-updates, nvidia-313, etc. in the directory
names.
Although I reported this bug for the nvidia-319 package, I have
checked and this bug applies at least to the nvidia-304 and
nvidia-304-updates packages for Ubuntu 13.04 amd64 in the main ubuntu
package repositories as well. It probably also applies to other nvidia
driver packages as well, but I haven't checked those. I suppose all
you'd have to look for is a blank /usr/lib/<nvidia driver package
name>/alt_ld.so.conf file to check for the bug.
The file I've included is the output of ldd (which prints the dynamic
library dependencies of a program) when it's used on a 32-bit program
that needs the 32-bit libGL.so on an Ubuntu 13.04 64-bit machine. In
this case, the program I used ldd on is the 32-bit version of glxinfo
from mesa-utils:i386. The nvidia driver version I had installed when I
did this is nvidia-319. However, you will get a very similar result
for other nvidia driver versions/packages.
Also, I said "I don't know" for the package because 1.) it affects
multiple packages and 2.) it didn't accept the package name
nvidia-319.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers/+bug/1181651/+subscriptions
Follow ups