summaryrefslogtreecommitdiff
path: root/sys-kernel/nvidia-drivers-dkms/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-16 15:52:07 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-16 15:52:07 +0100
commit65c73b332292cf97e537ae4c345cf352dc53fe5e (patch)
treef0e94d135fb31ceaa4b6634480fd22179c8b3cf3 /sys-kernel/nvidia-drivers-dkms/files
parentee301fa587e961154b4a0094772893680c456bf7 (diff)
x11-drivers/nvidia-drivers : reorganise things so we support multiple versions
Diffstat (limited to 'sys-kernel/nvidia-drivers-dkms/files')
-rw-r--r--sys-kernel/nvidia-drivers-dkms/files/dkms390.patch28
-rw-r--r--sys-kernel/nvidia-drivers-dkms/files/dkms470.patch (renamed from sys-kernel/nvidia-drivers-dkms/files/dkms.patch)7
-rw-r--r--sys-kernel/nvidia-drivers-dkms/files/dkms515.patch58
-rw-r--r--sys-kernel/nvidia-drivers-dkms/files/fs62142.patch13
-rw-r--r--sys-kernel/nvidia-drivers-dkms/files/kernel-6.0.patch43
5 files changed, 90 insertions, 59 deletions
diff --git a/sys-kernel/nvidia-drivers-dkms/files/dkms390.patch b/sys-kernel/nvidia-drivers-dkms/files/dkms390.patch
new file mode 100644
index 00000000..19e98d8d
--- /dev/null
+++ b/sys-kernel/nvidia-drivers-dkms/files/dkms390.patch
@@ -0,0 +1,28 @@
+diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf
+--- a/kernel/dkms.conf 2021-11-02 06:16:12.000000000 +0000
++++ b/kernel/dkms.conf 2022-10-16 15:03:27.841471738 +0100
+@@ -1,12 +1,20 @@
+-PACKAGE_NAME="nvidia"
+-PACKAGE_VERSION="__VERSION_STRING"
++PACKAGE_NAME="nvidia-drivers-dkms"
++PACKAGE_VERSION="390.154"
++BUILD_EXCLUSIVE_KERNEL=""^5.*"" # only build for Kernel 5
+ AUTOINSTALL="yes"
+
+ # By default, DKMS will add KERNELRELEASE to the make command line; however,
+ # this will cause the kernel module build to infer that it was invoked via
+ # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+ # the 'make' command name to suppress this behavior.
+-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules"
++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules"
+
+ # The list of kernel modules will be generated by nvidia-installer at runtime.
+-__DKMS_MODULES
++BUILT_MODULE_NAME[0]="nvidia"
++DEST_MODULE_LOCATION[0]="/extra/dkms"
++BUILT_MODULE_NAME[1]="nvidia-uvm"
++DEST_MODULE_LOCATION[1]="/extra/dkms"
++BUILT_MODULE_NAME[2]="nvidia-modeset"
++DEST_MODULE_LOCATION[2]="/extra/dkms"
++BUILT_MODULE_NAME[3]="nvidia-drm"
++DEST_MODULE_LOCATION[3]="/extra/dkms"
diff --git a/sys-kernel/nvidia-drivers-dkms/files/dkms.patch b/sys-kernel/nvidia-drivers-dkms/files/dkms470.patch
index 3e2a7cd9..7ee395df 100644
--- a/sys-kernel/nvidia-drivers-dkms/files/dkms.patch
+++ b/sys-kernel/nvidia-drivers-dkms/files/dkms470.patch
@@ -1,11 +1,12 @@
diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf
---- a/kernel/dkms.conf 2021-07-07 23:03:22.000000000 +0100
-+++ b/kernel/dkms.conf 2021-08-07 22:05:52.634341135 +0100
-@@ -1,12 +1,21 @@
+--- a/kernel/dkms.conf 2022-06-30 19:31:05.000000000 +0100
++++ b/kernel/dkms.conf 2022-10-16 15:06:33.644466229 +0100
+@@ -1,12 +1,22 @@
-PACKAGE_NAME="nvidia"
-PACKAGE_VERSION="__VERSION_STRING"
+PACKAGE_NAME="nvidia-drivers-dkms"
+PACKAGE_VERSION="470.141.03"
++BUILD_EXCLUSIVE_KERNEL=""^5.*"" # Only build for kernel 5
AUTOINSTALL="yes"
# By default, DKMS will add KERNELRELEASE to the make command line; however,
diff --git a/sys-kernel/nvidia-drivers-dkms/files/dkms515.patch b/sys-kernel/nvidia-drivers-dkms/files/dkms515.patch
new file mode 100644
index 00000000..fd79108e
--- /dev/null
+++ b/sys-kernel/nvidia-drivers-dkms/files/dkms515.patch
@@ -0,0 +1,58 @@
+diff -Nur a/kernel/dkms.conf b/kernel/dkms.conf
+--- a/kernel/dkms.conf 2022-07-20 14:40:39.000000000 +0100
++++ b/kernel/dkms.conf 2022-10-16 14:05:53.921574151 +0100
+@@ -1,12 +1,22 @@
+-PACKAGE_NAME="nvidia"
+-PACKAGE_VERSION="__VERSION_STRING"
++PACKAGE_NAME="nvidia-drivers-dkms"
++PACKAGE_VERSION="515.65.01"
+ AUTOINSTALL="yes"
+
+ # By default, DKMS will add KERNELRELEASE to the make command line; however,
+ # this will cause the kernel module build to infer that it was invoked via
+ # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+ # the 'make' command name to suppress this behavior.
+-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules"
++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules"
+
+ # The list of kernel modules will be generated by nvidia-installer at runtime.
+-__DKMS_MODULES
++BUILT_MODULE_NAME[0]="nvidia"
++DEST_MODULE_LOCATION[0]="/extra/dkms"
++BUILT_MODULE_NAME[1]="nvidia-uvm"
++DEST_MODULE_LOCATION[1]="/extra/dkms"
++BUILT_MODULE_NAME[2]="nvidia-modeset"
++DEST_MODULE_LOCATION[2]="/extra/dkms"
++BUILT_MODULE_NAME[3]="nvidia-drm"
++DEST_MODULE_LOCATION[3]="/extra/dkms"
++BUILT_MODULE_NAME[4]="nvidia-peermem"
++DEST_MODULE_LOCATION[4]="/extra/dkms"
+diff -Nur a/kernel-open/dkms.conf b/kernel-open/dkms.conf
+--- a/kernel-open/dkms.conf 2022-07-20 14:40:39.000000000 +0100
++++ b/kernel-open/dkms.conf 2022-10-16 14:07:17.596571670 +0100
+@@ -1,12 +1,22 @@
+-PACKAGE_NAME="nvidia"
+-PACKAGE_VERSION="__VERSION_STRING"
++PACKAGE_NAME="nvidia-drivers-dkms"
++PACKAGE_VERSION="515.65.01"
+ AUTOINSTALL="yes"
+
+ # By default, DKMS will add KERNELRELEASE to the make command line; however,
+ # this will cause the kernel module build to infer that it was invoked via
+ # Kbuild directly instead of DKMS. The dkms(8) manual page recommends quoting
+ # the 'make' command name to suppress this behavior.
+-MAKE[0]="'make' -j__JOBS NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} modules"
++MAKE[0]="'make' -j`nproc` NV_EXCLUDE_BUILD_MODULES='__EXCLUDE_MODULES' KERNEL_UNAME=${kernelver} IGNORE_CC_MISMATCH='__IGNORE_CC_MISMATCH' modules"
+
+ # The list of kernel modules will be generated by nvidia-installer at runtime.
+-__DKMS_MODULES
++BUILT_MODULE_NAME[0]="nvidia"
++DEST_MODULE_LOCATION[0]="/extra/dkms"
++BUILT_MODULE_NAME[1]="nvidia-uvm"
++DEST_MODULE_LOCATION[1]="/extra/dkms"
++BUILT_MODULE_NAME[2]="nvidia-modeset"
++DEST_MODULE_LOCATION[2]="/extra/dkms"
++BUILT_MODULE_NAME[3]="nvidia-drm"
++DEST_MODULE_LOCATION[3]="/extra/dkms"
++BUILT_MODULE_NAME[4]="nvidia-peermem"
++DEST_MODULE_LOCATION[4]="/extra/dkms"
diff --git a/sys-kernel/nvidia-drivers-dkms/files/fs62142.patch b/sys-kernel/nvidia-drivers-dkms/files/fs62142.patch
deleted file mode 100644
index 04806bd8..00000000
--- a/sys-kernel/nvidia-drivers-dkms/files/fs62142.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/kernel/nvidia/nv-dma.c b/kernel/nvidia/nv-dma.c
-index 73cdeed..e691014 100644
---- a/kernel/nvidia/nv-dma.c
-+++ b/kernel/nvidia/nv-dma.c
-@@ -606,7 +606,7 @@ static NvBool nv_dma_is_map_resource_implemented
- #if defined(NV_DMA_MAP_RESOURCE_PRESENT)
- const struct dma_map_ops *ops = get_dma_ops(&nvl->dev->dev);
-
-- return (ops->map_resource != NULL);
-+ return (ops && ops->map_resource);
- #else
- return NV_FALSE;
- #endif
diff --git a/sys-kernel/nvidia-drivers-dkms/files/kernel-6.0.patch b/sys-kernel/nvidia-drivers-dkms/files/kernel-6.0.patch
deleted file mode 100644
index 372b6572..00000000
--- a/sys-kernel/nvidia-drivers-dkms/files/kernel-6.0.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-diff -Nur a/kernel/nvidia/nv-acpi.c b/kernel/nvidia/nv-acpi.c
---- a/kernel/nvidia/nv-acpi.c 2022-06-30 20:05:22.000000000 +0100
-+++ b/kernel/nvidia/nv-acpi.c 2022-10-13 23:34:09.841766070 +0100
-@@ -16,7 +16,10 @@
-
- #include <linux/acpi.h>
-
--#if defined(NV_LINUX_ACPI_EVENTS_SUPPORTED)
-+#include <linux/version.h>
-+// Rel.commit "ACPI: bus: Drop unused list heads from struct acpi_device" (Rafael J. Wysocki, 4 Jun 2022)
-+// Disable ACPI support due to more GPL stuff (acpi_dev_for_each_child is only GPL-exported)
-+#if defined(NV_LINUX_ACPI_EVENTS_SUPPORTED) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0))
- static NV_STATUS nv_acpi_extract_integer (const union acpi_object *, void *, NvU32, NvU32 *);
- static NV_STATUS nv_acpi_extract_buffer (const union acpi_object *, void *, NvU32, NvU32 *);
- static NV_STATUS nv_acpi_extract_package (const union acpi_object *, void *, NvU32, NvU32 *);
-diff -Nur a/kernel/nvidia/nv.c b/kernel/nvidia/nv.c
---- a/kernel/nvidia/nv.c 2022-06-30 20:05:22.000000000 +0100
-+++ b/kernel/nvidia/nv.c 2022-10-13 23:34:09.841766070 +0100
-@@ -5423,7 +5423,8 @@
- {
- NvU8 buf[8];
-
--#if defined(NV_SEQ_READ_ITER_PRESENT)
-+// FIXME: Avoid this code path because on Linux 6.0-rc1, init_sync_kiocb references a GPL symbol
-+#if defined(NV_SEQ_READ_ITER_PRESENT) && (LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0))
- struct file *file;
- ssize_t num_read;
- struct kiocb kiocb;
-diff -Nur a/kernel/nvidia-drm/nvidia-drm-helper.c b/kernel/nvidia-drm/nvidia-drm-helper.c
---- a/kernel/nvidia-drm/nvidia-drm-helper.c 2022-06-30 19:33:22.000000000 +0100
-+++ b/kernel/nvidia-drm/nvidia-drm-helper.c 2022-10-13 23:34:09.841766070 +0100
-@@ -41,6 +41,11 @@
- #include <drm/drm_atomic_uapi.h>
- #endif
-
-+// Add header which is no longer indirectly referenced as of Linux 6.0-rc1
-+#if defined(NV_DRM_DRM_FRAMEBUFFER_H_PRESENT)
-+#include <drm/drm_framebuffer.h>
-+#endif
-+
- static void __nv_drm_framebuffer_put(struct drm_framebuffer *fb)
- {
- #if defined(NV_DRM_FRAMEBUFFER_GET_PRESENT)