File PKGBUILD of Package linux-lqx-nvidia-open
# Maintainer: Daniel Bermond <dbermond@archlinux.org>
pkgbase=linux-lqx-nvidia-open
pkgname=('linux-lqx-nvidia-open')
pkgver=570.144
pkgrel=1.1
#epoch=1
pkgdesc='NVIDIA open kernel modules'
arch=('x86_64')
url='https://github.com/NVIDIA/open-gpu-kernel-modules/'
license=('MIT' 'GPL-2.0-only')
makedepends=('linux-lqx-headers')
options=('!buildflags' '!lto' '!strip')
source=("open-gpu-kernel-modules-570.144.tar.xz")
sha256sums=('SKIP')
build() {
local -x KERNEL_UNAME
# allow usage of custom kernel and building in a chroot
if [ -d "/usr/lib/modules/$(uname -r)" ]
then
KERNEL_UNAME="$(uname -r)"
else
KERNEL_UNAME="$(find /usr/lib/modules -mindepth 1 -maxdepth 1 -type d | sed -n 's|.*/||;1p')"
fi
unset -v SYSSRC
make -C "open-gpu-kernel-modules-${pkgver}" modules
}
package_linux-lqx-nvidia-open() {
depends=('linux-lqx' 'libglvnd')
provides=("nvidia-open=${pkgver}" 'NVIDIA-MODULE')
# conflicts=('nvidia-open' 'NVIDIA-MODULE')
local _kernver
if [ -d "/usr/lib/modules/$(uname -r)" ]
then
_kernver="$(<"/usr/lib/modules/$(uname -r)/build/version")"
else
_kernver="$(find /usr/lib/modules -mindepth 1 -maxdepth 1 -type d | head -n1)"
_kernver="$(<"/usr/lib/modules/${_kernver##*/}/build/version")"
fi
install -D -m644 "open-gpu-kernel-modules-${pkgver}/kernel-open"/*.ko -t "${pkgdir}/usr/lib/modules/${_kernver}/extramodules"
install -D -m644 "open-gpu-kernel-modules-${pkgver}/COPYING" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
find "$pkgdir" -name '*.ko' -exec zstd --rm -19 {} +
install -D -m644 <(printf '%s\n' 'options nvidia NVreg_OpenRmEnableUnsupportedGpus=1') "${pkgdir}/usr/lib/modprobe.d/nvidia-open.conf"
}