nvidia390: add fix for linux6.6

This commit is contained in:
Andrew Benson 2023-12-25 00:45:49 -06:00
parent c464086e7b
commit 873d0a6819
2 changed files with 36 additions and 3 deletions

View file

@ -0,0 +1,31 @@
From a1879549b0bf049de790c0775c25971c82da8638 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
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

View file

@ -4,7 +4,7 @@ _desc="NVIDIA drivers (GeForce 400, 500 series)"
pkgname=nvidia390
version=390.157
revision=5
revision=6
maintainer="Andrew Benson <abenson+void@gmail.com>"
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
}