summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD279
1 files changed, 103 insertions, 176 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 57e322836051..260c22b1318f 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -2,40 +2,37 @@
# Contributor: Det <nimetonmaili g-mail>
# Contributor: Ng Oon-Ee
# Contributor: Dan Vratil
-# Based on [extra]'s nvidia-utils: https://www.archlinux.org/packages/extra/x86_64/nvidia-utils/
pkgbase=nvidia-utils-beta
-pkgname=('nvidia-utils-beta' 'nvidia-egl-wayland-beta' 'nvidia-libgl-beta' 'opencl-nvidia-beta')
+pkgname=('nvidia-utils-beta' 'opencl-nvidia-beta' 'nvidia-settings-beta')
pkgver=430.14
-pkgrel=1
-pkgdesc='NVIDIA driver utilities and libraries (beta version)'
+pkgrel=2
+pkgdesc='NVIDIA drivers utilities (beta version)'
arch=('x86_64')
url='https://www.nvidia.com/'
-license=('custom:NVIDIA')
+license=('custom')
options=('!strip')
_pkg="NVIDIA-Linux-${CARCH}-${pkgver}-no-compat32"
-source=("https://us.download.nvidia.com/XFree86/Linux-${CARCH}/${pkgver}/${_pkg}.run"
+source=("https://download.nvidia.com/XFree86/Linux-${pkgver}/${pkgver}/${_pkg}.run"
'nvidia-drm-outputclass.conf'
- 'nvidia-utils-beta.sysusers')
+ 'nvidia-utils-beta.sysusers'
+ 'nvidia-utils-beta-change-vulkan-driver-path.patch'
+ 'nvidia-settings-beta-change-desktop-paths.patch')
sha256sums=('0f583a277b1731cb8327510b75dba9cf7adf5c781247e4f48bcc9f358253278f'
'089d6dc247c9091b320c418b0d91ae6adda65e170934d178cdd4e9bd0785b182'
- 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167')
+ 'd8d1caa5d72c71c6430c2a0d9ce1a674787e9272ccce28b9d5898ca24e60a167'
+ '57e2393228b09b85d91b9d095b85899178f6fd4b456cbb7ea39093d07e7c7ca7'
+ '633bf69c39b8f35d0e64062eb0365c9427c2191583f2daa20b14e51772e8423a')
-_eglver=1.1.2
-
-# create missing soname links
+# create soname links
_create_links() {
local _lib
local _soname
local _base
-
- for _lib in $(find "$pkgdir" -name '*.so*' | grep -v 'xorg/')
+ find "$pkgdir" -type f -name '*.so*' ! -path '*xorg/*' -print0 | while read -d $'\0' _lib
do
- # get soname/base name
_soname="$(dirname "$_lib")/$(readelf -d "$_lib" | grep -Po 'SONAME.*: \[\K[^]]*' || true)"
- _base="$(echo "$_soname" | sed -r 's/(.*).so.*/\1.so/')"
-
- # create missing links
+ _base="$(printf '%s' "$_soname" | sed -r 's/(.*).so.*/\1.so/')"
[ -e "$_soname" ] || ln -s "$(basename "$_lib")" "$_soname"
[ -e "$_base" ] || ln -s "$(basename "$_soname")" "$_base"
done
@@ -49,142 +46,101 @@ prepare() {
cd "${_pkg}"
bsdtar -xf nvidia-persistenced-init.tar.bz2
- sed -i 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' nvidia_icd.json.template
+ patch -Np1 -i "${srcdir}/nvidia-utils-beta-change-vulkan-driver-path.patch"
+ patch -Np1 -i "${srcdir}/nvidia-settings-beta-change-desktop-paths.patch"
}
-package_opencl-nvidia-beta() {
- pkgdesc="NVIDIA's OpenCL implemention for 'nvidia-utils-beta'"
- depends=('zlib')
- optdepends=('opencl-headers: headers necessary for OpenCL development')
- provides=("opencl-nvidia=${pkgver}" 'opencl-driver')
- conflicts=('opencl-nvidia')
+package_nvidia-settings-beta() {
+ pkgdesc='Tool for configuring the NVIDIA graphics driver (beta version)'
+ depends=("nvidia-utils-beta>=${pkgver}" 'gtk3')
+ provides=("nvidia-settings=${pkgver}" "nvidia-settings-beta=${pkgver}")
+ conflicts=('nvidia-settings')
cd "$_pkg"
- # libraries
- install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib"
- _create_links
-
- # vendor icd
- install -D -m644 nvidia.icd -t "${pkgdir}/etc/OpenCL/vendors"
+ 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.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"
# license
install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
-package_nvidia-libgl-beta() {
- pkgdesc="NVIDIA driver library symlinks for 'nvidia-utils-beta'"
- depends=('nvidia-utils-beta')
- provides=("nvidia-libgl=${pkgver}" 'libgl' 'libegl' 'libgles')
- conflicts=('nvidia-libgl' 'libgl' 'libegl' 'libgles')
+package_opencl-nvidia-beta() {
+ pkgdesc='OpenCL implemention for NVIDIA (beta version)'
+ depends=('zlib' "nvidia-utils-beta>=${pkgver}")
+ optdepends=('opencl-headers: headers necessary for OpenCL development')
+ provides=("opencl-nvidia=${pkgver}" 'opencl-driver')
+ conflicts=('opencl-nvidia')
cd "$_pkg"
- mkdir -p "${pkgdir}/usr/lib/"
-
- # libGL (link)
- ln -s /usr/lib/nvidia/libGL.so.1.7.0 "${pkgdir}/usr/lib/libGL.so.1"
- ln -s libGL.so.1 "${pkgdir}/usr/lib/libGL.so"
-
- # EGL (link)
- ln -s /usr/lib/nvidia/libEGL.so.1.1.0 "${pkgdir}/usr/lib/libEGL.so.1"
- ln -s libEGL.so.1 "${pkgdir}/usr/lib/libEGL.so"
-
- # OpenGL ES 1 (link)
- ln -s /usr/lib/nvidia/libGLESv1_CM.so.1.2.0 "${pkgdir}/usr/lib/libGLESv1_CM.so.1"
- ln -s libGLESv1_CM.so.1 "${pkgdir}/usr/lib/libGLESv1_CM.so"
-
- # OpenGL ES 2 (link)
- ln -s /usr/lib/nvidia/libGLESv2.so.2.1.0 "${pkgdir}/usr/lib/libGLESv2.so.2"
- ln -s libGLESv2.so.2 "${pkgdir}/usr/lib/libGLESv2.so"
+ # OpenCL
+ install -D -m644 nvidia.icd "${pkgdir}/etc/OpenCL/vendors/nvidia.icd"
+ install -D -m755 "libnvidia-compiler.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-opencl.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
-}
+ _create_links
-package_nvidia-egl-wayland-beta() {
- pkgdesc="NVIDIA EGL Wayland library (libnvidia-egl-wayland.so.${_eglver}) for 'nvidia-utils-beta'"
- depends=('nvidia-utils-beta')
- provides=('egl-wayland')
- conflicts=('egl-wayland')
-
- cd "$_pkg"
-
- # libraries
- install -D -m755 "libnvidia-egl-wayland.so.${_eglver}" -t "${pkgdir}/usr/lib"
- ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so"
- ln -s "libnvidia-egl-wayland.so.${_eglver}" "${pkgdir}/usr/lib/libnvidia-egl-wayland.so.1"
-
# license
install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
}
package_nvidia-utils-beta() {
- pkgdesc='NVIDIA driver utilities and libraries (beta version)'
- depends=('xorg-server' 'mesa>=17.0.2-2')
- optdepends=('gtk2: nvidia-settings (GTK+ v2)'
- 'gtk3: nvidia-settings (GTK+ v3)'
- 'opencl-nvidia-beta: OpenCL support'
- 'xorg-server-devel: nvidia-xconfig'
- "egl-wayland-git: for alternative, more advanced Wayland library (libnvidia-egl-wayland.so.${_eglver})")
- provides=("nvidia-utils=${pkgver}" "nvidia-settings=${pkgver}" 'libglvnd' 'vulkan-driver')
- conflicts=('nvidia-utils' 'nvidia-settings' 'libglvnd')
+ depends=('xorg-server' 'libglvnd' 'egl-wayland')
+ optdepends=('nvidia-settings-beta: for the configuration tool'
+ 'xorg-server-devel: for nvidia-xconfig'
+ 'opencl-nvidia-beta: for OpenCL support')
+ provides=("nvidia-utils=${pkgver}" 'vulkan-driver' 'opengl-driver' "nvidia-libgl=${pkgver}"
+ "nvidia-libgl-beta=${pkgver}")
+ conflicts=('nvidia-utils' 'nvidia-libgl')
+ replaces=('nvidia-libgl')
install="${pkgname}.install"
cd "$_pkg"
-##### LIBRARIES AND COMPONENTS #####
-
# X driver
- install -D -m755 nvidia_drv.so -t "${pkgdir}/usr/lib/xorg/modules/drivers/"
+ install -D -m755 nvidia_drv.so -t "${pkgdir}/usr/lib/xorg/modules/drivers"
- # GLX extension for X
+ # GLX extension module for X
install -D -m755 "libglxserver_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/nvidia/xorg"
- ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1" # X doesn't find glx otherwise
- ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so" # X doesn't find glx otherwise
-
- # libGL & OpenGL
- install -D -m755 libGL.so.1.7.0 -t "${pkgdir}/usr/lib/nvidia"
- install -D -m755 libGLdispatch.so.0 -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 libOpenGL.so.0 -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # Ensure that X finds glx
+ ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so.1"
+ ln -s "libglxserver_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/nvidia/xorg/libglxserver_nvidia.so"
- # GLX
- install -D -m755 libGLX.so.0 -t "${pkgdir}/usr/lib"
install -D -m755 "libGLX_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # now in mesa driver
- #ln -s "libGLX_nvidia.so.${pkgver}" "${pkgdir}/usr/lib/libGLX_indirect.so.0"
-
- # EGL
- install -D -m755 libEGL.so.1.1.0 -t "${pkgdir}/usr/lib/nvidia"
- install -D -m755 "libEGL_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-eglcore.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_wayland.json -t "${pkgdir}/usr/share/egl/egl_external_platform.d"
- # OpenGL ES
- install -D -m755 libGLESv1_CM.so.1.2.0 -t "${pkgdir}/usr/lib/nvidia"
+ # OpenGL libraries
+ 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.so.2.1.0 -t "${pkgdir}/usr/lib/nvidia"
install -D -m755 "libGLESv2_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m644 "10_nvidia.json" -t "${pkgdir}/usr/share/glvnd/egl_vendor.d"
- # VDPAU (Video Decode and Presentation API for Unix)
- install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/vdpau"
+ # OpenGL core library
+ install -D -m755 "libnvidia-glcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-eglcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-glsi.so.${pkgver}" -t "${pkgdir}/usr/lib"
+
+ # misc
+ install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-cfg.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ install -D -m755 "libnvidia-glvkspirv.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # GPU-accelerated video encoding
- install -D -m755 "libnvidia-encode.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # Vulkan ICD
+ install -D -m644 "nvidia_icd.json.template" "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
- # GTK+ for nvidia-settings
- install -D -m755 "libnvidia-gtk2.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-gtk3.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # VDPAU
+ install -D -m755 "libvdpau_nvidia.so.${pkgver}" -t "${pkgdir}/usr/lib/vdpau"
- # component of nvidia-xconfig
- install -D -m755 "libnvidia-cfg.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # nvidia-tls library
+ install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # CUDA (Compute Unified Device Architecture) (perform traditional CPU calculations with the GPU)
+ # CUDA
install -D -m755 "libcuda.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvcuvid.so.${pkgver}" -t "${pkgdir}/usr/lib"
@@ -194,87 +150,58 @@ package_nvidia-utils-beta() {
# Fat (multiarchitecture) binary loader
install -D -m755 "libnvidia-fatbinaryloader.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # TLS (Thread local storage) support for OpenGL libs
- install -D -m755 "libnvidia-tls.so.${pkgver}" -t "${pkgdir}/usr/lib"
-
- # GPU monitoring and management (1/2)
- install -D -m755 "libnvidia-ml.so.${pkgver}" -t "${pkgdir}/usr/lib"
-
- # vulkan icd
- install -D -m644 nvidia_icd.json.template "${pkgdir}/usr/share/vulkan/icd.d/nvidia_icd.json"
-
- # vulkan real-time ray tracing extensions (VK_NV_raytracing)
+ # raytracing
+ install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvidia-rtcore.so.${pkgver}" -t "${pkgdir}/usr/lib"
install -D -m755 "libnvidia-cbl.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # helper libs for approved partners GRID remote apps
- install -D -m755 "libnvidia-ifr.so.${pkgver}" -t "${pkgdir}/usr/lib"
- install -D -m755 "libnvidia-fbc.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # Optical flow
+ install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib"
- # OptiX ray tracing engine
- install -D -m755 "libnvoptix.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # DEBUG
+ install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin"
- # Optical Flow
- install -D -m755 "libnvidia-opticalflow.so.${pkgver}" -t "${pkgdir}/usr/lib"
+ # nvidia-xconfig
+ install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1"
- _create_links
+ # nvidia-bug-report
+ install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin"
-##### BINARIES AND MANPAGES #####
+ # nvidia-smi
+ install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin"
+ install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1"
- # CUDA MPS (Multi Process Service)
+ # 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"
- # for loading the kernel module and creating the character device files
- install -D -m4755 nvidia-modprobe -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-modprobe.1.gz -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"
- # daemon for maintaining persistent software state in the driver
- install -D -m755 nvidia-persistenced -t "$pkgdir/usr/bin"
- install -D -m644 nvidia-persistenced.1.gz -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"
+ # 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 -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"
- # GUI for configuring the driver
- 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.png -t "${pkgdir}/usr/share/pixmaps"
- install -D -m644 nvidia-settings.desktop -t "${pkgdir}/usr/share/applications"
- sed -e 's:__UTILS_PATH__:/usr/bin:' \
- -e 's:__PIXMAP_PATH__:/usr/share/pixmaps:' \
- -i "${pkgdir}/usr/share/applications/nvidia-settings.desktop"
-
- # GPU monitoring and management (2/2)
- install -D -m755 nvidia-smi -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-smi.1.gz -t "${pkgdir}/usr/share/man/man1"
-
- # basic control over configuration options in the driver
- install -D -m755 nvidia-xconfig -t "${pkgdir}/usr/bin"
- install -D -m644 nvidia-xconfig.1.gz -t "${pkgdir}/usr/share/man/man1"
-
- # debugging and bug reporting
- install -D -m755 nvidia-bug-report.sh -t "${pkgdir}/usr/bin"
- install -D -m755 nvidia-debugdump -t "${pkgdir}/usr/bin"
-
-##### MISCELLANEOUS #####
-
- # vendor profiles
+ # application profiles
install -D -m644 "nvidia-application-profiles-${pkgver}-rc" -t "${pkgdir}/usr/share/nvidia"
install -D -m644 "nvidia-application-profiles-${pkgver}-key-documentation" -t "${pkgdir}/usr/share/nvidia"
-
- # documentation
- install -D -m644 README.txt "${pkgdir}/usr/share/doc/${pkgname}/README"
+
+ 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}"
- cp -a html "${pkgdir}/usr/share/doc/${pkgname}"
+ cp -a html "${pkgdir}/usr/share/doc/${pkgname}/"
+ #ln -s nvidia "${pkgdir}/usr/share/doc/nvidia-utils"
- # distro-specific files must be installed in /usr/share/X11/xorg.conf.d
+ # 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"
- # sysusers
install -D -m644 "${srcdir}/nvidia-utils-beta.sysusers" -t "${pkgdir}/usr/lib/sysusers.d"
- # license
- install -D -m644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ _create_links
}