summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD114
1 files changed, 44 insertions, 70 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 125f951dcfb9..2768ae4ad74b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,4 +1,4 @@
-# Maintainer : Daniel Bermond < gmail-com: danielbermond >
+# Maintainer : Daniel Bermond <dbermond@archlinux.org>
# Contributor: Det <nimetonmaili g-mail>
pkgbase=nvidia-full-beta-all
@@ -8,25 +8,25 @@ pkgname=('nvidia-full-beta-all'
'nvidia-settings-full-beta-all'
'lib32-nvidia-utils-full-beta-all'
'lib32-opencl-nvidia-full-beta-all')
-pkgver=440.31
-pkgrel=1
+pkgver=455.23.04
+pkgrel=2
pkgdesc='Full NVIDIA driver package for all kernels on the system (drivers, utilities and libraries) (beta version)'
arch=('x86_64')
url='https://www.nvidia.com/'
license=('custom')
-makedepends=('linux' 'linux-headers')
+makedepends=('linux' 'linux-headers' 'dkms')
options=('!strip')
_pkg="NVIDIA-Linux-${CARCH}-${pkgver}"
source=("https://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_pkg}.run"
'nvidia-drm-outputclass.conf'
- 'nvidia-utils-full-beta-all.sysusers'
- 'FS62142.patch'
- 'nvidia-settings-full-beta-all-change-desktop-paths.patch')
-sha256sums=('cd592f385c9bfb798f973225dfd086654973984762b669c7d765b074c0d8850f'
- '5519cdb420a45c15030f99c5c8c73eff322dc24b55d20e0167f0f5e97ebf0a97'
+ 'nvidia-utils.sysusers'
+ '110-nvidia-change-dkms-conf.patch'
+ '120-nvidia-settings-change-desktop-paths.patch')
+sha256sums=('8fe033313ac02d455609dee9497cc594d4f816642335a6a37f60c948745a6b67'
+ 'be99ff3def641bb900c2486cce96530394c5dc60548fc4642f19d3a4c784134d'
'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167'
- 'c961006882afb691410c017c239e2c2ef61badb88f15735d37112b513ef0a99d'
- '633bf69c39b8f35d0e64062eb0365c9427c2191583f2daa20b14e51772e8423a')
+ '9d3267c1f22455aff7058951f587a2cf04c9b7830aac98e3944df0692edf0321'
+ '6bbc832f4f91a7c9ec4778eac5fffd633f5f547bc2d8bb89afe4f442ad3c8dda')
# create soname links
_create_links() {
@@ -47,60 +47,36 @@ prepare() {
[ -d "$_pkg" ] && rm -rf "$_pkg"
printf '%s\n' " -> Self-Extracting ${_pkg}.run..."
sh "${_pkg}.run" --extract-only
- cd "${_pkg}"
- bsdtar -xf nvidia-persistenced-init.tar.bz2
+ bsdtar -C "$_pkg" -xf "${_pkg}/nvidia-persistenced-init.tar.bz2"
+ gunzip "$_pkg"/nvidia-{cuda-mps-control,modprobe,persistenced,settings,smi,xconfig}.1.gz
+ ln -s kernel "${_pkg}/nvidia-${pkgver}"
- patch -Np1 -i "${srcdir}/nvidia-settings-full-beta-all-change-desktop-paths.patch"
-
- # create a build directory for each installed kernel
- local _kernel
- local -a _kernels
- mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} +)
- for _kernel in "${_kernels[@]}"
- do
- cp -a kernel "kernel-${_kernel}"
- printf '%s\n' " -> Applying patch(es) for kernel ${_kernel}..."
- cd "kernel-${_kernel}"
-
- # fix https://bugs.archlinux.org/task/62142
- patch -Np2 -i "${srcdir}/FS62142.patch"
-
- cd ..
- done
+ patch -d "$_pkg" -Np1 -i "${srcdir}/110-nvidia-change-dkms-conf.patch"
+ patch -d "$_pkg" -Np1 -i "${srcdir}/120-nvidia-settings-change-desktop-paths.patch"
}
build() {
local _kernel
- local -a _kernels
- mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} +)
-
- for _kernel in "${_kernels[@]}"
+ while read -r _kernel
do
- cd "${srcdir}/${_pkg}/kernel-${_kernel}"
-
- printf '%s\n' " -> Building Nvidia module for ${_kernel}..."
- make SYSSRC="/usr/lib/modules/${_kernel}/build" module
- done
+ printf '%s\n' " -> Building NVIDIA module for kernel ${_kernel}..."
+ fakeroot dkms build --dkmstree "$srcdir" --sourcetree "${srcdir}/${_pkg}" -m "nvidia/${pkgver}" -k "$_kernel"
+ done < <(find /usr/lib/modules/*/build/version -exec cat {} +)
}
package_nvidia-full-beta-all() {
depends=("nvidia-utils-full-beta-all>=${pkgver}" 'libglvnd')
- provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}")
+ provides=("nvidia=${pkgver}" "nvidia-beta=${pkgver}" 'NVIDIA-MODULE')
conflicts=('nvidia')
local _kernel
- local -a _kernels
- mapfile -t _kernels < <(find /usr/lib/modules/*/build/version -exec cat {} +)
-
- for _kernel in "${_kernels[@]}"
+ while read -r _kernel
do
- install -D -m644 "${_pkg}/kernel-${_kernel}/"nvidia{,-drm,-modeset,-uvm}.ko -t "${pkgdir}/usr/lib/modules/${_kernel}/extramodules"
-
- find "$pkgdir" -name '*.ko' -exec gzip -n {} +
- done
+ install -D -m644 "nvidia/${pkgver}/${_kernel}/${CARCH}/module"/* -t "${pkgdir}/usr/lib/modules/${_kernel}/extramodules"
+ done < <(find /usr/lib/modules/*/build/version -exec cat {} +)
+ find "$pkgdir" -name '*.ko' -exec xz -T1 {} +
printf '%s\n' 'blacklist nouveau' | install -D -m644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/nvidia.conf"
-
install -D -m644 "${_pkg}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
@@ -113,7 +89,7 @@ package_nvidia-settings-full-beta-all() {
cd "$_pkg"
install -D -m755 nvidia-settings -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-settings.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m644 nvidia-settings.1 -t "${pkgdir}/usr/share/man/man1"
install -D -m644 nvidia-settings.png -t "${pkgdir}/usr/share/pixmaps"
install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications"
install -D -m755 "libnvidia-gtk3.so.${pkgver}" -t "${pkgdir}/usr/lib"
@@ -152,7 +128,7 @@ package_nvidia-utils-full-beta-all() {
"nvidia-libgl-beta=${pkgver}")
conflicts=('nvidia-utils' 'nvidia-libgl')
replaces=('nvidia-libgl')
- install=nvidia-utils-full-beta-all.install
+ install=nvidia-utils.install
cd "$_pkg"
@@ -171,7 +147,7 @@ package_nvidia-utils-full-beta-all() {
install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libGLESv1_CM_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m644 "10_nvidia.json" -t "${pkgdir}/usr/share/glvnd/egl_vendor.d"
+ install -D -m644 10_nvidia.json -t "${pkgdir}/usr/share/glvnd/egl_vendor.d"
# OpenGL core library
install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
@@ -203,9 +179,6 @@ package_nvidia-utils-full-beta-all() {
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # Fat (multiarchitecture) binary loader
- install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib"
-
# raytracing
install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
@@ -214,33 +187,36 @@ package_nvidia-utils-full-beta-all() {
# Optical flow
install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # NGX
+ install -D -m755 "libnvidia-ngx.so.${pkgver}" -t "${pkgdir}/usr/lib"
+
# DEBUG
install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin"
# nvidia-xconfig
- install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-xconfig.1 -t "${pkgdir}/usr/share/man/man1"
# nvidia-bug-report
install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin"
# nvidia-smi
- install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-smi.1 -t "${pkgdir}/usr/share/man/man1"
# nvidia-cuda-mps
- install -D -m755 nvidia-cuda-mps-server -t "${pkgdir}/usr/bin"
- install -D -m755 nvidia-cuda-mps-control -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-cuda-mps-control.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m755 nvidia-cuda-mps-server -t "${pkgdir}/usr/bin"
+ install -D -m755 nvidia-cuda-mps-control -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-cuda-mps-control.1 -t "${pkgdir}/usr/share/man/man1"
# nvidia-modprobe
# This should be removed if nvidia fixed their uvm module!
- install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-modprobe.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-modprobe.1 -t "${pkgdir}/usr/share/man/man1"
# nvidia-persistenced
- install -D -m755 nvidia-persistenced -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-persistenced.1.gz -t "${pkgdir}/usr/share/man/man1"
+ install -D -m755 nvidia-persistenced -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-persistenced.1 -t "${pkgdir}/usr/share/man/man1"
install -D -m644 nvidia-persistenced-init/systemd/nvidia-persistenced.service.template "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
sed -i 's/__USER__/nvidia-persistenced/' "${pkgdir}/usr/lib/systemd/system/nvidia-persistenced.service"
@@ -251,6 +227,7 @@ package_nvidia-utils-full-beta-all() {
install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README"
install -D -m644 NVIDIA_Changelog -t "${pkgdir}/usr/share/doc/${pkgname}"
+ install -D -m644 supported-gpus.json -t "${pkgdir}/usr/share/doc/${pkgname}"
cp -a html "${pkgdir}/usr/share/doc/${pkgname}/"
#ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
@@ -264,7 +241,7 @@ package_nvidia-utils-full-beta-all() {
# distro specific files must be installed in /usr/share/X11/xorg.conf.d
install -D -m644 "${srcdir}/nvidia-drm-outputclass.conf" "${pkgdir}/usr/share/X11/xorg.conf.d/10-nvidia-drm-outputclass.conf"
- install -D -m644 "${srcdir}/nvidia-utils-full-beta-all.sysusers" -t "${pkgdir}/usr/lib/sysusers.d"
+ install -D -m644 "${srcdir}/nvidia-utils.sysusers" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
_create_links
}
@@ -331,9 +308,6 @@ package_lib32-nvidia-utils-full-beta-all() {
# PTX JIT Compiler (Parallel Thread Execution (PTX) is a pseudo-assembly language for CUDA)
install -D -m755 "libnvidia-ptxjitcompiler.so.${pkgver}" -t "${pkgdir}/usr/lib32"
- # Fat (multiarchitecture) binary loader
- install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib32"
-
# Optical flow
install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib32"