From 5afa0a6e85a0564a43eaa2113aa5600f318403bd Mon Sep 17 00:00:00 2001 From: Lenard Spencer Date: Sat, 5 Sep 2020 08:19:11 +0700 Subject: [PATCH] system/nvidia-driver: Updated for version 450.66. Signed-off-by: Willy Sudiarto Raharjo --- system/nvidia-driver/README | 37 ++++++++++--------- .../nvidia-driver/README.nvidia-persistenced | 13 ++++--- system/nvidia-driver/nvidia-driver.SlackBuild | 28 +++----------- system/nvidia-driver/nvidia-driver.info | 26 ++++++------- system/nvidia-driver/nvidia-switch | 12 +++--- 5 files changed, 51 insertions(+), 65 deletions(-) diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README index a72b5a9047..a3897e2aa2 100644 --- a/system/nvidia-driver/README +++ b/system/nvidia-driver/README @@ -1,32 +1,33 @@ This is the proprietary binary video driver from NVidia for the X.Org -X-server. This package does not include the kernel-module - it is a part -of the nvidia-kernel package at SlackBuilds.org. +X-server. This package does not include the kernel-module - it is +part of the nvidia-kernel package at SlackBuilds.org. NOTE: 64-bit x86_64 support ONLY for Slackware64. For x86 32-bit support, use nvidia-legacy390-{driver,kernel} -Installing the 32-bit compatibility libraries is available: if desired, -do: - COMPAT32="yes" ./nvidia-driver.SlackBuild +Installing the 32-bit compatibility libraries is available: +if desired, do: COMPAT32="yes" ./nvidia-driver.SlackBuild -If you plan to test this buildscript on current (15.0 EXPERIMENTAL), to -avoid stomping on the installed libglvnd, do: +If you plan to test this buildscript on current (15.0 EXPERIMENTAL), +to avoid stomping on the installed libglvnd, do: CURRENT="yes" ./nvidia-driver.SlackBuild This script now gives the option of installing the nvidia-persitenced daemon. For details, see README.nvidia-persitenced. -Several useful utilities are included: nvidia-xsettings, nvidia-smi, and -nvidia-settings. Please refer to the Nvidia documentation and man pages -for details and usage. +Several useful utilities are included: nvidia-xsettings, nvidia-smi, +and nvidia-settings. Please refer to the Nvidia documentation and +man pages for details and usage. For CUDA/OpenCL to work after reboot, and for utilites such as nvidia-smi, you might need to include the following line in your -/etc/rc.d/rc.local: (This is required if you plan on running +/etc/rc.d/rc.local: (This is REQUIRED if you plan on using nvidia-persistenced) # Create missing nvidia device nodes after reboot - /usr/bin/nvidia-modprobe -c 0 -u + if [ -x /usr/bin/nvidia-modprobe ]; then + /usr/bin/nvidia-modprobe -c 0 -u + fi Notes: 1. You still need to blacklist the open source nouveau driver. This is @@ -37,8 +38,10 @@ Notes: prompt to remove the existing driver (it is not necessary to remove the kernel module). -3. On 14.2 ONLY, if you want to revert back to the open source drivers, - run 'nvidia-switch --remove' to restore the original libGL.la and - then 'removepkg nvidia-driver' "should" work in most cases. If not, - just go into /usr/lib64 (as root of course) and rename libGL.la-xorg - to libGL.la. (THIS STEP IS NO LONGER NECESSARY ON CURRENT.) +3. As of version 450.xx, Nvidia no longer includes libGL.la in their + distribution package. On 14.2 ONLY, if you want to revert back to + the open source drivers, run 'nvidia-switch --remove' to restore + the original libGL.la and then 'removepkg nvidia-driver' "should" + work in most cases. If not, just go into /usr/lib{,64} (as root of + course) and rename libGL.la-xorg to libGL.la. + (THIS STEP IS NO LONGER NECESSARY ON CURRENT.) diff --git a/system/nvidia-driver/README.nvidia-persistenced b/system/nvidia-driver/README.nvidia-persistenced index 38e8937cde..5dd841ff87 100644 --- a/system/nvidia-driver/README.nvidia-persistenced +++ b/system/nvidia-driver/README.nvidia-persistenced @@ -1,12 +1,12 @@ The NVIDIA Persistence Daemon is a userspace daemon on Linux to support -persistence of driver state across Cuda job runs. The daemon targets all -current Tesla, Quadro and GRID GPUs. For further information, see +persistence of driver state across Cuda job runs. The daemon targets +all current Tesla, Quadro and GRID GPUs. For further information, see https://docs.nvidia.com/deploy/driver-persistence/index.html -The driver now includes rc.nvidia-persistenced as an option. While it can -be run as root, it is more secure to run it as an unpriveleged user, so we -run it as user nvidia. +The driver now includes rc.nvidia-persistenced as an option. +While it can be run as root, it is more secure to run it as an +unpriveleged user, so we run it as user nvidia. To install it, Pass PERSISTENCED=yes to the script. It will create the user and group nvidia, and install rc.nvidia-persistenced to /etc/rc.d. @@ -18,7 +18,8 @@ if [ -x /etc/rc.d/rc.nvidia-persistenced ]; then /etc/rc.d/rc.nvidia-persistenced start fi -and then 'chmod +x /etc/rc.d/rc.nvidia-persistenced' to make it executable. +and then 'chmod +x /etc/rc.d/rc.nvidia-persistenced' to make it +executable. Add the following to /etc/rc.d/rc.local_shutdown: diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild index 4427a56ca9..2838b0fe39 100644 --- a/system/nvidia-driver/nvidia-driver.SlackBuild +++ b/system/nvidia-driver/nvidia-driver.SlackBuild @@ -27,7 +27,7 @@ # see changelog.txt PRGNAM=nvidia-driver -VERSION=${VERSION:-440.100} +VERSION=${VERSION:-450.66} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -77,7 +77,7 @@ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \ $PKG/etc/OpenCL/vendors/ $PKG/usr/{bin,doc,man/man1,sbin} \ $PKG/usr/share/{applications,nvidia,pixmaps,egl/egl_external_platform.d} \ $PKG/usr/include/GL $PKG/etc/vulkan/{icd.d,implicit_layer.d} $PKG/etc/X11/xorg.conf.d \ - $PKG/etc/X11/glvnd/egl_vendor.d $PKG/var/log/nvidia/{32,64} + $PKG/etc/X11/glvnd/egl_vendor.d if [ "$COMPAT32" = "yes" ]; then mkdir -p $PKG/usr/lib/tls @@ -171,33 +171,17 @@ if [ -z "$(ls -A /etc/vulkan)" ]; then fi if [ "$CURRENT" = "yes" ]; then -# Don't ship .la files. Also, libOpenCL.so is now included -# in current (in ocl-icd), so we don't need this one. - rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la +# libOpenCL.so is now included in current (in ocl-icd), +# so we don't need this one. rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libOpenCL.so.1.0.0 if [ "${COMPAT32}" = "yes" ]; then - rm -f $PKG/usr/lib/*.la rm -f $PKG/usr/lib/libOpenCL.so.1.0.0 fi else -# Correct wrong paths in /usr/lib{,64}/libGL.la - sed -i "s|$PKG||" $PKG/usr/lib${LIBDIRSUFFIX}/libGL.la - if [ "${COMPAT32}" = "yes" ]; then -# This one points to /usr/ instead of /usr/lib/, so we need to fix it anyway - sed -i "s|$PKG/usr|/usr/lib|" $PKG/usr/lib/libGL.la - fi -# save libGL.la for 14.2 - cd $PKG/usr/lib$LIBDIRSUFFIX - mv libGL.la libGL.la-nvidia - cd - - if [ "${COMPAT32}" = "yes" ]; then - cd $PKG/usr/lib - mv libGL.la libGL.la-nvidia - cd - - fi # Bash script to cleanly install (in doinst.sh) and uninstall the nvidia -# files so we don't stomp on the overlapping xorg files. +# files so we don't stomp on any overlapping xorg files. # Note: switching can be problematic ;-) + mkdir -p $PKG/var/log/nvidia/{32,64} install -m 0755 $CWD/nvidia-switch $PKG/usr/sbin/ sed -i s/PKGVERSION/$VERSION/g $PKG/usr/sbin/nvidia-switch sed -i s/LIBDIRSUFFIX/$LIBDIRSUFFIX/g $PKG/usr/sbin/nvidia-switch diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info index efc558ff7f..5c0edf48d7 100644 --- a/system/nvidia-driver/nvidia-driver.info +++ b/system/nvidia-driver/nvidia-driver.info @@ -1,20 +1,20 @@ PRGNAM="nvidia-driver" -VERSION="440.100" +VERSION="450.66" HOMEPAGE="http://www.nvidia.com" DOWNLOAD="UNSUPPORTED" MD5SUM="" -DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/440.100/NVIDIA-Linux-x86_64-440.100.run \ - https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-440.100.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-440.100.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-440.100.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-440.100.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-440.100.tar.bz2" -MD5SUM_x86_64="7b99bcd2807ecd37af60d29de7bc30c2 \ - 0549194f418fd1b4189e68ab04185459 \ - ff3c7c317483c078f97efc9a794d5b85 \ - 696ae6ec596fec78fe8c360fe91d6a81 \ - 3e584be299f8948b13626974757f0141 \ - 8ef4b7498ed2740a1f1d3dcf103a985c" +DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/450.66/NVIDIA-Linux-x86_64-450.66.run \ + https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-450.66.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-450.66.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-450.66.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-450.66.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-450.66.tar.bz2" +MD5SUM_x86_64="f2fc84773487a2f4c405788afc1b85c5 \ + e6af03aa49fa531cc029d166965b0dac \ + cff634526e19a7c554df5beb3929c4dc \ + 2dcc9e4b2613baf1f60d697e96409c93 \ + 2ff65d01afeffd7e718f2ad128e03892 \ + 9e4fe8bdf1fbd205be6d5406da078ef3" REQUIRES="nvidia-kernel" MAINTAINER="Lenard Spencer" EMAIL="lenardrspencer@gmail.com" diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch index c97fef3b3a..e6d268f4bd 100644 --- a/system/nvidia-driver/nvidia-switch +++ b/system/nvidia-driver/nvidia-switch @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA -# Updates copyright 2020 Lenard Spencer, Orlando, FL, USA +# Copyright 2020 Lenard Spencer, Orlando, FL, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,7 +21,7 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# nvidia-switch utility 4.7.1 +# nvidia-switch utility 4.7.2 # # A tool to install and cleanly remove the nvidia driver without stomping # on the mesa files. Note: this tool "should" allow switching on the fly, @@ -47,18 +47,17 @@ save_GL(){ cd $2 case "$1" in "nvidia") - if [ ! -e libGL.la-xorg ]; then + if [ -e libGL.la ]; then mv libGL.la libGL.la-xorg fi - cp -a libGL.la-nvidia libGL.la /sbin/ldconfig ;; "xorg") if [ -e libGL.la-xorg ]; then - cp -a libGL.la-xorg libGL.la + mv libGL.la-xorg libGL.la fi - /sbin/ldconfig + /sbin/ldconfig ;; *) @@ -88,7 +87,6 @@ nvidia_remove(){ echo $'Returning to stock xorg files!\n' echo "Make sure the nvidia driver is DISABLED in /etc/X11/xorg.conf" echo "and in /usr/share/X11/xorg.conf.d and /etc/X11/xorg.conf.d." - echo "(Removing nvidia-kernelis recommended to accomplish this.)" echo "Otherwise, this may lead to improperly working drivers." echo -e "\nPlease run /sbin/ldconfing after removing nvidia-driver.\n"