I was previously using CUDA 9.2 with Driver 390.xx. Both CUDA as well as Steam games were working fine.
Upon upgrading to CUDA 10.0 with Driver 410.48, Steam failed to start with ‘glXChooseVisual Error’. CUDA worked alright with no issues.
The .deb (local) build is missing 32 bit support therefore breaking Steam and other 32 bit applications.
The .run file installation has them alright and is working as expected.
This is obvious oversight while building and releasing the package.
This is reported here on Steam Forum:
but it is not really a steam issue but an Nvidia package build bug.
Kindly request Nvidia team to rectify and release a new build. I do prefer managing my packages using apt-get instead of manually installed.
The release notes for CUDA 10 suggest that 32-bit support may have come to an end (after it had been gradually phased out in previous releases):
Various internet news bits indicate that 32-bit support was removed from NVIDIA drivers during 2018, with the exact time frame slightly differing by operating system. Official announcement: https://nvidia.custhelp.com/app/answers/detail/a_id/4604/
So with 32-bit support removed for tools, applications, and drivers, it is not surprising you cannot find 32-bit components in the CUDA 10 installer. This doesn’t look like an oversight, more like part of the plan.
CUDA 10 .run file installer with Driver 410.48 for Linux x86-64 has the 32 bit compatibility files
Standalone Nvidia Driver (GeForce) 410.78 for Linux x86-64 has the 32 bit files
Even I found out that Nvidia Driver (Titan) 415.25 for Linux x86-64 has the 32 bit files
Just the CUDA 10 .deb installer with Driver 410.48 is missing them. That is strange.
Also, I understand CUDA 10 toolkit might not support new 32-bit development, but removing 32-bit runtime driver support for large number of existing software is odd. I had the files with CUDA 9.2 with 390.xx driver, the upgrade to CUDA 10 simply removed the 32-bit runtime files.
Just the driver runtime files would be enough for continuing support, which is packaged in all other forms anyway, just not with the .deb installer.
I use my GPU for two purposes, Deep Learning and Gaming, its weird that I have to stick to CUDA 9.2 for both use-cases or upgrade to CUDA 10 and loose out on Gaming on my Linux box.
As a fellow CUDA user, I can only quote what NVIDIA’s documentation says, and everywhere I look I see indications that all 32-bit support has ceased in new software at this point.
That does not prevent you from using your existing software for years to come. I am still on CUDA 8 and drivers from early 2018, for example. Since it all works just fine, I don’t see a need for installing newer versions.
Do you have specific needs that compel you to install CUDA 10? If not, I would suggest to keep using your existing CUDA 9.2 and matching drivers for deep learning; I don’t game so don’t know what you would need for that. Why don’t these games come in 64-bit versions, by the way? Seems horribly outdated not to offer 64-bit software at this time. After all, 64-bit platforms have been around for more than ten years, and the Steam survey shows 98% of users on 64-bit platforms at this time.
If you study the actual packages that get installed when you use the deb install method on CUDA 9.2, you can probably identify the package names that correspond to the 32-bit OpenGL compatibility libraries. It may be possible then to use the newer CUDA packages and just manually install these extra bits.
32 bit support is present if install driver from Ubuntu’s gpu driver ppa instead of Nvidia’s cuda-drivers metapackage.
This is a nvidia cuda repo issue.
The run file driver instalation has 32bit support install option in all of the driver version up to the most recent.
Which is actually meh, because instead of using nvidia repo for drivers, I have to use the old method with the manual install.