2

I've seen lots of answers for installing steam on 64-bit, but all of them involve installing libnvidia-gl-450:i386, which ends up replacing my 64-bit libraries that other software depends on. Is there any way to get both?

5
  • 2
    Does this answer your question? Ubuntu 18.04 broken install problem with libnvidia-common-450 package
    – user68186
    Dec 7, 2020 at 1:03
  • Normally, if you are using NVIDIA drivers from standard Ubuntu repositories, you should have both 64-bit and 32-bit version of libnvidia-gl-XXX (in case of my card XXX is 390) installed alongside each other, no need to install the 32-bit version separately. Try reinstalling your NVIDIA drivers. Maybe this answer is applicable for you: askubuntu.com/questions/1222020/…
    – raj
    Aug 25, 2021 at 10:46
  • What are the names of the lib packages you are trying to keep?
    – Nate T
    Aug 30, 2021 at 3:16
  • Just checked to make sure and libnvid... just installs the 460 drivers (as you all likely already know). In that case, just reinstall your mesa drivers. I currently have both nouveau and nvidia 460 on my machine. Whats more, they are both loaded side-by-side. One runs x and the other wayland / Sway, as Sway doesn't fare well with nvidia drivers. I had no problem with installation. I assumed the Nvidia would auto-unload when the Nouveau was loaded, but it didn't. Maybe it was the order in which they were loaded. (Nvidia first..) Doublechecked, and they are both still there.
    – Nate T
    Aug 30, 2021 at 8:17
  • 1
    I really hope you are not referring to the 8-10 year old answers regarding Ubuntu 11.XX - 12.XX. You do realize that Steam is now available as an apt package. I dont see any recent questions/answers on installing Steam-for-linux, as it is just one command: sudo apt install steam. Hopefully the question is helpful, as I've tried to 'spread it out.' If not, please consider adding detail to the question. Thanks.
    – Nate T
    Aug 30, 2021 at 10:29

3 Answers 3

2
sudo apt-get -o Dpkg::Options::="--force-overwrite" install -f libnvidia-common-450

Try running this command It was a lifesaver for many people

And this too--

sudo apt-get -o Dpkg::Options::="--force-overwrite" install -f libnvidia-gl-450:i386
2
  • He needs both. Without the libnvidia or a swappable, I doubt Steam-for-Linux will run. In fact, it barely runs with.
    – Nate T
    Aug 30, 2021 at 4:01
  • i was thinking that too but could no come up with a better solution rather took advises from other questions Aug 30, 2021 at 5:23
2

I suggest you simply install the packages, you can have them side by side, as I have

$ dpkg -l | grep libnvidia-gl-
ii  libnvidia-gl-440:amd64                                      450.119.03-0ubuntu0.20.04.1                 amd64        Transitional package for libnvidia-gl-450
ii  libnvidia-gl-450:amd64                                      460.91.03-0ubuntu0.20.04.1                  amd64        Transitional package for libnvidia-gl-460
ii  libnvidia-gl-460:amd64                                      460.91.03-0ubuntu0.20.04.1                  amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-460:i386                                       460.91.03-0ubuntu0.20.04.1                  i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD

Note: Install libnvidia-gl-xxx, and nvidia-driver-xxx

0

Disclaimer: Still not sure of the details. The lib just contains the modules, along with their installation files. Therefore, I guess I will answer both questions.

A. How to get the Lib without deleting the anti-dependencies, and

B. How to load both modules at the same time.

A.

One handy feature of Apt is that it lets you down load, for most modules, the source instead of the binaries with apt-src. You can use this with dpkg-deb a package for building binaries from source packages, to get the libraries into the proper location without "installing" them. They will not be under dpkg supervision, but in your case, that is a good thing (assuming that is what you were asking for).

The commands to do this are as follows:

apt source libnvidia-gl-450:i386        <---- Get the source
dpkg-deb --build

However, I did this already and inspected the files within. It is just drivers and installation files. There doesn't seem to be an actual library / api for which a package would need a dependency. (Expected to see an OpenGL implementation, but I didn't. Maybe it is just bad naming conventions? I will check the control after a while. This is part of the reason for the double answer..)

Before you go any further, take note that Nouveau and Nvidia drivers are interchangeable. Some swear by one or the other, but they both work in all the same situations (until they don't.. some applications have had trouble with Nvidia drivers in the past.)

B.

  • tl;dr

    Check /etc/modprobe.d if you haven't already. The delete functionality is possibly / likely coming from a file inside.

You still have both drivers, even if one is unloaded. You should be able to load them both simultaneously, if needed.

Keep in mind the order does matter as to whether or not they will both load simultaneously. If you read the man-page for modprobe.d, you'll notice that when a module is loaded, a script is run, whether or not a script is present in the modprobe.d. If a script is not present for the module being loaded, an alias command contained within the module is run.

These scripts contain (a subset of) a special set of commands. Among these are commands to install / load dependencies, delete / unload dependencies, and even run a special command or script instead of loading when the load command is issued.

For our context, this means a couple of things:

1.) The offending module only tries to unload at it's own load time, so if the other is not yet loaded, it will not yet be loaded. While a delete would still be possible, I would think that deleting the competition on load would be a bridge too far (although stranger things have happened.)

2.) Unless the script calls an inaccessible piece of code somewhere via command, the load-time behavior of these modules is completely and easily configurable. If they set a remove command, you can erase it. If there is no script in modprobe.d, you can make one with sudo touch <filename> and add dependencies.

Although you may not have to do that. First try loading with

$ modprobe <Nvidia-package>
$ modprobe <Nouveau-package>

and if that doesn't work

$ modprobe <Nouveau-package>
$ modprobe <Nvidia-package>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .