@air-g4p ... not like I've never done anything like that myself ...
Search Criteria
Package Details: nvidia-390xx-utils 390.157-14
Package Actions
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)
- egl-wayland (egl-wayland-gitAUR)
- libglvnd (libglvnd-gitAUR)
- xorg-server (xorg-server-gitAUR, xorg-server-bug865-issue1578AUR, xorg-server-bug865AUR)
- nvidia-390xx-settingsAUR (optional) – configuration tool
- opencl-nvidia-390xxAUR (optional) – OpenCL support
- xorg-server-devel (xorg-server-devel-gitAUR) (optional) – nvidia-xconfig
Required by (321)
- adaptivecpp (requires nvidia-utils)
- adaptivecpp-git (requires nvidia-utils)
- agisoft-metashape (requires nvidia-utils) (optional)
- agisoft-metashape-pro (requires nvidia-utils) (optional)
- airshipper (requires vulkan-driver) (optional)
- alchemy-viewer-git (requires nvidia-utils) (optional)
- alchemy-viewer-git (requires nvidia-libgl) (optional)
- aquamarine-git (requires opengl-driver)
- ares-emu (requires vulkan-driver)
- ares-emu-avx-git (requires vulkan-driver)
- ares-emu-git (requires vulkan-driver)
- armorpaint (requires opengl-driver)
- arrayfire-git (requires nvidia-utils) (optional)
- aurorafw-git (requires opengl-driver)
- auto-gpufreq-git (requires nvidia-utils)
- autokey-git (requires nvidia-utils) (optional)
- blackmagic-raw-sdk (requires nvidia-utils) (optional)
- btop-git (requires nvidia-utils) (optional)
- btop-gpu-git (requires nvidia-utils) (optional)
- ccdc-mercury (requires opengl-driver)
- Show 301 more...
Sources (17)
- gcc-14.patch
- https://us.download.nvidia.com/XFree86/Linux-x86_64/390.157/NVIDIA-Linux-x86_64-390.157.run
- kernel-4.16+-memory-encryption.patch
- kernel-6.10.patch
- kernel-6.12.patch
- kernel-6.13.patch
- kernel-6.2.patch
- kernel-6.3.patch
- kernel-6.4.patch
- kernel-6.5.patch
- kernel-6.6.patch
- kernel-6.8.patch
- nvidia-390xx-utils.sysusers
- nvidia-390xx.rules
- nvidia-drm-outputclass.conf
- systemd-homed-override.conf
- systemd-suspend-override.conf
drankinatty commented on 2025-03-27 06:32 (UTC)
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.
- I use Wayland
- I appended the kernel-6.14.patch to the current PKGBUILD without removing the kernel-6.13.patch
- The build failed against 6.14 linux-zen this way:
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.
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?