diff options
author | jose1711 | 2016-06-11 18:38:02 +0200 |
---|---|---|
committer | jose1711 | 2016-06-11 18:38:02 +0200 |
commit | c2585e9891f39450ee5abf6369ff038a305cb11f (patch) | |
tree | 2f900ea3daf6281bc58e9ddfb768da0edcb2e262 | |
parent | b1656c072cbf1a1ab35c14ca025a73beb4cc8750 (diff) | |
download | aur-c2585e9891f39450ee5abf6369ff038a305cb11f.tar.gz |
updated
-rw-r--r-- | .SRCINFO | 12 | ||||
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | linux-4.6.patch | 50 | ||||
-rw-r--r-- | nvidia.install | 6 |
4 files changed, 67 insertions, 13 deletions
@@ -1,5 +1,5 @@ # Generated by mksrcinfo v8 -# Mon Apr 25 16:52:51 UTC 2016 +# Sat Jun 11 16:37:30 UTC 2016 pkgbase = nvidia-pae pkgdesc = NVIDIA drivers for linux pkgver = 364.19 @@ -10,17 +10,19 @@ pkgbase = nvidia-pae makedepends = nvidia-libgl makedepends = nvidia-utils=364.19 makedepends = linux-pae - makedepends = linux-pae-headers>=4.5 - makedepends = linux-pae-headers<4.6 + makedepends = linux-pae-headers>=4.6 + makedepends = linux-pae-headers<4.7 options = !strip source = http://us.download.nvidia.com/XFree86/Linux-x86/364.19/NVIDIA-Linux-x86-364.19.run + source = linux-4.6.patch md5sums = 8a4015213c4a8f1c80e9520d04a32a7b + md5sums = 3064bd437b26adac246f301f54f2814c pkgname = nvidia-pae pkgdesc = NVIDIA drivers for linux install = nvidia.install - depends = linux-pae>=4.5 - depends = linux-pae<4.6 + depends = linux-pae>=4.6 + depends = linux-pae<4.7 depends = nvidia-utils=364.19 depends = libgl @@ -6,17 +6,18 @@ pkgbase=nvidia-pae pkgname=(nvidia-pae nvidia-pae-dkms) pkgver=364.19 -_extramodules=extramodules-4.5-pae +_extramodules=extramodules-4.6-pae pkgrel=1 pkgdesc="NVIDIA drivers for linux" arch=('i686') url="http://www.nvidia.com/" -makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux-pae' 'linux-pae-headers>=4.5' 'linux-pae-headers<4.6') +makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux-pae' 'linux-pae-headers>=4.6' 'linux-pae-headers<4.7') license=('custom') options=('!strip') # See nvidia-utils -source=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run") -md5sums=('8a4015213c4a8f1c80e9520d04a32a7b') +source=("http://us.download.nvidia.com/XFree86/Linux-x86/${pkgver}/NVIDIA-Linux-x86-${pkgver}.run" 'linux-4.6.patch') +md5sums=('8a4015213c4a8f1c80e9520d04a32a7b' + '3064bd437b26adac246f301f54f2814c') _pkg="NVIDIA-Linux-x86-${pkgver}" @@ -24,6 +25,7 @@ prepare() { sh "${_pkg}.run" --extract-only cd "${_pkg}" # patches here + patch -p1 --no-backup-if-mismatch -i ../linux-4.6.patch cp -a kernel kernel-dkms cd kernel-dkms @@ -48,7 +50,7 @@ build() { package_nvidia-pae() { pkgdesc="NVIDIA drivers for linux" - depends=('linux-pae>=4.5' 'linux-pae<4.6' "nvidia-utils=${pkgver}" 'libgl') + depends=('linux-pae>=4.6' 'linux-pae<4.7' "nvidia-utils=${pkgver}" 'libgl') install=nvidia.install install -D -m644 "${srcdir}/${_pkg}/kernel/nvidia.ko" \ diff --git a/linux-4.6.patch b/linux-4.6.patch new file mode 100644 index 000000000000..3dde4730532b --- /dev/null +++ b/linux-4.6.patch @@ -0,0 +1,50 @@ +--- a/kernel/nvidia-drm/nvidia-drm-fb.c
++++ b/kernel/nvidia-drm/nvidia-drm-fb.c
+@@ -77,7 +77,7 @@
+ static struct drm_framebuffer *internal_framebuffer_create
+ (
+ struct drm_device *dev,
+- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd,
++ struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd,
+ uint64_t nvkms_params_ptr,
+ uint64_t nvkms_params_size
+ )
+@@ -199,7 +199,7 @@
+ struct drm_framebuffer *nvidia_drm_framebuffer_create
+ (
+ struct drm_device *dev,
+- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd
++ struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd
+ )
+ {
+ return internal_framebuffer_create(dev, file, cmd, 0, 0);
+--- a/kernel/nvidia-drm/nvidia-drm-fb.h
++++ b/kernel/nvidia-drm/nvidia-drm-fb.h
+@@ -45,7 +45,7 @@
+ struct drm_framebuffer *nvidia_drm_framebuffer_create
+ (
+ struct drm_device *dev,
+- struct drm_file *file, struct drm_mode_fb_cmd2 *cmd
++ struct drm_file *file, const struct drm_mode_fb_cmd2 *cmd
+ );
+
+ int nvidia_drm_add_nvkms_fb(
+--- a/kernel/nvidia-drm/nvidia-drm-linux.c
++++ b/kernel/nvidia-drm/nvidia-drm-linux.c
+@@ -31,6 +31,7 @@
+
+ #if defined(NV_DRM_AVAILABLE)
+
++#include "nv-mm.h"
+ #include "nv-pgprot.h"
+
+ MODULE_PARM_DESC(
+@@ -121,8 +122,7 @@
+
+ down_read(&mm->mmap_sem);
+
+- pages_pinned = get_user_pages(current, mm,
+- address, pages_count, write, force,
++ pages_pinned = NV_GET_USER_PAGES(address, pages_count, write, force,
+ user_pages, NULL);
+ up_read(&mm->mmap_sem);
\ No newline at end of file diff --git a/nvidia.install b/nvidia.install index 4915282f9cc3..57e3aea88151 100644 --- a/nvidia.install +++ b/nvidia.install @@ -1,16 +1,16 @@ post_install() { - EXTRAMODULES='extramodules-4.5-pae' + EXTRAMODULES='extramodules-4.6-pae' depmod $(cat /lib/modules/$EXTRAMODULES/version) echo 'In order to use nvidia module, reboot the system.' } post_upgrade() { - EXTRAMODULES='extramodules-4.5-pae' + EXTRAMODULES='extramodules-4.6-pae' depmod $(cat /lib/modules/$EXTRAMODULES/version) rmmod nvidia || echo 'In order to use the new nvidia module, exit Xserver and unload it manually.' } post_remove() { - EXTRAMODULES='extramodules-4.5-pae' + EXTRAMODULES='extramodules-4.6-pae' depmod $(cat /lib/modules/$EXTRAMODULES/version) } |