32-bit GLX (nvidia) not working after update, unless running with strace
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Another fix: just delete /usr/lib/libGLX_nvidia.so.0
After checking what's happening with strace when I have the symlink as above.
When running glxinfo it loads libGLX_nvidia.so.0 -> libGLX_nvidia.so.535.154.05 but that fails because other 535.154.05 libs are missing.
So it then tries /usr/lib/libGLX_indirect.so.0 which successfully loads libGLX_nvidia.so.550.54.14 and then it works.
So the problem is when libGLX_nvidia.so.0 is loaded. If you remove it then everything works, but it will get recreated again when ldconfig runs so you will need to keep deleting it.
Another fix: just delete /usr/bin/libGLX_nvidia.so.0
After checking what's happening with strace when I have the symlink as above.
When running glxinfo it loads libGLX_nvidia.so.0 -> libGLX_nvidia.so.535.154.05 but that fails because other 535.154.05 libs are missing.
So it then tries /usr/lib/libGLX_indirect.so.0 which successfully loads libGLX_nvidia.so.550.54.14 and then it works.
So the problem is when libGLX_nvidia.so.0 is loaded. If you remove it then everything works, but it will get recreated again when ldconfig runs so you will need to keep deleting it.
It's weird, but it works...I did get an error about vulkan, though, when starting STeam:
It does break 32-bit vkcube, though. So I'm not sure it's a better fix than strace/debugging, at least for Steam.
Oh, yes I didn't check 32-bit vulkan. I just tested steam and cs2 and that was all fine since cs2 is 64-bit vulkan.
Maybe it means some steam things aren't hardware accelerated if they need vulkan? I didn't get any errors about vulkan though. (edit: I don't have hardware acceleration enabled in the steam settings)
But if I run /usr/bin/32/vkcube it uses CPU rendering instead of nvidia
Thanks to garpu for posting the cumulative repository link. I was having a hard time finding the earlier versions of the packages, my local /var/cache/packages has only the current versions. Rolling back glibc to 2.38 and binutils to 2.41 cured my steam and glx segfaults. Still running latest 6.6.18 kernel.
This problem gave me no end of frustration as pulling the video card and running the intel driver sort of worked but the venerable 3770 lacks the graphics capabilities needed to play games.
I originally thought it was a Steam problem, and ended up nuking my installs. Can't count the number of times I reinstalled the NVidia blob either.
I will keep monitoring this thread awaiting a definitive solution
Rolling back glibc to 2.38 and binutils to 2.41 cured my steam and glx segfaults.
You don't actually need to downgrade binutils. That is only if you are going to be compiling glibc-mutlilib yourself.
If you aren't going to recompile anything then just downgrading glibc is enough. (or replacing glibc-2.39 with a version that was linked by binutils-2.41)
You don't actually need to downgrade binutils. That is only if you are going to be compiling glibc-mutlilib yourself.
If you aren't going to recompile anything then just downgrading glibc is enough. (or replacing glibc-2.39 with a version that was linked by binutils-2.41)
The NVidia installer-compiled 32 bit versions of the GLX files segfault with the new binutils with the 2.38 glibc so in my case I needed to downgrade both.
I had forgotten about this until steam stopped working again today after the glibc update I guess I need to rebuild my glibc with the new patch.
edit - multilib glibc 2.39 built using binutils 2.41 including the CVE-2024-2961_glibc2.39 patch is here in case anyone wanted it: http://135.125.183.217/glibc/
I had forgotten about this until steam stopped working again today after the glibc update I guess I need to rebuild my glibc with the new patch.
edit - multilib glibc 2.39 built using binutils 2.41 including the CVE-2024-2961_glibc2.39 patch is here in case anyone wanted it: http://135.125.183.217/glibc/
I got the patch from the Slackware source here: http://ftp.slackware.com/pub/slackwa...glibc/patches/
The patch is nothing to do with the nvidia problem, it's a glibc security problem and the reason that glibc was recently updated on Slackware.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.