3

I'm on 18.04 and I just installed cuda-11, which required the 450 drivers, and I was wondering why I couldn't find the i386 version of the new packages.

I am very unhappy because I can't play games on my machine on my machine. I'm missing this library: libnvidia-gl-450:i386

Is their any way to download this package? Or any way to be able to use both cuda-11 AND steam on my machine?

Cydouzo
  • 153
  • 1
  • 6

2 Answers2

6

Hit the same issue (different scenario though, trying to install Blizzard Battle.net), and couldn't find a direct solution.

I've installed my nvidia 450 driver from here: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/, and apparently it doesn't contain a variant for i386.

The alternative source of drivers is: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa This one has i386 version of libnvidia-gl package but only for driver version 440 (as of this post written - 4-Jul-2020).

The only solution that worked for me, is completely remove driver and packages related to driver version 450, and install nvidia-driver-440.

Package libnvidia-gl-440:i386 works for the same purpose for me.

Youw
  • 176
0

Sometimes libnvidia-gl-450 is provided as 64-bit only in repositories but the binary blob driver provided by nvidia contains the relevant 32-bit libraries. These can be installed manually.

Obviously, the 32-bit library files have to match the installed driver version. The appropriate files can be obtained by using the extract only option provided by the installer e.g. for 465.19.01 get the driver and do ./NVIDIA-Linux-x86_64-465.19.01.run -x

The i386 library files are in a folder named "32". To install the 32-bit library manually:

chmod u+x NVIDIA-Linux-x86_64-465.19.01.run
./NVIDIA-Linux-x86_64-465.19.01.run -x
cd NVIDIA-Linux-x86_64-465.19.01
cd 32
sudo cp libEGL* libGLESv* libGLX* libnvidia-egl* libnvidia-gl* libnvidia-tls* /usr/lib32

There are some symlinks that should be created:

cd /usr/lib32
sudo ln -s libEGL_nvidia.so.465.19.01 libEGL_nvidia.so.0
sudo ln -s libGLESv1_CM_nvidia.so.465.19.01 libGLESv1_CM_nvidia.so.1
sudo ln -s libGLESv2_nvidia.so.465.19.01 libGLESv2_nvidia.so.2
sudo ln -s libGLX_nvidia.so.465.19.01 libGLX_indirect.so.0
sudo ln -s libGLX_nvidia.so.465.19.01 libGLX_nvidia.so.0

You will probably need to run this for the system to detect the new libraries:

sudo ldconfig
TimSC
  • 231