[arch-commits] Commit in (5 files)

Sven-Hendrik Haase svenstaro at gemini.archlinux.org
Thu May 12 00:27:32 UTC 2022


    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 <svenstaro at 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."
+}



More information about the arch-commits mailing list