summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorgraysky2020-08-15 05:37:50 -0400
committergraysky2020-08-15 05:37:50 -0400
commite0d93e13500d5ed4fa6cf65e6dffc1b929e5f3b5 (patch)
tree1e7538aaccb68f4a6951c80a730ca9dbcc840e4b
parent572ee5e4a7e2902c7ff02a27a9405538502c084e (diff)
downloadaur-e0d93e13500d5ed4fa6cf65e6dffc1b929e5f3b5.tar.gz
Update to 340.108-9
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD13
-rw-r--r--buildfix_kernel_5.8.patch71
3 files changed, 86 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 37f659b62695..2106c5a8d9cb 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = nvidia-340xx
pkgdesc = NVIDIA drivers for linux, 340xx legacy branch
pkgver = 340.108
- pkgrel = 8
+ pkgrel = 9
url = https://www.nvidia.com/
arch = x86_64
license = custom
@@ -12,8 +12,10 @@ pkgbase = nvidia-340xx
options = !strip
source = https://us.download.nvidia.com/XFree86/Linux-x86_64/340.108/NVIDIA-Linux-x86_64-340.108-no-compat32.run
source = kernel-5.7.patch::https://gitlab.manjaro.org/packages/extra/linux57-extramodules/nvidia-340xx/-/raw/master/kernel-5.7.patch?inline=false
- sha256sums = 995d44fef587ff5284497a47a95d71adbee0c13020d615e940ac928f180f5b77
- sha256sums = c5f4e2d8840bef97b077da2ed05340a047a8ec420feab6153f7a59e0c547f877
+ source = buildfix_kernel_5.8.patch
+ b2sums = 6538bbec53b10f8d20977f9b462052625742e9709ef06e24cf2e55de5d0c55f1620a4bb21396cfd89ebc54c32f921ea17e3e47eaa95abcbc24ecbd144fb89028
+ b2sums = e1e3d2dd5f4c79bb6c0235236ba5c092d3d2ff07175125947d01817f014652b5ebf93710270189cc06c03a96172627adeaf495607c360f2470f62bca2a6a55ba
+ b2sums = bd75129644bd11caed8d9d1e2d5bbbced59bcdcb7784c3defe9a48b4c4de09adde59626456b0bc8c789d2e1e4844c21a7f2e5795d9eefbb548914af1ca8a60ae
pkgname = nvidia-340xx
pkgdesc = NVIDIA drivers for linux, 340xx legacy branch
diff --git a/PKGBUILD b/PKGBUILD
index 4af47de09298..1a45b8d62bff 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgbase=nvidia-340xx
pkgname=(nvidia-340xx nvidia-340xx-dkms)
pkgver=340.108
-pkgrel=8
+pkgrel=9
pkgdesc="NVIDIA drivers for linux, 340xx legacy branch"
arch=('x86_64')
url="https://www.nvidia.com/"
@@ -16,9 +16,11 @@ license=('custom')
options=(!strip)
source=("https://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
kernel-5.7.patch::https://gitlab.manjaro.org/packages/extra/linux57-extramodules/nvidia-340xx/-/raw/master/kernel-5.7.patch?inline=false
+ buildfix_kernel_5.8.patch
)
-sha256sums=('995d44fef587ff5284497a47a95d71adbee0c13020d615e940ac928f180f5b77'
- 'c5f4e2d8840bef97b077da2ed05340a047a8ec420feab6153f7a59e0c547f877')
+b2sums=('6538bbec53b10f8d20977f9b462052625742e9709ef06e24cf2e55de5d0c55f1620a4bb21396cfd89ebc54c32f921ea17e3e47eaa95abcbc24ecbd144fb89028'
+ 'e1e3d2dd5f4c79bb6c0235236ba5c092d3d2ff07175125947d01817f014652b5ebf93710270189cc06c03a96172627adeaf495607c360f2470f62bca2a6a55ba'
+ 'bd75129644bd11caed8d9d1e2d5bbbced59bcdcb7784c3defe9a48b4c4de09adde59626456b0bc8c789d2e1e4844c21a7f2e5795d9eefbb548914af1ca8a60ae')
_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
# default is 'linux' substitute custom name here
@@ -34,6 +36,11 @@ prepare() {
# https://gitlab.manjaro.org/packages?utf8=%E2%9C%93&filter=nvidia-340xx
(patch -p1 --no-backup-if-mismatch -i "$srcdir"/kernel-5.7.patch)
+ # https://launchpad.net/~kelebek333/+archive/ubuntu/nvidia-legacy/+packages
+ # the following was extracted from
+ # https://launchpadlibrarian.net/492468557/nvidia-graphics-drivers-340_340.108-1lmtrfocal3_340.108-2lmtrfocal.diff.gz
+ (cd kernel && patch -p1 --no-backup-if-mismatch -i "$srcdir"/buildfix_kernel_5.8.patch)
+
cp -a kernel kernel-dkms
}
diff --git a/buildfix_kernel_5.8.patch b/buildfix_kernel_5.8.patch
new file mode 100644
index 000000000000..1b2f0f84dc90
--- /dev/null
+++ b/buildfix_kernel_5.8.patch
@@ -0,0 +1,71 @@
+diff -Naur a/nvidia-modules-common.mk b/nvidia-modules-common.mk
+--- a/nvidia-modules-common.mk
++++ b/nvidia-modules-common.mk
+@@ -222,6 +222,7 @@
+ define BUILD_MODULE_RULE
+ $(1): build-sanity-checks $(3)
+ @echo "NVIDIA: calling KBUILD..."; \
++ touch .nv-kernel.o.cmd; \
+ $$(MAKE) "CC=$$(CC)" NV_MODULE_SUFFIX=$$(strip $(2)) $$(KBUILD_PARAMS) modules; \
+ echo "NVIDIA: left KBUILD."; \
+ if ! [ -f $(1) ]; then \
+diff -Naru a/nv-linux.h b/nv-linux.h
+--- a/nv-linux.h 2020-08-08 03:48:46.894783237 +0300
++++ b/nv-linux.h 2020-08-08 15:43:05.252047541 +0300
+@@ -669,11 +669,19 @@
+ # define KM_FREE_RECORD(a,b,c)
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++#define NV_VMALLOC(ptr, size) \
++ { \
++ (ptr) = __vmalloc(size, GFP_KERNEL); \
++ VM_ALLOC_RECORD(ptr, size, "vm_vmalloc"); \
++ }
++#else
+ #define NV_VMALLOC(ptr, size) \
+ { \
+ (ptr) = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL); \
+ VM_ALLOC_RECORD(ptr, size, "vm_vmalloc"); \
+ }
++#endif
+
+ #define NV_VFREE(ptr, size) \
+ { \
+diff -Naru a/os-mlock.c b/os-mlock.c
+--- a/os-mlock.c 2020-04-16 15:37:41.000000000 +0300
++++ b/os-mlock.c 2020-08-08 15:47:44.793311179 +0300
+@@ -44,11 +44,19 @@
+ return rmStatus;
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++ down_read(&mm->mmap_lock);
++ ret = NV_GET_USER_PAGES((unsigned long)address,
++ page_count, write, force, user_pages, NULL);
++ up_read(&mm->mmap_lock);
++ pinned = ret;
++#else
+ down_read(&mm->mmap_sem);
+ ret = NV_GET_USER_PAGES((unsigned long)address,
+ page_count, write, force, user_pages, NULL);
+ up_read(&mm->mmap_sem);
+ pinned = ret;
++#endif
+
+ if (ret < 0)
+ {
+diff -Naru a/uvm/nvidia_uvm_lite_api.c b/uvm/nvidia_uvm_lite_api.c
+--- a/uvm/nvidia_uvm_lite_api.c 2020-04-16 15:37:41.000000000 +0300
++++ b/uvm/nvidia_uvm_lite_api.c 2020-08-08 15:28:40.110186418 +0300
+@@ -30,6 +30,10 @@
+ #include "uvm_gpu_ops_tests.h"
+ #endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 8, 0)
++#define mmap_sem mmap_lock
++#endif
++
+ //
+ // nvidia_uvm_lite_api.c
+ //