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

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: 56
Popularity: 2.57
First Submitted: 2020-03-11 17:29 (UTC)
Last Updated: 2023-09-14 21:57 (UTC)

Pinned Comments

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?

jonathon commented on 2020-10-19 12:41 (UTC) (edited on 2021-05-11 14:18 (UTC) by jonathon)

PACKAGE NEEDS LONG TERM MAINTAINER

I have adopted the 390xx packages to keep them secure. I do not run any 390xx hardware so will not notice any breakages and cannot test any changes.

Until such time as someone else steps up to maintain these packages - ideally someone who actually has 390xx hardware - I have to rely on you to tell me what changes are needed.

Don't expect a response if you post only "this doesn't work", and do not email me to complain about the package not working!

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

A binary package is also available in my kernel-lts unofficial user repository.

Latest Comments

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

dhtseany commented on 2023-09-23 13:01 (UTC) (edited on 2023-09-25 12:07 (UTC) by dhtseany)

Edit: I figured out that I actually didn't have linux-headers installed, this resolved the build problem. My offer to help maintain the package remains.

Greetings, I have a Dell laptop with a Quadro 4000 / NVC0 which requires the 390xx driver that I'll be servicing for some time going forward for a friend's recording studio.

I am a package maintainer for other various things on the AUR however I haven't dealt specifically with GPU drivers before. Regardless, my skill set should serve suitably for testing and troubleshooting and I can help maintain this package.

I can see that there is presently an issue with the DKMS module which produces the following error and I'm happy to help work out the issue:

(1/2) Arming ConditionNeedsUpdate...
(2/2) Install DKMS modules
==> ERROR: Missing lost+found kernel headers for module nvidia/390.157.
==> ERROR: Missing swapfile kernel headers for module nvidia/390.157.
==> ERROR: Missing bin kernel headers for module nvidia/390.157.
==> ERROR: Missing lib64 kernel headers for module nvidia/390.157.
==> ERROR: Missing mnt kernel headers for module nvidia/390.157.
==> ERROR: Missing run kernel headers for module nvidia/390.157.
==> ERROR: Missing dev kernel headers for module nvidia/390.157.
==> ERROR: Missing home kernel headers for module nvidia/390.157.
==> ERROR: Missing tmp kernel headers for module nvidia/390.157.
==> ERROR: Missing opt kernel headers for module nvidia/390.157.
==> ERROR: Missing root kernel headers for module nvidia/390.157.
==> ERROR: Missing lib kernel headers for module nvidia/390.157.
==> ERROR: Missing storage kernel headers for module nvidia/390.157.
==> ERROR: Missing etc kernel headers for module nvidia/390.157.
==> ERROR: Missing boot kernel headers for module nvidia/390.157.
==> ERROR: Missing sys kernel headers for module nvidia/390.157.
==> ERROR: Missing proc kernel headers for module nvidia/390.157.
==> ERROR: Missing EDITOR=nano kernel headers for module nvidia/390.157.
==> ERROR: Missing var kernel headers for module nvidia/390.157.
==> ERROR: Missing usr kernel headers for module nvidia/390.157.
==> ERROR: Missing srv kernel headers for module nvidia/390.157.
==> ERROR: Missing sbin kernel headers for module nvidia/390.157.

xiota commented on 2023-09-20 09:05 (UTC)

Please remove replaces directive. Thank you. (No need to reply via comment; AUR now sends commit notifications.)

air-g4p commented on 2023-09-15 16:57 (UTC) (edited on 2023-09-15 19:54 (UTC) by air-g4p)

@vnctdj - thanks for your effort - and I was able to test it!

The updated PKGBUILD builds, installs and operates correctly.

==> dkms install --no-depmod nvidia/390.157 -k 6.4.16-hardened1-1-hardened
==> dkms install --no-depmod nvidia/390.157 -k 6.5.3-arch1-1
==> dkms install --no-depmod nvidia/390.157 -k 6.5.3-1-ck
==> depmod 6.5.3-arch1-1
==> depmod 6.5.3-1-ck
==> depmod 6.4.16-hardened1-1-hardened

Also, thanks to all those in this community who contributed to the 6.5.x patching efforts!!

Cheers

canolucas commented on 2023-09-15 15:17 (UTC)

Just updated and rebooted to test the shorter patch from joanbrugueram, it works fine with the latest kernel. Thanks guys !

vnctdj commented on 2023-09-14 22:07 (UTC) (edited on 2023-09-14 22:07 (UTC) by vnctdj)

Thanks to all for your help.

I ended up adding the following patch which is indeed shorter: https://gist.github.com/joanbm/dfe8dc59af1c83e2530a1376b77be8ba

Once again I wasn't able to test it, real life is definitely too busy!

NullRoute commented on 2023-09-13 17:10 (UTC) (edited on 2023-09-13 17:12 (UTC) by NullRoute)

This package from maintainer "herecura" with 6.5 patch worked, https://gitlab.com/herecura/packages/nvidia-390xx-dkms

But anytime I install nvidia-390xx-dkms its saying "ERROR: Missing 6.1.8-arch1-1 kernel headers for module nvidia/390.157"

After I install it with "sudo pacman -U https://archive.archlinux.org/packages/l/linux-headers/linux-headers-6.1.8.arch1-1-x86_64.pkg.tar.zst"

and then re-install newest linux-headers it works. But why this old kernel headers requirement? Thanks.

Thank you to "canolucas" in official forum post at https://bbs.archlinux.org/viewtopic.php?id=262224&p=6 for this pkg link.

canolucas commented on 2023-09-13 16:23 (UTC)

This patch is much shorter than ubuntu's. Does it work ? If it works, lets use this one as it changes less lines of the original source.

Witscher commented on 2023-09-13 13:09 (UTC)

Patch for kernel 6.5


From 0ca9614e5b074d3dd01e95f47b3555f48e74f622 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
Date: Wed, 17 May 2023 21:54:08 +0000
Subject: [PATCH] Tentative fix for NVIDIA 470.182.03 driver for Linux 6.5-rc1

---
 kernel/common/inc/nv-mm.h | 45 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 43 insertions(+), 2 deletions(-)

diff --git a/kernel/common/inc/nv-mm.h b/kernel/common/inc/nv-mm.h
index 54f6f60..25333e8 100644
--- a/kernel/common/inc/nv-mm.h
+++ b/kernel/common/inc/nv-mm.h
@@ -23,6 +23,7 @@
 #ifndef __NV_MM_H__
 #define __NV_MM_H__

+#include <linux/version.h>
 #include "conftest.h"

 #if !defined(NV_VM_FAULT_T_IS_PRESENT)
@@ -47,7 +48,27 @@ typedef int vm_fault_t;
  *
  */

-#if defined(NV_GET_USER_PAGES_HAS_TASK_STRUCT)
+// Rel. commit. "mm/gup: remove unused vmas parameter from get_user_pages()" (Lorenzo Stoakes, 14 May 2023)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)
+#include <linux/mm.h>
+
+static inline long NV_GET_USER_PAGES(unsigned long start,
+                                     unsigned long nr_pages,
+                                     int write,
+                                     int force,
+                                     struct page **pages,
+                                     struct vm_area_struct **vmas)
+{
+    unsigned int flags = 0;
+
+    if (write)
+        flags |= FOLL_WRITE;
+    if (force)
+        flags |= FOLL_FORCE;
+
+    return get_user_pages(start, nr_pages, flags, pages);
+}
+#elif defined(NV_GET_USER_PAGES_HAS_TASK_STRUCT)
     #if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS)
         #define NV_GET_USER_PAGES(start, nr_pages, write, force, pages, vmas) \
             get_user_pages(current, current->mm, start, nr_pages, write, force, pages, vmas)
@@ -130,7 +151,27 @@ typedef int vm_fault_t;
  *
  */

-#if defined(NV_GET_USER_PAGES_REMOTE_PRESENT)
+// Rel. commit. "mm/gup: remove unused vmas parameter from get_user_pages_remote()" (Lorenzo Stoakes, 14 May 2023)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 5, 0)
+static inline long NV_GET_USER_PAGES_REMOTE(struct task_struct *tsk,
+                                            struct mm_struct *mm,
+                                            unsigned long start,
+                                            unsigned long nr_pages,
+                                            int write,
+                                            int force,
+                                            struct page **pages,
+                                            struct vm_area_struct **vmas)
+{
+    unsigned int flags = 0;
+
+    if (write)
+        flags |= FOLL_WRITE;
+    if (force)
+        flags |= FOLL_FORCE;
+
+    return get_user_pages_remote(mm, start, nr_pages, flags, pages, NULL);
+}
+#elif defined(NV_GET_USER_PAGES_REMOTE_PRESENT)
     #if defined(NV_GET_USER_PAGES_REMOTE_HAS_WRITE_AND_FORCE_ARGS)
         #define NV_GET_USER_PAGES_REMOTE    get_user_pages_remote
     #else
-- 
2.41.0