aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/nvidia-kernel/README44
-rw-r--r--system/nvidia-kernel/nvidia-kernel.SlackBuild31
-rw-r--r--system/nvidia-kernel/nvidia-kernel.info6
-rw-r--r--system/nvidia-kernel/slack-desc4
4 files changed, 68 insertions, 17 deletions
diff --git a/system/nvidia-kernel/README b/system/nvidia-kernel/README
index 2af2536f501b..f2c3bbc467d5 100644
--- a/system/nvidia-kernel/README
+++ b/system/nvidia-kernel/README
@@ -5,6 +5,10 @@ To build the package for a kernel different from the running one,
start the script setting the KERNEL variable as in
KERNEL=4.6.3 ./nvidia-kernel.SlackBuild
+This script now includes the option to build the open kernel module
+instead of the default proprietary module. To build the open module,
+pass "OPEN=yes" to the script. (See notes below.)
+
A default config file is placed at
/usr/share/X11/xorg.conf.d/10-nvidia.conf
to make sure that X loads the nvidia module. If you need to make
@@ -13,3 +17,43 @@ You do not need this file at all if you have a proper and complete
xorg.conf.
The xf86-video-nouveau-blacklist package from /extra is required.
+
+After installation, you will need to reboot your computer for the
+changes to take effect.
+
+NOTES ON THE OPEN KERNEL MODULE (quoted from the Nvidia driver README)
+
+"The proprietary flavor supports the GPU architectures Maxwell, Pascal,
+Volta, Turing, and later GPUs.
+
+"The open flavor of kernel modules supports Turing and later GPUs. The
+open kernel modules cannot support GPUs before Turing, because the open
+kernel modules depend on the GPU System Processor (GSP) first
+introduced in Turing.
+
+"Most features of the Linux GPU driver are supported with the open
+flavor of kernel modules, including CUDA, Vulkan, OpenGL, OptiX, and
+X11. We eventually intend for the open kernel modules to replace the
+proprietary kernel modules.
+
+"The following features will only work with the open kernel modules
+flavor of the driver:
+
+ o NVIDIA Confidential Computing
+
+ o Magnum IO GPUDirect Storage (GDS)
+
+ o Heterogeneous Memory Management (HMM)
+
+ o CPU affinity for GPU fault handlers
+
+ o DMABUF support for CUDA allocations
+
+G-sync on notebooks is not yet supported by the open kernel modules.
+
+Use of the open kernel modules on GeForce and Workstation GPUs should
+be considered Beta quality in this release and no longer requires
+setting of the "NVreg_OpenRmEnableUnsupportedGpus" nvidia.ko kernel
+module parameter. The open kernel modules are suitable for broad
+usage, and NVIDIA requests feedback on any issues encountered that are
+specific to them."
diff --git a/system/nvidia-kernel/nvidia-kernel.SlackBuild b/system/nvidia-kernel/nvidia-kernel.SlackBuild
index 79360dca240e..9b922b7d6fe7 100644
--- a/system/nvidia-kernel/nvidia-kernel.SlackBuild
+++ b/system/nvidia-kernel/nvidia-kernel.SlackBuild
@@ -4,7 +4,7 @@
# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands
# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA
-# Updates copyright 2020-2022 Lenard Spencer, Orlando, FL, USA
+# Updates copyright 2020-2024 Lenard Spencer, Orlando, FL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -29,7 +29,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PRGNAM=nvidia-kernel
-VERSION=${VERSION:-550.90.07}
+VERSION=${VERSION:-555.58.02}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
PKGTYPE=${PKGTYPE:-tgz}
@@ -37,9 +37,19 @@ PKGTYPE=${PKGTYPE:-tgz}
KERNEL=${KERNEL:-$(uname -r)}
KERNELPATH=${KERNELPATH:-/lib/modules/${KERNEL}/build}
+if [ "${OPEN:-no}" = "yes" ]; then
+ OPEN1="-open"
+ OPEN2="_OPEN"
+ DESC="OPEN"
+else
+ unset OPEN1
+ unset OPEN2
+ DESC="PROPRIETARY"
+fi
+
set -e
-PKGVER=${VERSION}_$(echo $KERNEL | tr - _)
+PKGVER=${VERSION}${OPEN2}_$(echo $KERNEL | tr - _)
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -60,9 +70,6 @@ unset ARCH
SRCNAM=NVIDIA-Linux-$TARGET-${VERSION}
-# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
-# the name of the created package would be, and then exit. This information
-# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PRGNAM-$PKGVER-$TARGET-$BUILD$TAG.$PKGTYPE"
exit 0
@@ -85,7 +92,7 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-(cd kernel || exit 1
+( cd kernel$OPEN1 || exit 1
# CC=${CC:-gcc} suppresses an otherwise harmless "compiler mismatch"
# message. If you custom-build your kernel with clang,
@@ -94,10 +101,10 @@ find -L . \
)
mkdir -p $PKG/lib/modules/$KERNEL/kernel/drivers/video
-install -m 0664 kernel/nvidia.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
-install -m 0664 kernel/nvidia-modeset.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
-install -m 0664 kernel/nvidia-drm.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
-install -m 0664 kernel/nvidia-uvm.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
+install -m 0664 kernel$OPEN1/nvidia.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
+install -m 0664 kernel$OPEN1/nvidia-modeset.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
+install -m 0664 kernel$OPEN1/nvidia-drm.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
+install -m 0664 kernel$OPEN1/nvidia-uvm.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
mkdir -p $PKG/usr/share/X11/xorg.conf.d/
cat $TMP/$SRCNAM/nvidia-drm-outputclass.conf > $PKG/usr/share/X11/xorg.conf.d/10-nvidia.conf
@@ -106,7 +113,7 @@ mkdir -p $PKG/usr/doc/$PRGNAM-$PKGVER
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$PKGVER/$PRGNAM.SlackBuild
mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
+sed "s%@DESC@%$DESC%" $CWD/slack-desc > $PKG/install/slack-desc
sed "s%@KERNEL@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
diff --git a/system/nvidia-kernel/nvidia-kernel.info b/system/nvidia-kernel/nvidia-kernel.info
index 37b78f0136ae..e48bd59aa9a5 100644
--- a/system/nvidia-kernel/nvidia-kernel.info
+++ b/system/nvidia-kernel/nvidia-kernel.info
@@ -1,10 +1,10 @@
PRGNAM="nvidia-kernel"
-VERSION="550.90.07"
+VERSION="555.58.02"
HOMEPAGE="https://www.nvidia.com"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/550.90.07/NVIDIA-Linux-x86_64-550.90.07.run"
-MD5SUM_x86_64="fa8d3ff7dd40cc67ea448f0a2227942c"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/555.58.02/NVIDIA-Linux-x86_64-555.58.02.run"
+MD5SUM_x86_64="f6efa3d40fccc97fbac9b55fc81e30d7"
REQUIRES=""
MAINTAINER="Lenard Spencer"
EMAIL="lenardrspencer@gmail.com"
diff --git a/system/nvidia-kernel/slack-desc b/system/nvidia-kernel/slack-desc
index c8c908f3a766..96e09718c835 100644
--- a/system/nvidia-kernel/slack-desc
+++ b/system/nvidia-kernel/slack-desc
@@ -8,8 +8,8 @@
|-----handy-ruler------------------------------------------------------|
nvidia-kernel: nvidia-kernel (Kernel Interface for the nvidia driver)
nvidia-kernel:
-nvidia-kernel: This is the kernel module needed by the binary nvidia-driver.
-nvidia-kernel:
+nvidia-kernel: This is the @DESC@ version of the kernel module needed by the
+nvidia-kernel: binary nvidia-driver.
nvidia-kernel:
nvidia-kernel:
nvidia-kernel: