linux-5.12.patch from Larry Finger via OpenSUSE

This commit is contained in:
Jonathon Fernyhough 2021-04-06 12:15:24 +01:00
parent 5aba4f41ea
commit 11739dac7f
No known key found for this signature in database
GPG key ID: 9C08A255442FAFF0
3 changed files with 58 additions and 13 deletions

View file

@ -1,6 +1,6 @@
pkgbase = nvidia-390xx-utils
pkgver = 390.141
pkgrel = 2
pkgrel = 3
url = https://www.nvidia.com/
arch = x86_64
license = custom
@ -10,11 +10,13 @@ pkgbase = nvidia-390xx-utils
source = https://us.download.nvidia.com/XFree86/Linux-x86_64/390.141/NVIDIA-Linux-x86_64-390.141-no-compat32.run
source = kernel-4.16.patch
source = kernel-5.11.patch
sha512sums = de7116c09f282a27920a1382df84aa86f559e537664bb30689605177ce37dc5067748acf9afd66a3269a6e323461356592fdfc624c86523bf105ff8fe47d3770
sha512sums = 4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499
sha512sums = c218517ab880470b9048ad40b54014ee6dfced442fc7178e629c1fd0917da58186dece3587b424d99e0b8acfd6f0bdb91ab00035c6b0488fbac198d496b09371
sha512sums = ef2fea0759d503ad3219a5cd27535b50b833b714f5e20bc754dd9343c6af3608f78c967cce90a5cacfc7f83c8cfa84bb5ad1c16bdbbf4de46cec63920ec0f79d
sha512sums = 94e1e34fa275e28733cf29bff03efffb52ce594d93f5f61785b156cd8de9cd6b40a6e3bb357f111ff8576a5f2f5b0fb579264a9ce139fbcc66fa9c3c2d8b8dc3
source = kernel-5.12.patch
b2sums = 8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1aa5c66b8d033fc9d5e0cfffed456a87298bd93a3afbbc30b8dc48c4e9
b2sums = c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be
b2sums = fae33e5fcd8f0429f163ad40e58a07c42ff47260bd1b0f56989d6147d63294c475f33ddc02f06a16eaf8c8ea9f74a98dbcb32b5322c68661331ebf7dfe976770
b2sums = 16480a3df51248b5adf3a3349f602f96cd830b5364c0a1c142a53099ed1e881f727026fe36b837b76f20aef7e7bf606f52c1af28f1eec7cc8bf39a571243a4ba
b2sums = 51f0c73e5e2b3fa96267b60c53c4acf966a6cf4de9acabd10cfc26bbfadba95cc7766546afe37e0e0ce67b5b9a0fb3cbea35ed8d47505d456473d1a9f7248dad
b2sums = a5898e232067a697261840b57e1c3b02b6476f3cad1ab1873fa54235d872bfabab39b78fa9f56495dd3c7bcdee10a63b3adc1d3932f853d5ce5c5d92109f9c4d
pkgname = nvidia-390xx-utils
pkgdesc = NVIDIA drivers utilities

View file

@ -7,7 +7,7 @@
pkgbase=nvidia-390xx-utils
pkgname=('nvidia-390xx-utils' 'opencl-nvidia-390xx' 'nvidia-390xx-dkms')
pkgver=390.141
pkgrel=2
pkgrel=3
arch=('x86_64')
url="https://www.nvidia.com/"
license=('custom')
@ -17,12 +17,14 @@ source=('nvidia-drm-outputclass.conf'
'nvidia-390xx-utils.sysusers'
"https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run"
kernel-4.16.patch
kernel-5.11.patch)
sha512sums=('de7116c09f282a27920a1382df84aa86f559e537664bb30689605177ce37dc5067748acf9afd66a3269a6e323461356592fdfc624c86523bf105ff8fe47d3770'
'4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499'
'c218517ab880470b9048ad40b54014ee6dfced442fc7178e629c1fd0917da58186dece3587b424d99e0b8acfd6f0bdb91ab00035c6b0488fbac198d496b09371'
'ef2fea0759d503ad3219a5cd27535b50b833b714f5e20bc754dd9343c6af3608f78c967cce90a5cacfc7f83c8cfa84bb5ad1c16bdbbf4de46cec63920ec0f79d'
'94e1e34fa275e28733cf29bff03efffb52ce594d93f5f61785b156cd8de9cd6b40a6e3bb357f111ff8576a5f2f5b0fb579264a9ce139fbcc66fa9c3c2d8b8dc3')
kernel-5.11.patch
kernel-5.12.patch)
b2sums=('8e24aea70b139185bd682b080d32aeda673e6e92b45a90e6f6e0d736674180400bc8bd1aa5c66b8d033fc9d5e0cfffed456a87298bd93a3afbbc30b8dc48c4e9'
'c1da4ce5784e43385465913a95053a3e54f800aac6f1b49f33e2a77504d76da5e6db6ec7074fbe7ba5f52dcef9e1ebaa620942c33ff825a56caba5c9c8b0d1be'
'fae33e5fcd8f0429f163ad40e58a07c42ff47260bd1b0f56989d6147d63294c475f33ddc02f06a16eaf8c8ea9f74a98dbcb32b5322c68661331ebf7dfe976770'
'16480a3df51248b5adf3a3349f602f96cd830b5364c0a1c142a53099ed1e881f727026fe36b837b76f20aef7e7bf606f52c1af28f1eec7cc8bf39a571243a4ba'
'51f0c73e5e2b3fa96267b60c53c4acf966a6cf4de9acabd10cfc26bbfadba95cc7766546afe37e0e0ce67b5b9a0fb3cbea35ed8d47505d456473d1a9f7248dad'
'a5898e232067a697261840b57e1c3b02b6476f3cad1ab1873fa54235d872bfabab39b78fa9f56495dd3c7bcdee10a63b3adc1d3932f853d5ce5c5d92109f9c4d')
create_links() {
# create soname links
@ -49,6 +51,10 @@ prepare() {
# https://gitlab.com/herecura/packages/nvidia-390xx-dkms/-/blob/herecura/linux-5.11.patch
patch -Np1 -i ../kernel-5.11.patch
# From Larry Finger
# https://build.opensuse.org/package/view_file/X11:Drivers:Video/nvidia-gfxG04/kernel-5.12.patch?expand=1
patch -Np1 -i ../kernel-5.12.patch
cd kernel
sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf
sed -i 's/__JOBS/`nproc`/' dkms.conf

37
kernel-5.12.patch Normal file
View file

@ -0,0 +1,37 @@
Taken from https://build.opensuse.org/package/view_file/X11:Drivers:Video/nvidia-gfxG04/kernel-5.12.patch
Credit to Larry Finger <Larry.Finger@lwfinger.net>
Index: NVIDIA-Linux-x86_64-390.141-no-compat32/kernel/nvidia-drm/nvidia-drm-drv.c
===================================================================
--- NVIDIA-Linux-x86_64-390.141-no-compat32.orig/kernel/nvidia-drm/nvidia-drm-drv.c
+++ NVIDIA-Linux-x86_64-390.141-no-compat32/kernel/nvidia-drm/nvidia-drm-drv.c
@@ -741,6 +741,17 @@ static struct drm_driver nv_drm_driver =
#endif
};
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 12, 0)
+/* Starting with kernel 5.12, drm_gem_dumb_destroy() is no longer exported.
+ * For that reason, we need to supply a replacement version.
+ */
+int replace_dumb_destroy(struct drm_file *file,
+ struct drm_device *dev,
+ u32 handle)
+{
+ return drm_gem_handle_delete(file, handle);
+}
+#endif
/*
* Update the global nv_drm_driver for the intended features.
@@ -764,7 +775,11 @@ static void nv_drm_update_drm_driver_fea
nv_drm_driver.dumb_create = nv_drm_dumb_create;
nv_drm_driver.dumb_map_offset = nv_drm_dumb_map_offset;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 12, 0)
nv_drm_driver.dumb_destroy = drm_gem_dumb_destroy;
+#else
+ nv_drm_driver.dumb_destroy = replace_dumb_destroy;
+#endif
#endif /* NV_DRM_ATOMIC_MODESET_AVAILABLE */
}