diff --git a/PKGBUILD b/PKGBUILD index 191756c..2812de0 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -155,7 +155,7 @@ fi pkgname=("${_pkgname_array[@]}") pkgver=$_driver_version -pkgrel=131 +pkgrel=132 arch=('x86_64') url="http://www.nvidia.com/" license=('custom:NVIDIA') @@ -202,6 +202,7 @@ source=($_source_name 'kernel-5.8.patch' # 5.8 workaround '5.8-legacy.diff' # 5.8 additional vmalloc workaround (<450.57) 'kernel-5.9.patch' # 5.9 workaround + '5.9-gpl.diff' # 5.9 cuda/nvenc workaround ) msg2 "Selected driver integrity check behavior (md5sum or SKIP): $_md5sum" # If the driver is "known", return md5sum. If it isn't, return SKIP @@ -229,7 +230,8 @@ md5sums=("$_md5sum" 'd911a0531c6f270926cacabd1dd80f02' '589dfc0c801605018b7ccd690f06141a' 'd67bf0a9aa5c19f07edbaf6bd157d661' - '4e418ef3c3da73039830576c6da01725') + '888d12b9aea711e6a025835b8ad063e2' + '0758046ed7c50463fd0ec378e9e34f95') if [ "$_autoaddpatch" = "true" ]; then # Auto-add *.patch files from $startdir to source=() @@ -465,6 +467,12 @@ DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf if (( $(vercmp "$_kernel" "5.9") >= 0 )); then _kernel59="1" _whitelist59=( 450* ) + if [[ $pkgver = 450* ]] || [[ $pkgver = 455* ]]; then + cd "$srcdir"/"$_pkg"/kernel-$_kernel + msg2 "Applying 5.9-gpl.diff for $_kernel..." + patch -Np2 -i "$srcdir"/5.9-gpl.diff + cd .. + fi fi # Loop patches (linux-4.15.patch, lol.patch, ...) @@ -732,6 +740,10 @@ DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf else msg2 "Skipping kernel-5.9.patch as it doesn't apply to this driver version..." fi + if [[ $pkgver = 450* ]] || [[ $pkgver = 455* ]]; then + msg2 "Applying 5.9-gpl.diff for dkms..." + patch -Np1 -i "$srcdir"/5.9-gpl.diff + fi fi # Legacy quirks diff --git a/patches/5.9-gpl.diff b/patches/5.9-gpl.diff new file mode 100644 index 0000000..4876cdb --- /dev/null +++ b/patches/5.9-gpl.diff @@ -0,0 +1,34 @@ +diff --git a/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c b/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c +index ffbbeb9..60c9787 100644 +--- a/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c ++++ b/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c +@@ -1401,11 +1401,11 @@ restart: + + module_init(nvkms_init); + module_exit(nvkms_exit); + + #if defined(MODULE_LICENSE) +- MODULE_LICENSE("NVIDIA"); ++ MODULE_LICENSE("GPL"); + #endif + #if defined(MODULE_INFO) + MODULE_INFO(supported, "external"); + #endif + #if defined(MODULE_VERSION) +diff --git a/kernel-dkms/nvidia/nv-frontend.c b/kernel-dkms/nvidia/nv-frontend.c +index 45d91b3..244a7a8 100644 +--- a/kernel-dkms/nvidia/nv-frontend.c ++++ b/kernel-dkms/nvidia/nv-frontend.c +@@ -13,11 +13,11 @@ + #include "nv-linux.h" + #include "nv-reg.h" + #include "nv-frontend.h" + + #if defined(MODULE_LICENSE) +-MODULE_LICENSE("NVIDIA"); ++MODULE_LICENSE("GPL"); + #endif + #if defined(MODULE_INFO) + MODULE_INFO(supported, "external"); + #endif + #if defined(MODULE_VERSION) diff --git a/patches/kernel-5.9.patch b/patches/kernel-5.9.patch index 25ded46..61d7a1c 100644 --- a/patches/kernel-5.9.patch +++ b/patches/kernel-5.9.patch @@ -421,37 +421,3 @@ index 424f6e6..ce8114a 100644 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_raw_ts64 NV_CONFTEST_FUNCTION_COMPILE_TESTS += ktime_get_real_ts64 -diff --git a/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c b/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c -index ffbbeb9..60c9787 100644 ---- a/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c -+++ b/kernel-dkms/nvidia-modeset/nvidia-modeset-linux.c -@@ -1401,11 +1401,11 @@ restart: - - module_init(nvkms_init); - module_exit(nvkms_exit); - - #if defined(MODULE_LICENSE) -- MODULE_LICENSE("NVIDIA"); -+ MODULE_LICENSE("GPL"); - #endif - #if defined(MODULE_INFO) - MODULE_INFO(supported, "external"); - #endif - #if defined(MODULE_VERSION) -diff --git a/kernel-dkms/nvidia/nv-frontend.c b/kernel-dkms/nvidia/nv-frontend.c -index 45d91b3..244a7a8 100644 ---- a/kernel-dkms/nvidia/nv-frontend.c -+++ b/kernel-dkms/nvidia/nv-frontend.c -@@ -13,11 +13,11 @@ - #include "nv-linux.h" - #include "nv-reg.h" - #include "nv-frontend.h" - - #if defined(MODULE_LICENSE) --MODULE_LICENSE("NVIDIA"); -+MODULE_LICENSE("GPL"); - #endif - #if defined(MODULE_INFO) - MODULE_INFO(supported, "external"); - #endif - #if defined(MODULE_VERSION)