From d69225cfb0b00783817f79cdd99f607eb4436ef2 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 23 May 2016 19:29:07 +0100 Subject: [PATCH] xf86-video-nvidia: update to xf86-video-nvidia-361.42 --- .../x11/driver/xf86-video-nvidia/package.mk | 8 +++-- ...f86-video-nvidia-0001-kernel-4.6-fix.patch | 35 +++++++++++++++++-- .../xf86-video-nvidia/udev.d/96-nvidia.rules | 6 ++++ 3 files changed, 44 insertions(+), 5 deletions(-) diff --git a/packages/x11/driver/xf86-video-nvidia/package.mk b/packages/x11/driver/xf86-video-nvidia/package.mk index 19edb12987..009e552b52 100644 --- a/packages/x11/driver/xf86-video-nvidia/package.mk +++ b/packages/x11/driver/xf86-video-nvidia/package.mk @@ -20,7 +20,7 @@ PKG_NAME="xf86-video-nvidia" # Remember to run "python packages/x11/driver/xf86-video-nvidia/scripts/make_nvidia_udev.py" and commit changes to # "packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules" whenever bumping version. # Host may require installation of python-lxml and python-requests packages. -PKG_VERSION="352.79" +PKG_VERSION="361.42" PKG_REV="1" PKG_ARCH="x86_64" PKG_LICENSE="nonfree" @@ -69,13 +69,15 @@ makeinstall_target() { ln -sf /var/lib/libnvidia-ml.so.1 $INSTALL/usr/lib/libnvidia-ml.so.1 cp -P tls/libnvidia-tls.so.$PKG_VERSION $INSTALL/usr/lib # rename to not conflicting with Mesa libGL.so - cp -P libGL.so* $INSTALL/usr/lib/libGL_nvidia.so.1 + cp -P libGL.so.$PKG_VERSION $INSTALL/usr/lib/libGL_nvidia.so.1 mkdir -p $INSTALL/lib/modules/$(get_module_dir)/nvidia ln -sf /var/lib/nvidia.ko $INSTALL/lib/modules/$(get_module_dir)/nvidia/nvidia.ko + cp -P kernel/nvidia-uvm.ko $INSTALL/lib/modules/$(get_module_dir)/nvidia + cp -P kernel/nvidia-modeset.ko $INSTALL/lib/modules/$(get_module_dir)/nvidia mkdir -p $INSTALL/usr/lib/nvidia - cp kernel/nvidia.ko $INSTALL/usr/lib/nvidia + cp -P kernel/nvidia.ko $INSTALL/usr/lib/nvidia mkdir -p $INSTALL/usr/bin ln -s /var/lib/nvidia-smi $INSTALL/usr/bin/nvidia-smi diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-kernel-4.6-fix.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-kernel-4.6-fix.patch index bfe69b3418..76fec72fea 100644 --- a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-kernel-4.6-fix.patch +++ b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0001-kernel-4.6-fix.patch @@ -1,5 +1,5 @@ ---- a/kernel/os-mlock.c 2016-04-03 05:07:03.000000000 +0200 -+++ b/kernel/os-mlock.c 2016-04-17 00:46:54.758305738 +0200 +--- a/kernel/nvidia/os-mlock.c 2016-05-23 19:41:41.487380938 +0100 ++++ b/kernel/nvidia/os-mlock.c 2016-05-23 19:42:34.716761233 +0100 @@ -116,7 +116,7 @@ } @@ -27,3 +27,34 @@ } os_free_mem(user_pages); +--- a/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c 2016-03-22 23:48:41.000000000 +0000 ++++ b/kernel/nvidia-uvm/uvm_full_pagetbl_mgmt.c 2016-05-23 20:17:26.337911381 +0100 +@@ -2907,7 +2907,7 @@ + + // get userPA for this range + down_read(¤t->mm->mmap_sem); +- returnVal = get_user_pages(current, current->mm, (unsigned long)(UVM_ALIGN_ADDR(userCopyBuffer, PAGE_SIZE_4K)), ++ returnVal = get_user_pages((unsigned long)(UVM_ALIGN_ADDR(userCopyBuffer, PAGE_SIZE_4K)), + userPagesReq, 1, 0, tempUserPageArray, NULL); + up_read(¤t->mm->mmap_sem); + +@@ -2937,7 +2937,7 @@ + set_page_dirty_lock(tempUserPageArray[i]); + + UVM_PANIC_ON(tempUserPageArray[i] == 0); +- page_cache_release(tempUserPageArray[i]); ++ put_page(tempUserPageArray[i]); + tempUserPageArray[i] = 0; + } + +--- a/kernel/nvidia-uvm/uvm8_tools.c 2016-05-23 20:17:47.218443656 +0100 ++++ b/kernel/nvidia-uvm/uvm8_tools.c 2016-05-23 20:18:02.002820423 +0100 +@@ -157,7 +157,7 @@ + } + + down_read(¤t->mm->mmap_sem); +- ret = get_user_pages(current, current->mm, user_va, num_pages, 1, 0, *pages, NULL); ++ ret = get_user_pages(user_va, num_pages, 1, 0, *pages, NULL); + up_read(¤t->mm->mmap_sem); + if (ret != num_pages) { + status = NV_ERR_INVALID_ARGUMENT; diff --git a/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules b/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules index 1e2c4d1123..766e134a87 100644 --- a/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules +++ b/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules @@ -251,8 +251,12 @@ ATTRS{device}=="0x1341", GOTO="configure_nvidia" ATTRS{device}=="0x1344", GOTO="configure_nvidia" ATTRS{device}=="0x1346", GOTO="configure_nvidia" ATTRS{device}=="0x1347", GOTO="configure_nvidia" +ATTRS{device}=="0x1348", GOTO="configure_nvidia" ATTRS{device}=="0x1349", GOTO="configure_nvidia" ATTRS{device}=="0x134b", GOTO="configure_nvidia" +ATTRS{device}=="0x134d", GOTO="configure_nvidia" +ATTRS{device}=="0x134e", GOTO="configure_nvidia" +ATTRS{device}=="0x134f", GOTO="configure_nvidia" ATTRS{device}=="0x137a", GOTO="configure_nvidia" ATTRS{device}=="0x137d", GOTO="configure_nvidia" ATTRS{device}=="0x1380", GOTO="configure_nvidia" @@ -298,9 +302,11 @@ ATTRS{device}=="0x1618", GOTO="configure_nvidia" ATTRS{device}=="0x1619", GOTO="configure_nvidia" ATTRS{device}=="0x161a", GOTO="configure_nvidia" ATTRS{device}=="0x1667", GOTO="configure_nvidia" +ATTRS{device}=="0x179c", GOTO="configure_nvidia" ATTRS{device}=="0x17c2", GOTO="configure_nvidia" ATTRS{device}=="0x17c8", GOTO="configure_nvidia" ATTRS{device}=="0x17f0", GOTO="configure_nvidia" +ATTRS{device}=="0x17f1", GOTO="configure_nvidia" ATTRS{device}=="0x17fd", GOTO="configure_nvidia" GOTO="configure_nvidia-legacy"