diff options
-rw-r--r-- | system/nvidia-kernel/README | 44 | ||||
-rw-r--r-- | system/nvidia-kernel/nvidia-kernel.SlackBuild | 31 | ||||
-rw-r--r-- | system/nvidia-kernel/nvidia-kernel.info | 6 | ||||
-rw-r--r-- | system/nvidia-kernel/slack-desc | 4 |
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: |