summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bermond2020-01-28 16:31:33 +0000
committerDaniel Bermond2020-01-28 17:47:28 +0000
commit5dfa177a591df37192ce81e47f4239e0ceb536ce (patch)
tree6e06347a4db3b11bdc1865aa5f0a5d09e631c622
parent2ff7381c5e7835249a6a0e96ec23f4ae0f0ea19e (diff)
downloadaur-5dfa177a591df37192ce81e47f4239e0ceb536ce.tar.gz
Add fixes for linux 5.5, prime and FS#64317
- add patch to fix build for linux 5.5 (https://devtalk.nvidia.com/default/topic/1068332/linux/nvidia-driver-does-not-build-on-linux-v5-5-release-candidate-kernel/) - add patch to fix prime for linux 5.4 (https://devtalk.nvidia.com/default/topic/1068045/5-4-kernel-breaks-prime-synchronization-/) - remove patch for FS#62142 as reported by FS#64317
-rw-r--r--.SRCINFO8
-rw-r--r--FS62142.patch12
-rw-r--r--PKGBUILD19
3 files changed, 13 insertions, 26 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 573d04d2cdd2..6c0dce16819b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = nvidia-beta
pkgdesc = NVIDIA drivers for Arch's official 'linux' package (beta version)
pkgver = 440.44
- pkgrel = 1
+ pkgrel = 2
url = https://www.nvidia.com/
arch = x86_64
license = custom
@@ -14,9 +14,11 @@ pkgbase = nvidia-beta
conflicts = nvidia
options = !strip
source = https://us.download.nvidia.com/XFree86/Linux-x86_64/440.44/NVIDIA-Linux-x86_64-440.44-no-compat32.run
- source = FS62142.patch
+ source = 010-nvidia-prime-kernel-5.4.patch::https://gitlab.com/snippets/1929174/raw
+ source = 020-nvidia-kernel-5.5.patch::https://gitlab.com/snippets/1923197/raw
sha256sums = 794fdfc8e65c203ae482f59df7e55050ddcf0a11af2a95eaa1a10c7d48ec7e0f
- sha256sums = c961006882afb691410c017c239e2c2ef61badb88f15735d37112b513ef0a99d
+ sha256sums = bedd55074771222bad8391c66b7022a266c135ff51d478710f7dda8708c3e9aa
+ sha256sums = 7dcd609e85720cb812d7b41320d845931d8ea3e8529c700231372e0da66e5804
pkgname = nvidia-beta
diff --git a/FS62142.patch b/FS62142.patch
deleted file mode 100644
index 887f3366723e..000000000000
--- a/FS62142.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naurp a/kernel/nvidia/nv-dma.c b/kernel/nvidia/nv-dma.c
---- a/kernel/nvidia/nv-dma.c 2019-05-08 01:37:30.000000000 +0000
-+++ b/kernel/nvidia/nv-dma.c 2019-06-08 18:33:00.000000000 +0000
-@@ -613,7 +613,7 @@ static NvBool nv_dma_is_map_resource_imp
- #endif
- }
-
-- return (ops->map_resource != NULL);
-+ return (ops && ops->map_resource);
- #else
- return NV_FALSE;
- #endif
diff --git a/PKGBUILD b/PKGBUILD
index 5b2f0499bb60..afc0430b5d04 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,11 +1,11 @@
-# Maintainer : Daniel Bermond < gmail-com: danielbermond >
+# Maintainer : Daniel Bermond <dbermond@archlinux.org>
# Contributor: Det <nimetonmaili g-mail>
# Contributor: Ng Oon-Ee
# Contributor: Dan Vratil
pkgname=nvidia-beta
pkgver=440.44
-pkgrel=1
+pkgrel=2
pkgdesc="NVIDIA drivers for Arch's official 'linux' package (beta version)"
arch=('x86_64')
url='https://www.nvidia.com/'
@@ -17,11 +17,11 @@ conflicts=('nvidia')
options=('!strip')
_pkg="NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32"
source=("https://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_pkg}.run"
- 'FS62142.patch')
+ '010-nvidia-prime-kernel-5.4.patch::https://gitlab.com/snippets/1929174/raw'
+ '020-nvidia-kernel-5.5.patch::https://gitlab.com/snippets/1923197/raw')
sha256sums=('794fdfc8e65c203ae482f59df7e55050ddcf0a11af2a95eaa1a10c7d48ec7e0f'
- 'c961006882afb691410c017c239e2c2ef61badb88f15735d37112b513ef0a99d')
-
-_extramodules='extramodules-ARCH'
+ 'bedd55074771222bad8391c66b7022a266c135ff51d478710f7dda8708c3e9aa'
+ '7dcd609e85720cb812d7b41320d845931d8ea3e8529c700231372e0da66e5804')
prepare() {
# extract the source file
@@ -29,8 +29,8 @@ prepare() {
printf '%s\n' " -> Self-Extracting ${_pkg}.run..."
sh "${_pkg}.run" --extract-only
- # fix https://bugs.archlinux.org/task/62142
- patch -d "$_pkg" -Np1 -i "${srcdir}/FS62142.patch"
+ patch -d "$_pkg" -Np1 -i "${srcdir}/010-nvidia-prime-kernel-5.4.patch"
+ patch -d "$_pkg" -Np1 -i "${srcdir}/020-nvidia-kernel-5.5.patch"
}
build() {
@@ -43,10 +43,7 @@ package() {
_extradir="/usr/lib/modules/$(</usr/src/linux/version)/extramodules"
install -D -m644 "${_pkg}/kernel/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}${_extradir}"
-
find "$pkgdir" -name '*.ko' -exec gzip -n {} +
-
printf '%s\n' 'blacklist nouveau' | install -D -m644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
-
install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}