Package Details: nvidia-390xx-dkms 390.157-20

Git Clone URL: https://aur.archlinux.org/nvidia-390xx-utils.git (read-only, click to copy)
Package Base: nvidia-390xx-utils
Description: NVIDIA drivers - module sources
Upstream URL: https://www.nvidia.com/
Licenses: custom
Provides: NVIDIA-MODULE
Submitter: svenstaro
Maintainer: jonathon (vnctdj)
Last Packager: vnctdj
Votes: 62
Popularity: 0.032936
First Submitted: 2020-03-11 17:29 (UTC)
Last Updated: 2026-03-07 23:27 (UTC)

Pinned Comments

vnctdj commented on 2025-01-24 07:37 (UTC)

Use this forum thread for discussion: https://bbs.archlinux.org/viewtopic.php?pid=1946926

jonathon commented on 2022-05-26 09:46 (UTC)

Please don't flag this package out-of-date unless a new version has been released by NVIDIA.

jonathon commented on 2021-12-26 22:44 (UTC) (edited on 2021-12-26 22:44 (UTC) by jonathon)

The DKMS package guidelines are explicit that linux-headers should not be a dependency of any DKMS package.

As a concrete example of why including that as a hard dependency is a bad idea, what happens when linux is not an installed kernel?

Latest Comments

1 2 3 4 5 6 .. 39 Next › Last »

drankinatty commented on 2026-03-08 18:53 (UTC) (edited on 2026-03-08 21:09 (UTC) by drankinatty)

Success

The updated package by @vnctdj is up and running on 6.19.6-arch1-1. Modules built fine on running 6.18 kernel, updated the nvidia-390xx-utils packages, then system update to 6.19 and rebooted, and lightdm is happily up and running on the 390xx driver. (LTS Moved to 6.18.16, I haven't tried booting it yet)

Thanks to @vnctdj, @canolucas and @Wargoth and all that helped. Sorry I didn't have more time this go round.

vnctdj commented on 2026-03-07 23:27 (UTC)

I just pushed an updated version of the patch that incorporates Wargoth's changes.

Thanks to Wargoth, of course, but also to drankinatty and canolucas for your testing!

Wargoth commented on 2026-03-05 19:09 (UTC)

Fixed the kernel-6.19.patch — now DKMS builds successfully on kernel 6.19. https://pastebin.com/Rhdy9KHe

canolucas commented on 2026-03-03 18:56 (UTC) (edited on 2026-03-07 22:57 (UTC) by canolucas)

Ok, so Linux 6.19 just arrived in the [core-testing] repo. As usual, I enabled the repo and ran the following command to update the relevant packages:

pacman -S linux linux-headers linux-firmware

However, DKMS fails when trying to build this package against the new kernel.

Here is the make.log: https://paste.opensuse.org/pastes/728f8044ea99

For now, I downgraded linux and linux-headers to the latest working version:

pacman -U /var/cache/pacman/pkg/linux-6.18.13.arch1-1-x86_64.pkg.tar.zst /var/cache/pacman/pkg/linux-headers-6.18.13.arch1-1-x86_64.pkg.tar.zst

After downgrading, everything works normally again and the driver builds without issues.


In the log file there are several warnings, but the relevant error seems to be:

nvidia/os-interface.c: En la función ‘os_delay_us’:
nvidia/os-interface.c:513:9: error: declaración implícita de la función ‘in_irq’ [-Wimplicit-function-declaration]
  513 |     if (in_irq() && (MicroSeconds > NV_MAX_ISR_DELAY_US))
      |         ^~~~~~

(Sorry the log is in Spanish.)

It looks like the function in_irq() is no longer declared in kernel 6.19. Possibly it was replaced by in_hardirq(), since there were already attempts to replace in_irq() with in_hardirq() in Joan's patches.

So this line in nvidia/os-interface.c:

if (in_irq() && (MicroSeconds > NV_MAX_ISR_DELAY_US))

Needs to be replaced with:

if (in_hardirq() && (MicroSeconds > NV_MAX_ISR_DELAY_US))

There may also be other occurrences that need to be updated.


Edit: I just noticed the openSUSE patch posted by @drankinatty. It looks like they also replaced in_irq() with in_hardirq() and added:

#include <linux/hardirq.h>

So it seems all in_irq() calls may need to be replaced.

Patch reference: https://build.opensuse.org/projects/X11:Drivers:Video/packages/nvidia-gfxG04/files/kernel-6.19.patch?expand=1


I’m available to test again once the PKGBUILD is updated.


canolucas commented on 2026-02-27 20:34 (UTC) (edited on 2026-02-27 20:42 (UTC) by canolucas)

Hey guys, I'm waiting for 6.19 to hit the testing repo. I'll let you know if the driver works with the new kernel ASAP. If somebody has time to compile 6.19 sooner, please let us know. The patch looks good, hopefully it will compile and boot.

drankinatty commented on 2026-02-22 09:57 (UTC) (edited on 2026-02-27 03:47 (UTC) by drankinatty)

Update

I've run into an issue in the nvidia-drm-modeset.c file and I've got a Mayday e-mail sent to the SUSE/openSUSE 390 maintainer to see how he handled the issue. The problem is there is no equivalent code in our 390xx nvidia-drm-modeset.c file for the changes in Joan's patch. Essentially the static bool __will_generate_flip_event(...) function that Joan patches does not exist in our 390xx code. It looks like a helper function that was added to help remove the nv_drm (the purpose of this whole patch-cycle), but I haven't figured the logic out yet.

All suggestions welcome. I'll go back to the 470xx code and see if I can find where this rabbit-trail begins.

Very different patch used by openSUSE

As we work though this, the smart maintainer at openSUSE passed along the changes for 6.19 for the openSUSE 390 driver It takes a different approach to accomplish the same changes. We may end up with a mix, unless the patch from @vnctdj already solves the issues with for our code. Let me know if the current patch works (no 6.19 to test -- yet)

Wait, does the patch @vnctdj put together handle this already?

It looks like it does. Can anybody confirm? I don't have an Arch box with 6.19 yet, but the patch handles the issue above simply by adding the struct drm_crtc_state *new_crtc_state pointer. If all is well, then I'll quit chasing my tail on this patch. Let me know.

Testing @vnctdj Patch with Current and LTS kernels - All Good

While we still need the test with the 6.19 kernel, the patch @vnctdj provided works with the current (6.18.13) and LTS (6.12.74) building without issue. If anybody has a test on the 6.19 kernel, let us know.

vnctdj commented on 2026-02-21 22:40 (UTC)

I've just pushed a patch for Linux 6.19, I've done my best to imitate Joan Bruguera's ones... I guess we will be lucky if it works without changes!

canolucas commented on 2026-02-18 01:14 (UTC)

Below are the two patches by Joan Bruguera for the NVIDIA 470xx driver series, providing compatibility fixes for Linux 6.19:

  1. nvidia-470xx-fix-linux-6.19-part1.patch https://github.com/joanbm/nvidia-470xx-linux-mainline/blob/master/patches/nvidia-470xx-fix-linux-6.19-part1.patch

  2. nvidia-470xx-fix-linux-6.19-part2.patch https://github.com/joanbm/nvidia-470xx-linux-mainline/blob/master/patches/nvidia-470xx-fix-linux-6.19-part2.patch

Hopefully, these patches can also be applied to the 390xx sources. However, they will most likely require some minor adjustments.

batot commented on 2026-02-15 18:18 (UTC) (edited on 2026-02-15 18:43 (UTC) by batot)

NOT WORKING!

(2/3) Install DKMS modules
==> dkms install --no-depmod nvidia/390.157 -k 6.12.19-1-lts

Error! Bad return status for module build on kernel: 6.12.19-1-lts (x86_64)
Consult /var/lib/dkms/nvidia/390.157/build/make.log for more information.
==> WARNING: `dkms install --no-depmod nvidia/390.157 -k 6.12.19-1-lts' exited 10
- gcc version 15.2.1 20260209 (GCC)
- "*** Failed CC version check. Bailing out! *** make[3]: *** [/var/lib/dkms/nvidia/390.157/build/Kbuild:187: cc_version_check] Error 1 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/usr/lib/modules/6.12.19-1-lts/build/Makefile:1944: /var/lib/dkms/nvidia/390.157/build] Error 2 make[1]: *** [Makefile:224: __sub-make] Error 2 make[1]: Leaving directory '/usr/lib/modules/6.12.19-1-lts/build' make: *** [Makefile:81: modules] Error 2 "

and fixed, which works for me:

$ sudo dkms remove -m nvidia -v 390.157 --all || true
sudo env CC=gcc-14 IGNORE_CC_MISMATCH=1 dkms install -m nvidia -v 390.157 -k 6.12.19-1-lts
dkms status | grep nvidia
Deleting module nvidia/390.157 completely from the DKMS tree.
Creating symlink /var/lib/dkms/nvidia/390.157/source -> /usr/src/nvidia-390.157

Sign command: /usr/lib/modules/6.12.19-1-lts/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module(s)..................... done.
Signing module /var/lib/dkms/nvidia/390.157/build/nvidia.ko
Signing module /var/lib/dkms/nvidia/390.157/build/nvidia-uvm.ko
Signing module /var/lib/dkms/nvidia/390.157/build/nvidia-modeset.ko
Signing module /var/lib/dkms/nvidia/390.157/build/nvidia-drm.ko
Installing /usr/lib/modules/6.12.19-1-lts/updates/dkms/nvidia.ko.zst
Installing /usr/lib/modules/6.12.19-1-lts/updates/dkms/nvidia-uvm.ko.zst
Installing /usr/lib/modules/6.12.19-1-lts/updates/dkms/nvidia-modeset.ko.zst
Installing /usr/lib/modules/6.12.19-1-lts/updates/dkms/nvidia-drm.ko.zst
Running depmod... done.
nvidia/390.157, 6.12.19-1-lts, x86_64: installed

$ dkms status
nvidia/390.157, 6.12.19-1-lts, x86_64: installed
vboxhost/7.2.6_OSE, 6.12.19-1-lts, x86_64: installed
zfs/2.3.1, 6.12.19-1-lts, x86_64: installed

vnctdj commented on 2026-02-13 15:52 (UTC)

@seth, sorry for the late reply. Yes, please. I think it's easier to find information if we keep a single thread?

Also, would it be possible to remove @jonathon as maintainer? It feels strange to be co-maintainer with someone who has been deceased for years...