diff options
author | Jason Stryker | 2022-01-25 23:52:48 -0500 |
---|---|---|
committer | Jason Stryker | 2022-01-25 23:52:48 -0500 |
commit | f998e0cb58412cfd724f5c1480254beb2de22884 (patch) | |
tree | 83632bcc4712b4e52fb895e74f428c2f2c17cf79 | |
parent | 6e8ce288bc842f06d32c6f0ca8628f916a8a4bba (diff) | |
download | aur-f998e0cb58412cfd724f5c1480254beb2de22884.tar.gz |
update to driver version 470.62.22
-rw-r--r-- | .SRCINFO | 26 | ||||
-rw-r--r-- | PKGBUILD | 22 | ||||
-rw-r--r-- | kernel-5.16-std.diff | 172 | ||||
-rw-r--r-- | nvidia.rules | 6 |
4 files changed, 207 insertions, 19 deletions
@@ -1,6 +1,6 @@ pkgbase = nvidia-vulkan pkgdesc = NVIDIA drivers for linux (vulkan developer branch) - pkgver = 470.62.12 + pkgver = 470.62.22 pkgrel = 1 url = https://developer.nvidia.com/vulkan-driver arch = x86_64 @@ -9,27 +9,31 @@ pkgbase = nvidia-vulkan makedepends = linux makedepends = linux-headers options = !strip - source = NVIDIA-Linux-x86_64-470.62.12.run::https://developer.nvidia.com/vulkan-beta-4706212-linux + source = NVIDIA-Linux-x86_64-470.62.22.run::https://developer.nvidia.com/vulkan-beta-4706222-linux source = nvidia-drm-outputclass.conf source = nvidia-vulkan-utils.sysusers - sha512sums = e7d21ce7bf4cf034cb7e6162dfc8b7cfb9bb3144fbb70c0c2e6b8aeaf6379665f15117edbb685ea7d97f0956f89d2a58f4c77645af967d33072cbc3186d5e503 + source = nvidia.rules + source = kernel-5.16-std.diff + sha512sums = 9e9f6a665034495bbfd438567fb9a0998adbfcc979fd1e0370d355b4f312e4c1fb5162b15e5264cc89d3aca6dcaf84ce7ebfff0885ac783dfcd8be3b99b3b96f sha512sums = de7116c09f282a27920a1382df84aa86f559e537664bb30689605177ce37dc5067748acf9afd66a3269a6e323461356592fdfc624c86523bf105ff8fe47d3770 sha512sums = 4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499 + sha512sums = 68c9ac6444cdb3c637eee4135cf1a5a137a233ab12e682e3dbe5b3db6e704907b2759567e99f13026f1e33d8ccc78f3dad12d471cc2ddf9c3d4370697dc169e9 + sha512sums = 2c86a2a1f8c9fd48b0fbcdfdf0d53efd28d31a411dfb5d9ac5aba84014cdd77df898ab1b9669edafa248f85c88d478a5454165567e3c8a5c40b803a2c8861e84 pkgname = nvidia-vulkan pkgdesc = NVIDIA drivers for linux (vulkan developer branch) depends = linux - depends = nvidia-vulkan-utils=470.62.12 + depends = nvidia-vulkan-utils=470.62.22 depends = libglvnd - provides = nvidia=470.62.12 + provides = nvidia=470.62.22 conflicts = nvidia pkgname = nvidia-vulkan-dkms pkgdesc = NVIDIA driver sources for linux (vulkan developer branch) depends = dkms - depends = nvidia-vulkan-utils=470.62.12 + depends = nvidia-vulkan-utils=470.62.22 depends = libglvnd - provides = nvidia=470.62.12 + provides = nvidia=470.62.22 conflicts = nvidia pkgname = nvidia-vulkan-utils @@ -42,7 +46,7 @@ pkgname = nvidia-vulkan-utils optdepends = gtk3: nvidia-settings (GTK+ v3) optdepends = xorg-server-devel: nvidia-xconfig optdepends = opencl-nvidia-vulkan: OpenCL support - provides = nvidia-utils=470.62.12 + provides = nvidia-utils=470.62.22 provides = vulkan-driver provides = opengl-driver provides = nvidia-libgl @@ -57,7 +61,7 @@ pkgname = opencl-nvidia-vulkan depends = zlib optdepends = opencl-headers: headers necessary for OpenCL development provides = opencl-driver - provides = opencl-nvidia=470.62.12 + provides = opencl-nvidia=470.62.22 conflicts = opencl-nvidia pkgname = lib32-nvidia-vulkan-utils @@ -67,7 +71,7 @@ pkgname = lib32-nvidia-vulkan-utils depends = lib32-libglvnd depends = nvidia-vulkan-utils optdepends = lib32-opencl-nvidia-vulkan - provides = lib32-nvidia-utils=470.62.12 + provides = lib32-nvidia-utils=470.62.22 provides = lib32-vulkan-driver provides = lib32-opengl-driver provides = lib32-nvidia-libgl @@ -81,6 +85,6 @@ pkgname = lib32-opencl-nvidia-vulkan depends = lib32-gcc-libs optdepends = opencl-headers: headers necessary for OpenCL development provides = lib32-opencl-driver - provides = lib32-opencl-nvidia=470.62.12 + provides = lib32-opencl-nvidia=470.62.22 conflicts = lib32-opencl-nvidia conflicts = lib32-opencl-nvidia-390xx @@ -8,7 +8,7 @@ pkgbase=nvidia-vulkan pkgname=('nvidia-vulkan' 'nvidia-vulkan-dkms' 'nvidia-vulkan-utils' 'opencl-nvidia-vulkan' 'lib32-nvidia-vulkan-utils' 'lib32-opencl-nvidia-vulkan') -pkgver=470.62.12 +pkgver=470.62.22 pkgrel=1 pkgdesc="NVIDIA drivers for linux (vulkan developer branch)" arch=('x86_64') @@ -19,10 +19,14 @@ options=('!strip') _pkg="NVIDIA-Linux-x86_64-${pkgver}" source=("${_pkg}.run::https://developer.nvidia.com/vulkan-beta-${pkgver//.}-linux" 'nvidia-drm-outputclass.conf' - 'nvidia-vulkan-utils.sysusers') -sha512sums=('e7d21ce7bf4cf034cb7e6162dfc8b7cfb9bb3144fbb70c0c2e6b8aeaf6379665f15117edbb685ea7d97f0956f89d2a58f4c77645af967d33072cbc3186d5e503' + 'nvidia-vulkan-utils.sysusers' + 'nvidia.rules' + 'kernel-5.16-std.diff') +sha512sums=('9e9f6a665034495bbfd438567fb9a0998adbfcc979fd1e0370d355b4f312e4c1fb5162b15e5264cc89d3aca6dcaf84ce7ebfff0885ac783dfcd8be3b99b3b96f' 'de7116c09f282a27920a1382df84aa86f559e537664bb30689605177ce37dc5067748acf9afd66a3269a6e323461356592fdfc624c86523bf105ff8fe47d3770' - '4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499') + '4b3ad73f5076ba90fe0b3a2e712ac9cde76f469cd8070280f960c3ce7dc502d1927f525ae18d008075c8f08ea432f7be0a6c3a7a6b49c361126dcf42f97ec499' + '68c9ac6444cdb3c637eee4135cf1a5a137a233ab12e682e3dbe5b3db6e704907b2759567e99f13026f1e33d8ccc78f3dad12d471cc2ddf9c3d4370697dc169e9' + '2c86a2a1f8c9fd48b0fbcdfdf0d53efd28d31a411dfb5d9ac5aba84014cdd77df898ab1b9669edafa248f85c88d478a5454165567e3c8a5c40b803a2c8861e84') create_links() { # create soname links @@ -39,8 +43,8 @@ prepare() { cd "${_pkg}" bsdtar -xf nvidia-persistenced-init.tar.bz2 - #patch -Np1 -i ../kernel-5.11.patch - #patch -Np1 -i ../kernel-5.12.patch + # Thanks frogs - https://github.com/Frogging-Family/nvidia-all/blob/master/patches/kernel-5.16-std.diff + patch -Np1 -i ../kernel-5.16-std.diff # Fixing regex pattern for Module.symvers sed -i "s/${TAB}vmlinux/${TAB}*vmlinux/g" kernel/conftest.sh @@ -83,8 +87,8 @@ package_nvidia-vulkan() { find "${pkgdir}" -name '*.ko' -exec gzip -n {} + - echo "blacklist nouveau" | - install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" + echo "blacklist nouveau" | install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" + echo "nvidia-uvm" | install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modules-load.d/${pkgname}.conf" install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" } @@ -259,6 +263,8 @@ package_nvidia-vulkan-utils() { install -Dm644 "${srcdir}/nvidia-vulkan-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/$pkgname.conf" + install -Dm644 "${srcdir}/nvidia.rules" "$pkgdir"/usr/lib/udev/rules.d/60-nvidia.rules + create_links } diff --git a/kernel-5.16-std.diff b/kernel-5.16-std.diff new file mode 100644 index 000000000000..a86e48defb12 --- /dev/null +++ b/kernel-5.16-std.diff @@ -0,0 +1,172 @@ +diff --git a/kernel/common/inc/nv.h a/kernel/common/inc/nv.h +index 2ddaa25..40a3fd5 100644 +--- a/kernel/common/inc/nv.h ++++ a/kernel/common/inc/nv.h +@@ -17,13 +17,15 @@ + #include <nvlimits.h> + + #if defined(NV_KERNEL_INTERFACE_LAYER) && defined(__FreeBSD__) +- #include <sys/stddef.h> // NULL ++ #include <sys/stddef.h> // NULL ++#elif defined(NV_KERNEL_INTERFACE_LAYER) && defined(NV_LINUX) ++ #include <linux/stddef.h> // NULL + #else +- #include <stddef.h> // NULL ++ #include <stddef.h> // NULL + #endif + + #include <nvstatus.h> +-#include <stdarg.h> ++#include "nv_stdarg.h" + #include <nv-caps.h> + #include <nv-ioctl.h> + #include <nvmisc.h> +diff --git a/kernel/common/inc/nv_stdarg.h a/kernel/common/inc/nv_stdarg.h +new file mode 100644 +index 0000000..4b63340 +--- /dev/null ++++ a/kernel/common/inc/nv_stdarg.h +@@ -0,0 +1,39 @@ ++/* ++ * SPDX-FileCopyrightText: Copyright (c) 2021 NVIDIA CORPORATION & AFFILIATES. All rights reserved. ++ * SPDX-License-Identifier: MIT ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ * DEALINGS IN THE SOFTWARE. ++ */ ++ ++ ++#ifndef _NV_STDARG_H_ ++#define _NV_STDARG_H_ ++ ++#if defined(NV_KERNEL_INTERFACE_LAYER) && defined(NV_LINUX) ++ #include "conftest.h" ++ #if defined(NV_LINUX_STDARG_H_PRESENT) ++ #include <linux/stdarg.h> ++ #else ++ #include <stdarg.h> ++ #endif ++#else ++ #include <stdarg.h> ++#endif ++ ++#endif // _NV_STDARG_H_ +diff --git a/kernel/common/inc/os-interface.h a/kernel/common/inc/os-interface.h +index b615773..dd3e7a8 100644 +--- a/kernel/common/inc/os-interface.h ++++ a/kernel/common/inc/os-interface.h +@@ -24,7 +24,7 @@ + + #include <nvtypes.h> + #include <nvstatus.h> +-#include <stdarg.h> ++#include "nv_stdarg.h" + #include <nv-kernel-interface-api.h> + #include <os/nv_memory_type.h> + +diff --git a/kernel/common/inc/rm-gpu-ops.h a/kernel/common/inc/rm-gpu-ops.h +index 67b252e..3302e72 100644 +--- a/kernel/common/inc/rm-gpu-ops.h ++++ a/kernel/common/inc/rm-gpu-ops.h +@@ -16,7 +16,7 @@ + + #include <nvtypes.h> + #include <nvCpuUuid.h> +-#include <stdarg.h> ++#include "nv_stdarg.h" + #include <nv-caps.h> + #include <nv-ioctl.h> + #include <nvmisc.h> +diff --git a/kernel/conftest.sh a/kernel/conftest.sh +index 1a1f89c..4ae52c7 100755 +--- a/kernel/conftest.sh ++++ a/kernel/conftest.sh +@@ -163,6 +163,7 @@ test_headers() { + FILES="$FILES sound/hda_codec.h" + FILES="$FILES linux/dma-buf.h" + FILES="$FILES linux/time.h" ++ FILES="$FILES linux/stdarg.h" + + translate_and_preprocess_header_files $FILES + } +diff --git a/kernel/nvidia-modeset/nvidia-modeset-os-interface.h a/kernel/nvidia-modeset/nvidia-modeset-os-interface.h +index 65130fd..720e0d2 100644 +--- a/kernel/nvidia-modeset/nvidia-modeset-os-interface.h ++++ a/kernel/nvidia-modeset/nvidia-modeset-os-interface.h +@@ -16,8 +16,14 @@ + #if !defined(_NVIDIA_MODESET_OS_INTERFACE_H_) + #define _NVIDIA_MODESET_OS_INTERFACE_H_ + +-#include <stddef.h> /* size_t */ +-#include <stdarg.h> /* va_list */ ++#if defined(NV_KERNEL_INTERFACE_LAYER) && defined(__FreeBSD__) ++ #include <sys/stddef.h> // NULL ++#elif defined(NV_KERNEL_INTERFACE_LAYER) && defined(NV_LINUX) ++ #include <linux/stddef.h> // NULL ++#else ++ #include <stddef.h> // NULL ++#endif ++#include "nv_stdarg.h" /* va_list */ + + #include "nvtypes.h" /* NvU8 */ + +diff --git a/kernel/nvidia-modeset/nvkms.h a/kernel/nvidia-modeset/nvkms.h +index d46f97d..4180ed6 100644 +--- a/kernel/nvidia-modeset/nvkms.h ++++ a/kernel/nvidia-modeset/nvkms.h +@@ -9,7 +9,13 @@ + #define __NV_KMS_H__ + + #include "nvtypes.h" +-#include <stddef.h> /* size_t */ ++#if defined(NV_KERNEL_INTERFACE_LAYER) && defined(__FreeBSD__) ++ #include <sys/stddef.h> // NULL ++#elif defined(NV_KERNEL_INTERFACE_LAYER) && defined(NV_LINUX) ++ #include <linux/stddef.h> // NULL ++#else ++ #include <stddef.h> // NULL ++#endif + + #include "nvkms-kapi.h" + +diff --git a/kernel/nvidia-uvm/uvm_mmu.c a/kernel/nvidia-uvm/uvm_mmu.c +index 68c77be..333da8b 100644 +--- a/kernel/nvidia-uvm/uvm_mmu.c ++++ a/kernel/nvidia-uvm/uvm_mmu.c +@@ -32,7 +32,7 @@ + #include "uvm_push.h" + #include "uvm_mem.h" + #include "uvm_va_space.h" +-#include <stdarg.h> ++#include "nv_stdarg.h" + + + +diff --git a/kernel/nvidia/export_nvswitch.h a/kernel/nvidia/export_nvswitch.h +index e45666c..618a3e7 100644 +--- a/kernel/nvidia/export_nvswitch.h ++++ a/kernel/nvidia/export_nvswitch.h +@@ -28,7 +28,7 @@ + extern "C" { + #endif + +-#include <stdarg.h> ++#include "nv_stdarg.h" + #include "nvlink_common.h" + #include "ioctl_common_nvswitch.h" + diff --git a/nvidia.rules b/nvidia.rules new file mode 100644 index 000000000000..557f69c21351 --- /dev/null +++ b/nvidia.rules @@ -0,0 +1,6 @@ +# Make sure device nodes are present even when the DDX is not started for the Wayland/EGLStream case +KERNEL=="nvidia", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidiactl c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 255'" +KERNEL=="nvidia", RUN+="/usr/bin/bash -c 'for i in $$(cat /proc/driver/nvidia/gpus/*/information | grep Minor | cut -d \ -f 4); do /usr/bin/mknod -Z -m 666 /dev/nvidia$${i} c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) $${i}; done'" +KERNEL=="nvidia_modeset", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-modeset c $$(grep nvidia-frontend /proc/devices | cut -d \ -f 1) 254'" +KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 0'" +KERNEL=="nvidia_uvm", RUN+="/usr/bin/bash -c '/usr/bin/mknod -Z -m 666 /dev/nvidia-uvm-tools c $$(grep nvidia-uvm /proc/devices | cut -d \ -f 1) 1'"
\ No newline at end of file |