NVIDIA GPU users, attention please! (Dec-2025)

So you installed and have nouveau drivers. You could have easily resolved the issue installing the proper 580xx version drivers from the AUR.

Yes, you’re probably right. I managed to really mess things up somewhere during the update process, so I wanted to share my experiences in case someone else screws up, too.

Last time I checked, RTD3 power saving mode wasn’t working on open source drivers, so I will have to double check to see if everything will work as expected. Question: Why do we need to switch to open graphics for Turing? I think the automatic switch should be for Pascal or older GPUs. Please correct me if I’m wrong.

Currently the available Nvidia packages (nvidia-open*) from Arch repos support only Turing and newer GPUs.

If you use a GPU older than Turing, then you have e.g. these alternatives

  • nvidia-580xx-dkms (AUR, supports Maxwell, Pascal, and Volta)
  • vulkan-nouveau

Even for turning NVIDIA Corporation TU117M [GeForce MX450], I had to use the 580xx drivers because I have verified that the RTD3 (D3Cold) state does not work with my card using the open-source NVIDIA drivers. The reason is that the open-source driver does not support disabling GSP, which is required for RTD3 to work on Turing mobile GPUs.
image

So I did
yay 580 and installed aur/nvidia-580xx-dkms, aur/nvidia-580xx-utils, aur/lib32-nvidia-580xx-utils, aur/nvidia-580xx-settings.

This automatically removes all the conflicting nvidia and nvidia-lts packages after prompting for removal.

This is crucial for healthy battery life on these laptops, as documented by me here https://armujahid.me/blog/linux-poor-battery-life-hybrid-graphics-fix.

Thanks for the explanation. Apparently there are reasons to use the older Nvidia driver. Fortunately we have the AUR to support such cases.
I’m also using 580xx because the new nvidia-dkms does not work at all with my old Nvidia GPU.

A question about the drivers, although it doesn’t concern my main PC (where I have an AMD CPU and GPU, so it doesn’t affect me), on the old PC that I need to keep running, from what I understand I should replace the proprietary drivers with the new ones because the new 590 version no longer supports older NVIDIA cards.

I have a 980 Ti (Maxwell architecture), and the proprietary drivers on Arch or EOS at version 580 worked fine.

Now, since I’m on another distro but could go back to Arch or EOS, I would need to use the LTS kernel for this old PC (I use a Wi-Fi router whose driver doesn’t work with the latest kernels).

From what I understand from reading here, I can switch to the AUR version of the 580 DKMS drivers. Am I correct?

If I installed EOS or Arch with the open drivers and then switched to the AUR DKMS drivers at version 580, is that possible?

And in the future, is there a chance they’ll be updated as well, perhaps excluding older cards like mine again?

PS: I also use my old computer for gaming, or to use AI to generate images in a lightweight way, with small models. So I also need CUDA features. Do the AUR drivers guarantee this?

Thanks to anyone who replies.

Yes, correct

If you installed EOS in the past, yes. If are installing EOS offline at the current time, yes.

If you are installing EOS online at the current time, you would need to choose the open source option, not the nvidia option and then switch to the 580xx drivers after the install.

Thanks for the reply!

Having such an old card, I always installed EOS or Arch with the open drivers, then switched to the closed ones once I got to the desktop of the installed distro.

I found that this was a ā€œsaferā€ procedure, as it usually worked. Also, installing the closed drivers doesn’t necessarily mean installing the dkms version, so since I wanted those, I always installed the open version of the distro first, then switched to the closed one.

EnOS + XFCE + RTX 3050 8GB on HTPC used for streaming & Steam/Epic/GOG (via HGL), a little anxious about breaking things…

nvidia-inst –test

2026-01-10 11:16:21: Note: 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106 [Geforce RTX 3050] [10de:2507] (rev a1) (prog-if 00 [VGA controller])
2026-01-10 11:16:21: Note: Currently installed packages related to Nvidia:
2026-01-10 11:16:22: egl-gbm 1.1.2.1-1
2026-01-10 11:16:22: egl-wayland 4:1.1.20-1
2026-01-10 11:16:22: egl-x11 1.0.3-1
2026-01-10 11:16:22: lib32-nvidia-utils 580.105.08-1
2026-01-10 11:16:22: libva-nvidia-driver 0.0.14-1
2026-01-10 11:16:22: libvdpau 1.5-3
2026-01-10 11:16:22: libxnvctrl 580.105.08-1
2026-01-10 11:16:22: linux-firmware-nvidia 20251125-2
2026-01-10 11:16:22: nvidia-dkms 580.105.08-5
2026-01-10 11:16:22: nvidia-hook 1.5.2-1
2026-01-10 11:16:22: nvidia-inst 25.11-1
2026-01-10 11:16:22: nvidia-settings 580.105.08-1
2026-01-10 11:16:22: nvidia-utils 580.105.08-5
2026-01-10 11:16:22: nvtop 3.2.0-1
2026-01-10 11:16:22: opencl-nvidia 580.105.08-5
2026-01-10 11:16:22: Note: inxi -Gza
Graphics:
Device-1: NVIDIA GA106 [Geforce RTX 3050] vendor: ASUSTeK driver: nvidia
v: 580.105.08 alternate: nouveau,nvidia_drm non-free: 550-580.xx+
status: current (as of 2025-11; EOL~2026-12-xx) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 3 speed: 8 GT/s
lanes: 8 link-max: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
off: HDMI-A-1 empty: DP-1,DP-2,DP-3 bus-ID: 01:00.0 chip-ID: 10de:2507
class-ID: 0300
Display: x11 server: X.Org v: 21.1.21 compositor: xfwm4 v: 4.20.0 driver:
X: loaded: nvidia gpu: nvidia,nvidia-nvswitch display-ID: :0.0 screens: 1
Screen-1: 0 s-res: 3840x2160 s-dpi: 96 s-size: 1017x572mm (40.04x22.52")
s-diag: 1167mm (45.94")
Monitor-1: HDMI-A-1 mapped: HDMI-0 note: disabled model: Beyond TV
serial: built: 2023 res: N/A dpi: 81 gamma: 1.2
size: 1210x680mm (47.64x26.77") diag: 1387mm (54.6") ratio: 16:9 modes:
max: 3840x2160 min: 640x480
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
inactive: wayland,device-1
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.105.08
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 3050/PCIe/SSE2
memory: 7.81 GiB
Info: Tools: api: eglinfo,glxinfo de: xfce4-display-settings
gpu: nvidia-settings,nvidia-smi x11: xdpyinfo, xprop, xrandr
2026-01-10 11:16:23: Info: nvidia-inst version 25.11-1
2026-01-10 11:16:23: Info: Command line: nvidia-inst --test
2026-01-10 11:16:23: Info: Selected mode: nvidia (Nvidia’s open source)
2026-01-10 11:16:23: Info: Installing packages: nvidia-open-dkms
2026-01-10 11:16:23: Info: Removing packages: nvidia-dkms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
COMMANDS TO RUN:
pacman -Rs --noconfirm --noprogressbar --nodeps nvidia-dkms
pacman -Syuq --noconfirm --noprogressbar --needed nvidia-open-dkms
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I ran reflector-simple & eos-rankmirrors then eos-update –aur:

eos-update --aur

eos-update: package updater with additional features
Updating native and AUR apps…

:: Synchronizing package databases…
endeavouros 13.1 KiB 88.8 KiB/s 00:00 [--------------------------------------] 100%
core 119.5 KiB 43.6 KiB/s 00:03 [--------------------------------------] 100%
extra 8.0 MiB 660 KiB/s 00:12 [--------------------------------------] 100%
multilib 128.5 KiB 46.8 KiB/s 00:03 [--------------------------------------] 100%
resolving dependencies…
looking for conflicting packages…

Package (1) Old Version New Version Net Change Download Size

core/archlinux-keyring 20251116-1 20260107-2 0.01 MiB 1.19 MiB

… keyring downloaded & installed; btrfs auto snap created …

:: Starting full system upgrade…
:: Replace nvidia-dkms with extra/nvidia-open-dkms? [Y/n]

Bit anxious about just hitting Y & hoping for the best, what’s the safest way for me to proceed here?

Your card should be using the nvidia-open-dkms so yes i would say yes and let it replace the current nvidia drivers with the correct ones.

Thanks, here goes…

upgrade summary

Replace nvidia-dkms with extra/nvidia-open-dkms? [Y/n] y
resolving dependencies…
looking for conflicting packages…
warning: dependency cycle detected:
warning: nvidia-utils will be installed before its egl-wayland dependency
warning: dependency cycle detected:
warning: eos-reboot-recommended will be installed before its eos-bash-shared dependency

<213-packages-list>

Total Download Size: 1206.90 MiB
Total Installed Size: 4318.05 MiB
Net Upgrade Size: 35.36 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages…
:: Running pre-transaction hooks…
(1/3) Creating Timeshift snapshot before upgrade…
==> Skipping timeshift-autosnap because only 1 hours have passed since the last snapshot.
(2/3) Removing initramfs…
(3/3) Remove DKMS modules
==> dkms remove --no-depmod nvidia/580.105.08 -k 6.12.61-1-lts
==> dkms remove --no-depmod nvidia/580.105.08 -k 6.17.9-arch1-1
==> depmod 6.17.9-arch1-1
==> depmod 6.12.61-1-lts
:: Processing package changes…
(1/1) removing nvidia-dkms [---------------------------------------------------] 100%
…etc…
( 41/213) upgrading mesa [---------------------------------------------------] 100%
( 42/213) upgrading egl-x11 [---------------------------------------------------] 100%
( 43/213) installing egl-wayland2 [---------------------------------------------------] 100%
( 44/213) upgrading nvidia-utils [---------------------------------------------------] 100%
( 45/213) upgrading egl-wayland [---------------------------------------------------] 100%
…etc…
( 71/213) upgrading vulkan-icd-loader [---------------------------------------------------] 100%
( 72/213) upgrading shaderc [---------------------------------------------------] 100%
…etc…
(124/213) upgrading lib32-nvidia-utils [---------------------------------------------------] 100%
(125/213) upgrading lib32-mesa [---------------------------------------------------] 100%
…etc…
(159/213) installing nvidia-open-dkms [---------------------------------------------------] 100%
(160/213) upgrading nvidia-hook [---------------------------------------------------] 100%
(161/213) upgrading nvidia-inst [---------------------------------------------------] 100%
(162/213) upgrading nvidia-settings [---------------------------------------------------] 100%
(163/213) upgrading opencl-nvidia [---------------------------------------------------] 100%
…etc…
(201/213) upgrading vulkan-headers [---------------------------------------------------] 100%
(202/213) upgrading wayland-protocols [---------------------------------------------------] 100%
…etc…
:: Running post-transaction hooks…
( 1/30) Creating system user accounts…
( 2/30) Creating temporary files…
( 3/30) Registering binary formats…
( 4/30) Updating journal message catalog…
( 5/30) Updating udev hardware database…
( 6/30) Applying kernel sysctl settings…
( 7/30) Reloading system manager configuration…
( 8/30) Reloading user manager configuration…
( 9/30) Updating the MIME type database…
(10/30) Restarting marked services…
(11/30) Reloading device manager configuration…
(12/30) Arming ConditionNeedsUpdate…
(13/30) Updating fontconfig configuration…
(14/30) Rebuilding certificate stores…
(15/30) Updating module dependencies…
(16/30) Install DKMS modules
==> dkms install --no-depmod nvidia/590.48.01 -k 6.12.63-1-lts
==> dkms install --no-depmod nvidia/590.48.01 -k 6.18.3-arch1-1
==> depmod 6.18.3-arch1-1
==> depmod 6.12.63-1-lts
(17/30) Updating initramfs…
:: Building initramfs for linux-lts (6.12.63-1-lts)
dracut[W]: If you need to use bluetooth, please include it explicitly.
dracut[W]: If you need to use bluetooth, please include it explicitly.
:: Building fallback initramfs for linux-lts (6.12.63-1-lts)
:: Building initramfs for linux (6.18.3-arch1-1)
dracut[W]: If you need to use bluetooth, please include it explicitly.
dracut[W]: If you need to use bluetooth, please include it explicitly.
:: Building fallback initramfs for linux (6.18.3-arch1-1)
(18/30) Notifying arch-audit-gtk
(19/30) Reloading system bus configuration…
(20/30) Checking for old perl modules…
(21/30) Hook to rank EndeavourOS mirrors after installing or upgrading the related mirrorlist package
…etc…
(22/30) Check if user should be informed about rebooting after certain system package upgrades.
(23/30) Updating fontconfig cache…
(24/30) Updating 32-bit fontconfig cache…
(25/30) Compiling GSettings XML schema files…
(26/30) Probing 32-bit GTK3 input method modules…
(27/30) Updating icon theme caches…
(28/30) Checking which packages need to be rebuilt
(29/30) Updating the info directory file…
(30/30) Updating the desktop file MIME type cache…
:: Searching AUR for updates…
:: 3 packages to upgrade/install.
…etc…
:: Running post-transaction hooks…
(1/5) Arming ConditionNeedsUpdate…
(2/5) Notifying arch-audit-gtk
(3/5) Updating icon theme caches…
(4/5) Checking which packages need to be rebuilt
(5/5) Updating the desktop file MIME type cache…

See you all after reboot…

A-OK :+1:

inxi -G

Graphics:
Device-1: NVIDIA GA106 [Geforce RTX 3050] driver: nvidia v: 590.48.01
Display: x11 server: X.Org v: 21.1.21 driver: X: loaded: nvidia
gpu: nv_platform,nvidia,nvidia-nvswitch resolution: N/A
API: EGL v: 1.5 drivers: nvidia platforms: gbm
API: OpenGL v: 4.6.0 vendor: nvidia v: 590.48.01 renderer: NVIDIA GeForce
RTX 3050/PCIe/SSE2
Info: Tools: api: eglinfo,glxinfo de: xfce4-display-settings
gpu: nvidia-settings,nvidia-smi x11: xdpyinfo, xprop, xrandr

Okay, I installed EOS, installed the Zen kernel, and installed the nvidia-580xx-dkms drivers, and everything worked fine. Everything works as it should.

Is putting nvidia updates in the pacman ignore list an option?

It’s Arch Linux, so yes, it’s an option. But it’s not recommended. In fact, ignoring any package long term is not recommended.

Wiki: https://wiki.archlinux.org/title/Downgrading_packages

  • Downgrading one package may require that its dependencies be downgraded as well. When the number of packages to downgrade is large, consider using a snapshot. See Arch Linux Archive#How to restore all packages to a specific date.
  • Be careful with changes to configuration files and scripts. For now pacman will handle this for us, as long as we do not bypass its safeguards.
  • If a downgrade involves a soname change, all dependencies may need downgrading or rebuilding too.
  • Similar to upgrading, downgrades are not picked up by already running processes. If the motivation for downgrading is avoiding a bug, be sure to restart affected programs.

If it is that you already have the 580 drivers installed and have not updated/upgraded your system since this announcement, technically, ignoring the package’s upgrades will keep you on the official Arch repo-provided version instead of the AUR version. BUT, I have no doubt this will eventually cause issues if you don’t remember that you’ve done this in a month or two.

And even if you do remember, I think it will still cause issues at some point.
So, again, not recommended.

Thanks. I should have said ā€œviable optionā€ since I knew I could do the ignore thing.

Part 2: For X11, is nouveau-vulkan a viable option (i.e. how bad is performance degradation; this is a desktop so battery saving stuff is not a consideration)?

And yes, I’m also considering going AMD.

This is actually better tested on an individual basis. If you don’t play games or do lots of screen sharing, then nouveau should be fine. Even so, it would be better to test it.

In addition to a significant performance degradation, you will also see compatibility issues. I would recommend simply switching to the 580xx AUR packages.

Be aware of updating right now, it gives errors. To fix this you need to comment out

patch -Np1 -i "${srcdir}/0002-Fix-compile-for-6.19.patch"

In /home/YOURUSERNAMEHERE/.cache/yay/nvidia-580xx-utils/PKGBUILD

Edit: Fix got released
2 aur/nvidia-580xx-dkms 580.126.18-1 → 580.126.18-2
1 aur/nvidia-580xx-utils 580.126.18-1 → 580.126.18-2