GTX 970 breaks with the newest provided nvidia proprietary drivers

Hi,

Apparently nvidia-590 driver series dropped the support for a GPU on my parents computer. Updating the computer they were met with a black screen (which is an issue of it’s own). No matter, I can fix it (my parents can not). I needed to reboot into a snapshot to get on the tracks (I suppose I could have chrooted).

However I’m met with a bit of a conundrum - what is the current, recommended way to use this GPU on Manjaro? I’ve learned (by pure change) about the existence of nvidia-driver-assistant - but there are problems. It recommends to install 575 -series:

Detected GPUs:NVIDIA GeForce GTX 970 - (pci_id 0x13C2)Detected system:Manjaro Linux Please copy and paste the following command to install the legacy kernel module flavour:sudo pacman -S linux617-nvidia-575xx

However that package conflicts:

$ LANG=C sudo pacman -S linux617-nvidia-575xx   
resolving dependencies...
looking for conflicting packages...
:: nvidia-575xx-utils-575.64.05-3 and nvidia-utils-580.119.02-2 are in conflict (nvidia-libgl). Remove nvidia-utils? [y/N] u
error: unresolvable package conflicts detected
error: failed to prepare transaction (conflicting dependencies)
:: nvidia-575xx-utils-575.64.05-3 and nvidia-utils-580.119.02-2 are in conflict


No matter, I’ll just remove the conflicting packages ? But shouldn’t nvidia-driver-assistant already recommend the correct course of action?

Currently installed nvidia packages here are:

$ pacman -Qs nvidia
local/egl-gbm 1.1.2.1-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.21-1
    EGLStream-based Wayland external platform
local/egl-x11 1.0.4-1
    NVIDIA XLib and XCB EGL Platform Library
local/lib32-nvidia-utils 580.119.02-1
    NVIDIA drivers utilities (32-bit)
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/libxnvctrl 580.119.02-1
    NVIDIA NV-CONTROL X extension
local/linux-firmware-nvidia 20251125-2
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/linux-nvidia-meta 6.17-1
    Recommended stable nvidia kernel module
local/linux617-nvidia 580.119.02-3 (linux617-extramodules)
    NVIDIA kernel modules for linux617
local/mhwd-nvidia 580.119.02-2
    MHWD module-ids for nvidia 580.119.02
local/mhwd-nvidia-390xx 390.157-21
    MHWD module-ids for nvidia 390.157
local/mhwd-nvidia-470xx 470.256.02-15
    MHWD module-ids for nvidia 470.256.02
local/mhwd-nvidia-570xx 570.207-2
    MHWD module-ids for nvidia 570.207
local/mhwd-nvidia-575xx 575.64.05-3
    MHWD module-ids for nvidia 575.64.05
local/nvidia-driver-assistant 0.23.48.01-6
    Detect and install the best NVIDIA driver packages for the system
local/nvidia-settings 580.119.02-2
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 580.119.02-2
    NVIDIA drivers utilities

By running:

$ LANG=C sudo pacman -S linux617-nvidia-575xx  lib32-nvidia-575xx-utils nvidia-575xx-utils
resolving dependencies...
looking for conflicting packages...
:: nvidia-575xx-utils-575.64.05-3 and nvidia-utils-580.119.02-2 are in conflict (nvidia-libgl). Remove nvidia-utils? [y/N] y
:: lib32-nvidia-575xx-utils-575.64.05-1 and lib32-nvidia-utils-580.119.02-1 are in conflict (lib32-nvidia-libgl). Remove lib32-nvidia-utils? [y/N] y
error: failed to prepare transaction (could not satisfy dependencies)
:: removing nvidia-utils breaks dependency 'nvidia-utils=580.119.02' required by linux617-nvidia

Ok, I need to remove linux617-nvidia?

$ sudo pacman -Rns linux617-nvidia
tarkastetaan riippuvuuksia...
virhe: latauksen valmistelu epäonnistui (riippuvuuksia ei voitu ratkoa)
:: removing linux617-nvidia breaks dependency 'linux617-nvidia' required by linux-nvidia-meta

… and nvidia-linux-meta…

$ sudo pacman -Rns linux617-nvidia linux-nvidia-meta
tarkastetaan riippuvuuksia...
virhe: latauksen valmistelu epäonnistui (riippuvuuksia ei voitu ratkoa)
:: removing linux617-nvidia breaks dependency 'linux617-nvidia' required by linux-nvidia-meta

In the end I ran pacman -S linux617-nvidia-575xx lib32-nvidia-575xx-utils nvidia-575xx-utils and sudo pacman -S linux-nvidia-575xx-meta.

As the end result, after upgrading all packages on the system:

$ pacman -Qs nvidia
local/egl-gbm 1.1.2.1-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.21-1
    EGLStream-based Wayland external platform
local/egl-x11 1.0.4-1
    NVIDIA XLib and XCB EGL Platform Library
local/lib32-nvidia-575xx-utils 575.64.05-1
    NVIDIA drivers utilities 575 (32-bit)
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/libxnvctrl 590.48.01-1
    NVIDIA NV-CONTROL X extension
local/linux-firmware-nvidia 20251125-2
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/linux-nvidia-575xx-meta 6.17-1
    Recommended stable nvidia-575xx kernel module
local/linux617-nvidia-575xx 575.64.05-17 (linux617-extramodules)
    NVIDIA kernel modules for linux617
local/mhwd-nvidia 590.48.01-2
    MHWD module-ids for nvidia 590.48.01
local/mhwd-nvidia-390xx 390.157-21
    MHWD module-ids for nvidia 390.157
local/mhwd-nvidia-470xx 470.256.02-15
    MHWD module-ids for nvidia 470.256.02
local/mhwd-nvidia-570xx 570.207-2
    MHWD module-ids for nvidia 570.207
local/mhwd-nvidia-575xx 575.64.05-3
    MHWD module-ids for nvidia 575.64.05
local/nvidia-575xx-utils 575.64.05-3
    NVIDIA 575 drivers utilities
local/nvidia-driver-assistant 0.23.48.01-6
    Detect and install the best NVIDIA driver packages for the system
local/nvidia-settings 590.48.01-2
    Tool for configuring the NVIDIA graphics driver

After a reboot, the login manager works - but all VCs are broken, and after logging in the KDE Plasma desktop never appears.

Should I revert to the open driver instead? Any other advice?

EDIT: Indeed after upgrading to either 590 or downgrading to 575, the system is in an unusable state. There is no way to get any output, even rescue target is broken. The user is left with two options: boot with an external usb to chroot or boot into a previous snapshot.

My partner’s system has a GTX 970 (Maxwell) GPU using nvidia 470xx legacy driver
because 570xx and 575xx drivers do not have a libxnvctl package for conky yet

$ mhwd -li
> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
    video-nvidia-470xx            2023.03.23               false            PCI

470xx legacy driver can be installed using Manjaro Settings Manager - Hardware Configuration GUI, or:

mhwd -i pci video-nvidia-470xx
1 Like

What kernel are you running? Just to make sure it isn’t 6.17 as it is EOL, and would break this.

I used the Manjaro helper apps to install mine. Let it do a few of the steps for you. But you still have to remove packages yourself.

# List drivers
mhwd -l
sudo mwhd -i pci <driver from above list>

I had to run this as well. And there were/are linux617 remnants for me too (short term bug).

But only after the latter command above, and the packages it conflicts with.

Any idea why does the system still run linux617, if that is considered EOL?

This is a bog standard Manjaro installation as far as it goes. As in, I installed it, added user accounts and that’s it. I’d assume it to upgrade to the supported Kernel by itself (and not need me to do it. My parents sure will not be able to do it).

1 Like

Because it’s still in the repos and you haven’t changed it.

That’s what linux-meta is there for.

When the kernel is removed from the repo, linux-meta will be updated to conflict with the EOL kernel and require the next oldest kernel. So when you update, the EOL kernel will be removed and the next oldest kernel will be installed.

1 Like

Kernel 6.18 can be installed using Manjaro Settings Manager - Kernel GUI or:

sudo mhwd-kernel -i linux618

Reboot system to load new kernel, and remove older kernel:

sudo mhwd-kernel -r linux617
2 Likes

Ok, I need to do this once I visit my parents the next time (we do not live in the same address). I’ll get back here to report if it fixes the issue.

For whatever reason, linux-meta is not installed, it seems. Should’nt that be the default? I don’t remember changing any Kernel packages myself (I am certain no one else has).

The meta packages does not exist on a regularly maintained system.

The only comes into play on systems where a kernel becomes EOL without being replaced with with the next stable kernel.

For quite a while the linux-nvidia package has been rolling with the upstream Nvidia release.

With the latest rolling, from 580 to 590, Nvidia dropped three (3) architectures from the driver.

This is causing havoc for systems which have been working for years.

This has been know well ahead of time, but no one can expect everyone to know, after all there is a lot of old hardware running Linux.

If it is feasible for you, the next time you visit your parents, setup remote access using ssh?

This will make it possible to fix trivial issues, like a driver package, remotely.