diff options
author | V3n3RiX <venerix@koprulu.sector> | 2022-10-16 15:52:07 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2022-10-16 15:52:07 +0100 |
commit | 65c73b332292cf97e537ae4c345cf352dc53fe5e (patch) | |
tree | f0e94d135fb31ceaa4b6634480fd22179c8b3cf3 /sys-kernel/nvidia-drivers-dkms/files | |
parent | ee301fa587e961154b4a0094772893680c456bf7 (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.patch | 28 | ||||
-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.patch | 58 | ||||
-rw-r--r-- | sys-kernel/nvidia-drivers-dkms/files/fs62142.patch | 13 | ||||
-rw-r--r-- | sys-kernel/nvidia-drivers-dkms/files/kernel-6.0.patch | 43 |
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) |