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
    That isn't a Ubuntu package for any release, and if you look those packages aren't created by Ubuntu/Canonical being found in the 'restricted' repository, thus most probably nvidia closed-source issue. https://packages.ubuntu.com/search?suite=all§ion=all&arch=any&keywords=libnvidia&searchon=names – guiverc Jun 12 '20 at 04:54
  • 1
    Thanks but it doesn't really help me much here: The amd64 version of libnvidia-gl-450 exists on the main ubuntu repo (i just downloaded it) but cannot be found on Ubuntu packages. – Cydouzo Jun 12 '20 at 05:38
  • 1
    I suspect if you apt-cache policy look you're getting it from elsewhere (3rd party and not Ubuntu/Canonical) – guiverc Jun 12 '20 at 05:41
  • apt-cache policy sais I am getting it from: /var/lib/dpkg/status. – Cydouzo Jun 12 '20 at 05:42
  • 1
    As I said - it's from nvidia & not Ubuntu/Canonical. (the local /var/lib/dpkg/status is just a way of saying it's already installed) – guiverc Jun 12 '20 at 05:44
  • Oh I see, ok thanks! So do you know how I can get the i386 version? It sais "Unable to locate package" – Cydouzo Jun 12 '20 at 05:45
  • Since your comment showed the amd64 package is closed-source from nvidia, you'll have to ask them (they have the source, thus the capacity to package it..) – guiverc Jun 12 '20 at 05:46
  • Ok, I guess it will be harder than I thought. Thank you so much for your help! – Cydouzo Jun 12 '20 at 05:50

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
  • 221
  • 2
  • 8