Package Details: nvidia-390xx-utils 390.157-14

Git Clone URL: https://aur.archlinux.org/nvidia-390xx-utils.git (read-only, click to copy)
Package Base: nvidia-390xx-utils
Description: NVIDIA drivers utilities
Upstream URL: https://www.nvidia.com/
Licenses: custom
Conflicts: nvidia-390xx-libgl, nvidia-libgl, nvidia-utils
Provides: nvidia-390xx-libgl, nvidia-libgl, nvidia-utils, opengl-driver, vulkan-driver
Submitter: svenstaro
Maintainer: jonathon (vnctdj)
Last Packager: vnctdj
Votes: 61
Popularity: 1.12
First Submitted: 2020-03-11 17:29 (UTC)
Last Updated: 2025-01-24 07:30 (UTC)

Dependencies (6)

Required by (321)

Sources (17)

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 .. 29 Next › Last »

drankinatty commented on 2025-03-27 06:32 (UTC)

@air-g4p ... not like I've never done anything like that myself ...

air-g4p commented on 2025-03-26 09:55 (UTC)

@drankinatty - Thank you for taking the time to correctly identify my made in haste 'failure to apply' oversight.

Completely understood on the potential 390 and 470 Wayland issues.

The correctly edited PKGBUILD with the kernel-6.14.patch builds, installs and operates correctly against the 6.14-X linux and linux-zen kernels.

@vnctd - Given the above, please consider incorporating the 6.14 patch.

Cheers

drankinatty commented on 2025-03-25 21:20 (UTC) (edited on 2025-03-25 21:31 (UTC) by drankinatty)

@air-g4p, the error:

nvidia-drm/nvidia-drm-drv.c:761:6: error: ‘struct drm_driver’ has no member named ‘date’
  761 |     .date                   = "20160202",
      |      ^~~~
nvidia-drm/nvidia-drm-drv.c:761:31: error: initialization of ‘unsigned int’ from ‘char *’ makes integer from pointer without a cast [-Wint-conversion]
  761 |     .date                   = "20160202",
      |                               ^~~~~~~~~~

Suggests that the 6.14 patch was NOT actually applied in your PKGBUILD. If you look at the patch, it's job is to remove the .date member from the struct by wrapping it in #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 14, 0) ... #endif to only make the .date member available for kernels < 6.14. Did you add the patch as a source but forget to apply it?, e.g.

    # Adapted from https://gist.github.com/joanbm/d0cb8790ca610fbd2c2e43f30707ce18
    printf "\n** kernel-6.14 patch**\n\n"
    patch -Np1 -i ../kernel-6.14.patch

Double check your PKGBUILD and I'll double check for any further patches needed.

Update

There are no further patches to the 470 driver to backport to the 390 driver. Remember Wayland use with the 390 and 470 driver was not something the drivers supported as Wayland was just beginning to show up in Linux when the 470 driver was released, much less when then 390 driver was released. As long as x-compatibility is preserved in Wayland, it should run, but any special Wayland feature is likely not implemented in either the 470 or 390 drivers.

air-g4p commented on 2025-03-25 15:34 (UTC)

@drankinatty - Thank you for your 6-14 efforts to date.

  1. I use Wayland
  2. I appended the kernel-6.14.patch to the current PKGBUILD without removing the kernel-6.13.patch
  3. The build failed against 6.14 linux-zen this way:

https://paste.rs/xQe7A

Please let me know if you understand why it failed.

I am willing to test alternative solutions.

Cheers

drankinatty commented on 2025-03-25 08:33 (UTC) (edited on 2025-03-25 08:36 (UTC) by drankinatty)

@canolucas I'm really on the fence about this. I'm not sure why the openSUSE build needed to revert the kernel-6.13.patch. I have not reverted it on Arch and there are no problems. I'm a bit confused about why the 6-13 KBuild patch for absolute paths for link creation would ever need to be reverted, but, that's not to say some interplay with the normal kernel files hasn't/won't make that unnecessary.

The openSUSE driver build is a bit strange. The 390xx driver is an actual supported package by openSUSE. Sometimes they are slow updating the legacy drivers on the Nvidia site, so I end up patching and building. What that also means is that their build (which isn't always available to check what it contains) may contain their own patch that duplicates my kernel-6.13.patch (which I suspect is what happened there leading to my earlier suggestion that it may need to be removed).

Currently 6.14 is in testing so I expect that any day. For Arch, I've left the 6.13 patch and added the 6.14 patch and that is what I'm running currently with the 6.13.8 kernel so nothing has changed on Arch that says you need to remove the 6.13 patch. I haven't seen any patch from https://gist.github.com/joanbm/ that wasn't needed, so I would leave the 6.13 patch. There has been no similar issue to openSUSE causing any problem on Arch -- which makes me suspect the only reason it was removed from the openSUSE build is that it ended up being applied twice when the the official maintainer added their own patch to the official package that contained the same changes.

canolucas commented on 2025-03-22 20:16 (UTC)

@drankinatty Do you consider the optimal action plan to be: 1) include the kernel-6.14.patch and 2) remove the kernel-6.13.patch (as it is no longer needed) ?

drankinatty commented on 2025-03-17 21:03 (UTC) (edited on 2025-03-17 21:52 (UTC) by drankinatty)

The 6.14 kernel is soon to arrive. Thankfully there is only a minor patch to nvidia-drm-drv.c required. The kernel-6.14.patch can be grabbed if you want to test it early. The patch is reworked for correct line offsets from @joanbm joanbm/nvidia-470xx-fix-linux-6.14.patch

It's short enough to include here:

diff -ruNb a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c
--- a/kernel/nvidia-drm/nvidia-drm-drv.c        2025-01-17 18:43:37.516640859 -0600
+++ b/kernel/nvidia-drm/nvidia-drm-drv.c        2025-03-17 15:30:32.466599940 -0500
@@ -759,7 +759,10 @@
     .name                   = "nvidia-drm",

     .desc                   = "NVIDIA DRM driver",
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 14, 0)
+    // Rel. commit. "drm: remove driver date from struct drm_driver and all drivers" (Jani Nikula, 4 Dec 2024)
     .date                   = "20160202",
+#endif

 #if defined(NV_DRM_DRIVER_HAS_DEVICE_LIST)
     .device_list            = LIST_HEAD_INIT(nv_drm_driver.device_list),

(note: offsets in this patch take into consideration the application of all prior patches that also patch nvidia-drm-drv.c. The kernel patches for 6.2, 6.4, 6.6, 6.8 and 6.12 also patch this file. Just add this as the next patch in your PKGBUILD after the application of all other kernel patches)

@lu9dce - do you get any errors in the journal, or xsession-errors or Xorg.0.log? Is there any error for the browser? I've not run into that issue before and will need your help to understand what you are seeing. Also, do you use wayland or x11? If wayland, that wasn't even around when the 390 driver came out, which could explain it.

batot commented on 2025-03-17 20:48 (UTC) (edited on 2025-03-17 21:40 (UTC) by batot)

$ sudo dkms status
nvidia/390.157, 6.12.19-1-lts, x86_64: installed

Great job bro.
If you need my help i can join helping testing nvidia-390xx...

lu9dce commented on 2025-03-07 13:07 (UTC)

This driver compiles and installs but does not activate 3D support Neither browsers nor software that requires OpenGL work

The module is loaded but programs cannot access 3D

I have been testing this with the LTS kernel I have been using kernel 6.1.0 for a month now.. because the driver works on Debian so I decided to use a kernel that is more similar to the one that Debian 12 has

If changing the kernel works, I don't see that it is a problem with Mesa or the current OpenGL

I had previously mentioned this topic here

drankinatty commented on 2025-03-01 23:59 (UTC)

Looks like the kernel in may have fixed what was patched for with the 6.13 patch to the kbuild files. I just removed the patch from openSUSE Tumbleweed for 6.13.5 and the build proceeded fine. I'll update in a bit. If you experience a build failure with 6.13.5, try removing the kernel-6.13.patch.