diff options
author | graysky | 2017-01-27 15:22:23 -0500 |
---|---|---|
committer | graysky | 2017-01-27 15:22:23 -0500 |
commit | c443f5f1d9ad48ede3d2ec707670a29ea5abdaa2 (patch) | |
tree | 5f85d3d2110c769140b997db88939041bcf1eb79 | |
parent | 84b9b1429fab5551f36cf67658e3847cb6b9f805 (diff) | |
download | aur-c443f5f1d9ad48ede3d2ec707670a29ea5abdaa2.tar.gz |
Update to 304.134-4
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 14 | ||||
-rw-r--r-- | disable-mtrr.patch | 4 | ||||
-rw-r--r-- | unfuck_kernel_4.9_series.patch | 20 |
4 files changed, 37 insertions, 9 deletions
@@ -1,9 +1,9 @@ # Generated by mksrcinfo v8 -# Thu Jan 26 22:13:54 UTC 2017 +# Fri Jan 27 20:22:23 UTC 2017 pkgbase = nvidia-304xx-ck pkgdesc = NVIDIA drivers for linux-ck, 304xx legacy branch. pkgver = 304.134 - pkgrel = 3 + pkgrel = 4 url = http://www.nvidia.com/ install = readme.install arch = i686 @@ -20,7 +20,9 @@ pkgbase = nvidia-304xx-ck conflicts = nvidia-ck options = !strip source = disable-mtrr.patch - sha256sums = cbaa0c4e4f30d993958c079a22e0346970f99d4fda9d12379777bb16ab3306c9 + source = unfuck_kernel_4.9_series.patch + sha256sums = 4263cf19e49acb33ad2641db674ea1eccb71a573300b345636fe99c87fcbdc71 + sha256sums = c2e697e56ac1bf418052a24c16c77d5149474b661227c494ce9949d050c2d9c5 source_i686 = http://us.download.nvidia.com/XFree86/Linux-x86/304.134/NVIDIA-Linux-x86-304.134.run sha256sums_i686 = 84f7891af131bb9f9a8a34401dfef4288218019406dfa4ae57b6d52b14e81c9d source_x86_64 = http://us.download.nvidia.com/XFree86/Linux-x86_64/304.134/NVIDIA-Linux-x86_64-304.134-no-compat32.run @@ -5,7 +5,7 @@ pkgname=nvidia-304xx-ck pkgver=304.134 _extramodules=extramodules-4.9-ck -pkgrel=3 +pkgrel=4 _pkgdesc="NVIDIA drivers for linux-ck, 304xx legacy branch." pkgdesc="$_pkgdesc" arch=('i686' 'x86_64') @@ -19,10 +19,12 @@ license=('custom') install=readme.install options=(!strip) source=('disable-mtrr.patch' +'unfuck_kernel_4.9_series.patch' ) source_i686+=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run") source_x86_64+=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run") -sha256sums=('cbaa0c4e4f30d993958c079a22e0346970f99d4fda9d12379777bb16ab3306c9') +sha256sums=('4263cf19e49acb33ad2641db674ea1eccb71a573300b345636fe99c87fcbdc71' + 'c2e697e56ac1bf418052a24c16c77d5149474b661227c494ce9949d050c2d9c5') sha256sums_i686=('84f7891af131bb9f9a8a34401dfef4288218019406dfa4ae57b6d52b14e81c9d') sha256sums_x86_64=('42213765cd28078314657d3c1ba382584f09e5e57598240596021f4f76c0c443') [[ "$CARCH" = "i686" ]] && _pkg="NVIDIA-Linux-x86-${pkgver}" @@ -32,8 +34,12 @@ prepare() { sh "${_pkg}.run" --extract-only cd "${_pkg}" - # FS#47092 - (cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch) + # FS#47092 + #(cd kernel; patch -p1 --no-backup-if-mismatch -i "$srcdir"/disable-mtrr.patch) + patch -Np1 -i "$srcdir/disable-mtrr.patch" + + # FS#52734 + patch -Np1 -i "$srcdir/unfuck_kernel_4.9_series.patch" } build() { diff --git a/disable-mtrr.patch b/disable-mtrr.patch index 9be9e2c86270..1a88fc75ece7 100644 --- a/disable-mtrr.patch +++ b/disable-mtrr.patch @@ -4,8 +4,8 @@ Description: Disable MTRR on kernel >= 4.3 longer exported. The Nvidia kernel shim still uses it as of 304.131, causing the module to error out when loading. Disable MTRR if running on 4.3 or greater until upstream fixes it. ---- a/nv-linux.h -+++ b/nv-linux.h +--- a/kernel/nv-linux.h ++++ b/kernel/nv-linux.h @@ -256,6 +256,15 @@ #include <linux/seq_file.h> #endif diff --git a/unfuck_kernel_4.9_series.patch b/unfuck_kernel_4.9_series.patch new file mode 100644 index 000000000000..bdacabc620dd --- /dev/null +++ b/unfuck_kernel_4.9_series.patch @@ -0,0 +1,20 @@ +Author: Luca Boccassi <luca.boccassi@gmail.com> +Description: Fix kernel module load on 4.9 and greater + From kernel 4.9 and newer (commit fa5386459f06) non-modesetting drivers have + to use the DRM flag DRIVER_LEGACY. Without this flag the kernel module does + not load correctly. + +--- a/kernel/nv-drm.c ++++ b/kernel/nv-drm.c +@@ -71,7 +71,11 @@ + }; + + static struct drm_driver nv_drm_driver = { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 9, 0) + .driver_features = 0, ++#else ++ .driver_features = DRIVER_LEGACY, ++#endif + .load = nv_drm_load, + .unload = nv_drm_unload, + .fops = &nv_drm_fops, |