From 873d0a6819e93a63c17f07b6a13e890f26103b6c Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Mon, 25 Dec 2023 00:45:49 -0600 Subject: [PATCH] nvidia390: add fix for linux6.6 --- srcpkgs/nvidia390/files/linux6.6.patch | 31 ++++++++++++++++++++++++++ srcpkgs/nvidia390/template | 8 ++++--- 2 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 srcpkgs/nvidia390/files/linux6.6.patch diff --git a/srcpkgs/nvidia390/files/linux6.6.patch b/srcpkgs/nvidia390/files/linux6.6.patch new file mode 100644 index 00000000000..f49f34f92cb --- /dev/null +++ b/srcpkgs/nvidia390/files/linux6.6.patch @@ -0,0 +1,31 @@ +From a1879549b0bf049de790c0775c25971c82da8638 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= +Date: Sat, 15 Jul 2023 22:26:18 +0000 +Subject: [PATCH] Tentative fix for NVIDIA 470.199.02 driver for Linux 6.6-rc1 + +You will also need to apply this patch for Linux 6.5 support: +https://gist.github.com/joanbm/dfe8dc59af1c83e2530a1376b77be8ba + +--- + nvidia-drm/nvidia-drm-drv.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c +index b93642a..1b310f3 100644 +--- a/nvidia-drm/nvidia-drm-drv.c ++++ b/nvidia-drm/nvidia-drm-drv.c +@@ -705,8 +705,11 @@ static struct drm_driver nv_drm_driver = + .ioctls = nv_drm_ioctls, + .num_ioctls = ARRAY_SIZE(nv_drm_ioctls), + ++// Rel. commit "drm/prime: Unexport helpers for fd/handle conversion" (Thomas Zimmermann, 20 Jun 2023) ++// Those functions are no longer exported, but leaving them to NULL is equivalent ++#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 6, 0) + .prime_handle_to_fd = drm_gem_prime_handle_to_fd, +- ++#endif + #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_CALLBACKS) + .gem_prime_export = nv_drm_gem_prime_export, + .gem_prime_get_sg_table = nv_drm_gem_prime_get_sg_table, +-- +2.41.0 diff --git a/srcpkgs/nvidia390/template b/srcpkgs/nvidia390/template index 3d888edb305..48492ca7d80 100644 --- a/srcpkgs/nvidia390/template +++ b/srcpkgs/nvidia390/template @@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 400, 500 series)" pkgname=nvidia390 version=390.157 -revision=5 +revision=6 maintainer="Andrew Benson " license="custom:NVIDIA Proprietary" homepage="https://www.nvidia.com/en-us/drivers/unix/" @@ -44,10 +44,12 @@ do_patch() { case "$XBPS_TARGET_MACHINE" in i686) patch ${patch_args} -i ${FILESDIR}/linux-6.5-x86.patch - patch ${patch_args} -i ${FILESDIR}/linux6.3-x86.patch ;; + patch ${patch_args} -i ${FILESDIR}/linux6.3-x86.patch + patch ${patch_args} -i ${FILESDIR}/linux6.6.patch ;; x86_64) patch ${patch_args} -i ${FILESDIR}/linux-6.5-x64.patch - patch ${patch_args} -i ${FILESDIR}/linux6.3-x64.patch ;; + patch ${patch_args} -i ${FILESDIR}/linux6.3-x64.patch + patch ${patch_args} -i ${FILESDIR}/linux6.6.patch ;; esac patch ${patch_args} -i ${FILESDIR}/linux-6.4.patch }