Date: Thursday, May 12, 2022 @ 00:27:32 Author: svenstaro Revision: 445064
Prepare nvidia-open Added: nvidia-open/ nvidia-open/repos/ nvidia-open/trunk/ nvidia-open/trunk/PKGBUILD nvidia-open/trunk/nvidia-open.install ---------------------+ PKGBUILD | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ nvidia-open.install | 4 +++ 2 files changed, 61 insertions(+) Added: nvidia-open/trunk/PKGBUILD =================================================================== --- nvidia-open/trunk/PKGBUILD (rev 0) +++ nvidia-open/trunk/PKGBUILD 2022-05-12 00:27:32 UTC (rev 445064) @@ -0,0 +1,57 @@ +# Maintainer: Sven-Hendrik Haase <svenst...@archlinux.org> +pkgbase=nvidia-open +pkgname=(nvidia-open nvidia-open-dkms) +pkgver=515.43.04 +pkgrel=1 +pkgdesc="NVIDIA open kernel modules" +arch=('x86_64') +url="https://github.com/NVIDIA/open-gpu-kernel-modules" +license=('GPL') +options=('!lto') +install=nvidia-open.install +makedepends=('linux-headers') +source=("$pkgname-$pkgver.tar.gz::https://github.com/NVIDIA/open-gpu-kernel-modules/archive/refs/tags/${pkgver}.tar.gz") +sha512sums=('2a95132cfebe2dd746e2b507829618557a2518b56d8d77628df9f8073f154fab769604b0789e852e4cc6a52f3130b4b637068b0469931464019f8386db48041f') + +prepare() { + cd open-gpu-kernel-modules-${pkgver} + # Attempt to make this reproducible + sed -i "s/^HOSTNAME.*/HOSTNAME = echo archlinux"/ utils.mk + sed -i "s/^WHOAMI.*/WHOAMI = echo archlinux-builder"/ utils.mk + sed -i "s/^DATE.*/DATE = date -r version.mk"/ utils.mk + + # Clean version for later copying for DKMS + cp -r kernel-open "$srcdir"/kernel-open +} + +build() { + cd open-gpu-kernel-modules-${pkgver} + make SYSSRC="/usr/src/linux" CONDITIONAL_CFLAGS=" -mindirect-branch-cs-prefix " +} + +package_nvidia-open() { + depends=('linux') + conflicts=('NVIDIA-MODULE') + provides=('NVIDIA-MODULE') + + cd open-gpu-kernel-modules-${pkgver} + _extradir="/usr/lib/modules/$(</usr/src/linux/version)/extramodules" + install -Dt "${pkgdir}${_extradir}" -m644 kernel-open/*.ko + find "${pkgdir}" -name '*.ko' -exec strip --strip-debug {} + + find "${pkgdir}" -name '*.ko' -exec xz {} + + + install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname +} + +package_nvidia-open-dkms() { + depends=('dkms') + conflicts=('nvidia-open' 'NVIDIA-MODULE') + provides=('nvidia-open' 'NVIDIA-MODULE') + + install -dm 755 "${pkgdir}"/usr/src + cp -dr --no-preserve='ownership' kernel-open "${pkgdir}/usr/src/${pkgname}-${pkgver}" + + install -Dm644 open-gpu-kernel-modules-${pkgver}/COPYING "$pkgdir"/usr/share/licenses/$pkgname +} + +# vim:set sw=2 et: Added: nvidia-open/trunk/nvidia-open.install =================================================================== --- nvidia-open/trunk/nvidia-open.install (rev 0) +++ nvidia-open/trunk/nvidia-open.install 2022-05-12 00:27:32 UTC (rev 445064) @@ -0,0 +1,4 @@ +post_install() { + echo "In order to boot this on non-datacenter cards, you currently need to set NVreg_OpenRmEnableUnsupportedGpus=1 during module load" + echo "You can try it like this: modprobe nvidia NVreg_OpenRmEnableUnsupportedGpus=1 but you should likely set it in a /etc/modprobe.d file to make it permanent." +}