From d9dc2792d5b154320b6880dc8cf6fdb22fc24fd8 Mon Sep 17 00:00:00 2001 From: Ionen Wolkens Date: Mon, 26 May 2025 16:08:44 -0400 Subject: [PATCH] x11-drivers/nvidia-drivers: bump KERNEL_MAX to 6.15 where possible Which currently is only 570.153.02 with USE=kernel-open. Normally do not add patches for this, but feel that this situation may last so adding CachyOS' workaround for USE=-kernel-open. 575 is more broken, but not going to bother with that one as it's unkeyworded. Signed-off-by: Ionen Wolkens --- ...vidia-drivers-570.153.02-kernel-6.15.patch | 71 +++++++++++++++++++ .../nvidia-drivers-570.153.02.ebuild | 3 +- 2 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 x11-drivers/nvidia-drivers/files/nvidia-drivers-570.153.02-kernel-6.15.patch diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-570.153.02-kernel-6.15.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-570.153.02-kernel-6.15.patch new file mode 100644 index 0000000000000..e39762723ac48 --- /dev/null +++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-570.153.02-kernel-6.15.patch @@ -0,0 +1,71 @@ +Only needed with USE=-kernel-open to avoid GPL-only __vma_start_write, +not really runtime-tested but at least code does nothing for stable users +with <6.15.. + +https://github.com/NVIDIA/open-gpu-kernel-modules/issues/840#issuecomment-2906864735 +https://github.com/CachyOS/kernel-patches/commit/914aea4298e3 +--- a/kernel/nvidia/nv-mmap.c ++++ b/kernel/nvidia/nv-mmap.c +@@ -24,8 +24,15 @@ + #define __NO_VERSION__ + ++#include ++ + #include "os-interface.h" + #include "nv-linux.h" + #include "nv_speculation_barrier.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f)) ++#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f)) ++#endif ++ + /* + * The 'struct vm_operations' open() callback is called by the Linux +--- a/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c ++++ b/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c +@@ -45,4 +45,11 @@ + #endif + ++#include ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f)) ++#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f)) ++#endif ++ + static inline + void __nv_drm_gem_user_memory_free(struct nv_drm_gem_object *nv_gem) +--- a/kernel/nvidia-drm/nvidia-drm-gem.c ++++ b/kernel/nvidia-drm/nvidia-drm-gem.c +@@ -52,4 +52,11 @@ + #include "nv-mm.h" + ++#include ++ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f)) ++#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f)) ++#endif ++ + void nv_drm_gem_free(struct drm_gem_object *gem) + { +--- a/kernel/nvidia-uvm/uvm.c ++++ b/kernel/nvidia-uvm/uvm.c +@@ -22,4 +22,6 @@ + *******************************************************************************/ + ++#include ++ + #include "uvm_api.h" + #include "uvm_global.h" +@@ -41,4 +43,9 @@ + #define NVIDIA_UVM_DEVICE_NAME "nvidia-uvm" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0) ++#define nv_vm_flags_set(v, f) vm_flags_reset((v), (v)->vm_flags | (f)) ++#define nv_vm_flags_clear(v, f) vm_flags_reset((v), (v)->vm_flags & ~(f)) ++#endif ++ + static dev_t g_uvm_base_dev; + static struct cdev g_uvm_cdev; diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-570.153.02.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-570.153.02.ebuild index aa0a11373f93b..5816de6d3b45a 100644 --- a/x11-drivers/nvidia-drivers/nvidia-drivers-570.153.02.ebuild +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-570.153.02.ebuild @@ -7,7 +7,7 @@ MODULES_OPTIONAL_IUSE=+modules inherit desktop dot-a eapi9-pipestatus eapi9-ver flag-o-matic linux-mod-r1 inherit readme.gentoo-r1 systemd toolchain-funcs unpacker user-info -MODULES_KERNEL_MAX=6.14 +MODULES_KERNEL_MAX=6.15 NV_URI="https://download.nvidia.com/XFree86/" DESCRIPTION="NVIDIA Accelerated Graphics Driver" @@ -95,6 +95,7 @@ QA_PREBUILT="lib/firmware/* usr/bin/* usr/lib*" PATCHES=( "${FILESDIR}"/nvidia-modprobe-390.141-uvm-perms.patch "${FILESDIR}"/nvidia-settings-530.30.02-desktop.patch + "${FILESDIR}"/nvidia-drivers-570.153.02-kernel-6.15.patch ) pkg_setup() {