From 7bea064e0ccdddc139a2cd0b3aea57a1e6dfb3bb Mon Sep 17 00:00:00 2001 From: Angelo Trotta <111277410+ShyVortex@users.noreply.github.com> Date: Fri, 10 Nov 2023 04:52:51 +0100 Subject: [PATCH] Merge #198 + 535.43.16 (#199) Merges fallback for open module src and updates Vulkan dev driver to the latest. November 6th, 2023 - Linux 535.43.16 New: > VK_EXT_video_encode_h265 (Provisional) Fixes: > Fix vertex count calculation in mesh shader with DGC --- PKGBUILD | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/PKGBUILD b/PKGBUILD index fc675ce..ff44ced 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -48,7 +48,7 @@ if [ -z "$_driver_version" ] || [ "$_driver_version" = "latest" ] || [ -z "$_dri fi fi if [[ -z $CONDITION ]]; then - read -p " Which driver version do you want?`echo $'\n > 1.Vulkan dev: 535.43.15\n 2.545 series: 545.29.02\n 3.535 series: 535.113.01\n 4.530 series: 530.41.03\n 5.470 series: 470.199.02\n 6.Older series\n 7.Custom version (396.xx series or higher)\n choice[1-7?]: '`" CONDITION; + read -p " Which driver version do you want?`echo $'\n > 1.Vulkan dev: 535.43.16\n 2.545 series: 545.29.02\n 3.535 series: 535.113.01\n 4.530 series: 530.41.03\n 5.470 series: 470.199.02\n 6.Older series\n 7.Custom version (396.xx series or higher)\n choice[1-7?]: '`" CONDITION; fi # This will be treated as the latest regular driver. if [ "$CONDITION" = "2" ]; then @@ -148,8 +148,8 @@ if [ -z "$_driver_version" ] || [ "$_driver_version" = "latest" ] || [ -z "$_dri echo "_driver_version=$_driver_version" >> options # This (condition 1) will be treated as the latest Vulkan developer driver. else - echo '_driver_version=535.43.15' > options - echo '_md5sum=fa635d42b47dc2973be851a043baaa42' >> options + echo '_driver_version=535.43.16' > options + echo '_md5sum=81d853f73de771bf9febbd604d52f0d3' >> options echo '_driver_branch=vulkandev' >> options fi # Package type selector @@ -169,7 +169,7 @@ if [ -e options ]; then source options if [ "$_open_source_modules" != "false" ]; then # Open source kernel module availability check - if [[ "$( curl -Is "https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-$_driver_version.tar.xz" | head -n 1 )" = *200* ]]; then + if [[ "$( curl -Is "https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-$_driver_version.tar.xz" | head -n 1 )" = *200* ]] || [[ "$( curl -Is "https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/$_driver_version.tar.gz" | head -n 1 )" = *302* ]]; then if [ -z "$_open_source_modules" ]; then msg2 " - Open source kernel modules available - " warning "IT ONLY OFFERS SUPPORT FOR TURING AND NEWER, AND DOESN'T OFFER ALL THE FEATURES OF THE PROPRIETARY ONE." @@ -181,6 +181,11 @@ if [ -e options ]; then else echo '_open_source_modules="false"' >> options fi + if [[ "$( curl -Is "https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-$_driver_version.tar.xz" | head -n 1 )" = *200* ]]; then + echo '_srcbase="NVIDIA-kernel-module-source"' >> options + elif [[ "$( curl -Is "https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/$_driver_version.tar.gz" | head -n 1 )" = *302* ]]; then + echo '_srcbase="open-gpu-kernel-modules"' >> options + fi fi else msg2 "No open source kernel module available" @@ -416,7 +421,11 @@ md5sums=("$_md5sum" 'd11cb3bd76ab61a0f086aea9a0c53087') if [ "$_open_source_modules" = "true" ]; then - source+=("NVIDIA-kernel-module-source-$pkgver.tar.xz::https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${pkgver}.tar.xz") + if [[ "$_srcbase" == "NVIDIA-kernel-module-source" ]]; then + source+=("NVIDIA-kernel-module-source-$pkgver.tar.xz::https://download.nvidia.com/XFree86/NVIDIA-kernel-module-source/NVIDIA-kernel-module-source-${pkgver}.tar.xz") + elif [[ "$_srcbase" == "open-gpu-kernel-modules" ]]; then + source+=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/${pkgver}.tar.gz") + fi md5sums+=("SKIP") fi @@ -472,7 +481,7 @@ prepare() { sh "$_pkg".run -x if [ "$_open_source_modules" = "true" ]; then - cd NVIDIA-kernel-module-source-${pkgver} + cd ${_srcbase}-${pkgver} # Fix for https://bugs.archlinux.org/task/74886 if (( ${pkgver%%.*} < 525 )); then @@ -506,7 +515,7 @@ BUILT_MODULE_LOCATION[4]="kernel-open"\ DEST_MODULE_LOCATION[4]="/kernel/drivers/video"' kernel-open/dkms.conf # Clean version for later copying for DKMS - cp -r ../NVIDIA-kernel-module-source-${pkgver} "$srcdir"/open-gpu-kernel-modules-dkms + cp -r ../${_srcbase}-${pkgver} "$srcdir"/open-gpu-kernel-modules-dkms else cd "$_pkg" @@ -1394,7 +1403,7 @@ build() { done fi else - cd NVIDIA-kernel-module-source-${pkgver} + cd ${_srcbase}-${pkgver} make SYSSRC="/usr/src/linux" fi } @@ -1772,7 +1781,7 @@ if [ "$_dkms" = "false" ] || [ "$_dkms" = "full" ]; then conflicts=('NVIDIA-MODULE') provides=('NVIDIA-MODULE') - cd NVIDIA-kernel-module-source-${pkgver} + cd ${_srcbase}-${pkgver} _extradir="/usr/lib/modules/$( "$pkgdir"/usr/lib/modprobe.d/nvidia-open.conf - install -Dm644 NVIDIA-kernel-module-source-${pkgver}/COPYING "$pkgdir"/usr/share/licenses/$pkgname + install -Dm644 ${_srcbase}-${pkgver}/COPYING "$pkgdir"/usr/share/licenses/$pkgname else pkgdesc="NVIDIA kernel module sources (DKMS)"