diff options
author | Lenard Spencer <lenardrspencer@gmail.com> | 2021-08-14 19:42:34 +0200 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2021-08-19 18:33:45 +0700 |
commit | 2da036e180da06c249d99840e79018345736f986 (patch) | |
tree | 47e4ef45eac5d2fad13bb201cef794816f2d32f0 | |
parent | 3bdbf701ff7b7b2d462bd1c500f9e0541c300a07 (diff) |
system/nvidia-legacy390-driver: Updated for version 390.144.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
6 files changed, 105 insertions, 87 deletions
diff --git a/system/nvidia-legacy390-driver/douninst.sh b/system/nvidia-legacy390-driver/douninst.sh index d9c58a7dc226..1bf7bd2edfb6 100644 --- a/system/nvidia-legacy390-driver/douninst.sh +++ b/system/nvidia-legacy390-driver/douninst.sh @@ -1,9 +1,9 @@ ( cd usr/libSUFFIX/xorg/modules/extensions - if [ -e libglx.so-xorg ]; then + if [ -f libglx.so-xorg ]; then mv libglx.so-xorg libglx.so else if [ ! -e libglx.so ]; then - echo -e "WARNING: libglx.so not found! Please reinstall xorg-server!\n" + echo -e "WARNING: libglx.so not found! Please reinstall xorg-server!\n" fi fi ) diff --git a/system/nvidia-legacy390-driver/nvidia-installer-removed-sysctl-h.patch b/system/nvidia-legacy390-driver/nvidia-installer-removed-sysctl-h.patch index 7b230fcb11d3..df61dfa85d1b 100644 --- a/system/nvidia-legacy390-driver/nvidia-installer-removed-sysctl-h.patch +++ b/system/nvidia-legacy390-driver/nvidia-installer-removed-sysctl-h.patch @@ -1,36 +1,58 @@ -diff -Naur nvidia-installer-460.67.orig/kernel.c nvidia-installer-460.67/kernel.c ---- nvidia-installer-460.67.orig/kernel.c 2021-03-10 19:24:00.000000000 -0500 -+++ nvidia-installer-460.67/kernel.c 2021-04-16 17:59:48.828574898 -0400 -@@ -23,7 +23,10 @@ +diff -Nur nvidia-installer-390.143.orig/kernel.c nvidia-installer-390.143/kernel.c +--- nvidia-installer-390.143.orig/kernel.c 2021-03-12 02:29:56.000000000 -0500 ++++ nvidia-installer-390.143/kernel.c 2021-06-23 11:15:12.813980616 -0400 +@@ -23,7 +23,6 @@ #include <sys/utsname.h> #include <sys/types.h> #include <sys/stat.h> -#include <sys/sysctl.h> -+#include <gnu/libc-version.h> -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ <= 30 -+ #include <sys/sysctl.h> -+#endif #include <ctype.h> #include <stdlib.h> #include <dirent.h> -@@ -1076,7 +1079,8 @@ - } +@@ -1055,9 +1050,9 @@ + #define PRINTK_LOGLEVEL_KERN_ALERT 1 - if (!loglevel_set) { -- /* -+#if __GLIBC__ == 2 && __GLIBC_MINOR__ <= 30 -+ /* - * Explicitly initialize the value of len, even though it looks like the - * syscall should do that, since in practice it doesn't always actually - * set the value of the pointed-to length parameter. -@@ -1090,6 +1094,10 @@ - loglevel_set = TRUE; - } - } -+#else /* sys/sysctl.h has been removed from glibc 2.32 and later */ -+ if (!old_level) -+ loglevel_set = TRUE; -+#endif + /* +- * Attempt to set the printk loglevel, first using the /proc/sys interface, +- * and falling back to the deprecated sysctl if that fails. Pass the previous +- * loglevel back to the caller and return TRUE on success, or FALSE on failure. ++ * Attempt to set the printk loglevel using the /proc/sys interface. ++ * Pass the previous loglevel back to the caller and return TRUE on success, ++ * or FALSE on failure. + */ + static int set_loglevel(int level, int *old_level) + { +@@ -1067,6 +1062,9 @@ + fp = fopen("/proc/sys/kernel/printk", "r+"); + if (fp) { + if (!old_level || fscanf(fp, "%d ", old_level) == 1) { ++ /* Use a dynamic buffer for the string: the kernel does not range ++ * check the loglevel, so the value reported by the procfs file ++ * may have an unknown number of digits. */ + char *strlevel = nvasprintf("%d", level); + + fseek(fp, 0, SEEK_SET); +@@ -1079,23 +1077,6 @@ + fclose(fp); } +- if (!loglevel_set) { +- /* +- * Explicitly initialize the value of len, even though it looks like the +- * syscall should do that, since in practice it doesn't always actually +- * set the value of the pointed-to length parameter. +- */ +- size_t len = sizeof(int); +- int name[] = { CTL_KERN, KERN_PRINTK }; +- +- if (!old_level || +- sysctl(name, ARRAY_LEN(name), old_level, &len, NULL, 0) == 0) { +- if (sysctl(name, ARRAY_LEN(name), NULL, 0, &level, len) == 0) { +- loglevel_set = TRUE; +- } +- } +- } +- return loglevel_set; + } + diff --git a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild index 1a79768f7be3..22ac352e2e9f 100644 --- a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild +++ b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.SlackBuild @@ -23,13 +23,11 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# see changelog.txt - cd $(dirname $0) ; CWD=$(pwd) PRGNAM=nvidia-legacy390-driver -VERSION=${VERSION:-390.143} -BUILD=${BUILD:-3} +VERSION=${VERSION:-390.144} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -43,6 +41,18 @@ if [ -z "$ARCH" ]; then esac fi +# 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-$VERSION$MULTI-$TARGET-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" TARGET="x86" @@ -65,30 +75,6 @@ else COMPAT32=no fi -if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then - COMP32="--install-compat32-libs --compat32-prefix=$PKG/usr" - MULTI="_multilib" -else - if [ ! "$ARCH" = "x86_64" ]; then - COMP32="" - else - COMP32="--no-install-compat32-libs" - MULTI="" - fi -fi - -# 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-$VERSION$MULTI-$TARGET-$BUILD$TAG.$PKGTYPE" - exit 0 -fi - -TMP=${TMP:-/tmp/SBo} -PKG=$TMP/package-$PRGNAM -OUTPUT=${OUTPUT:-/tmp} - # Abort if an Nvidia driver is still installed: if [ -x /usr/bin/nvidia-installer ]; then echo -e "\n A previous Nvidia installation has been detected!" @@ -158,7 +144,16 @@ mv -f $PKG/usr/bin/nvidia-installer $TMP/$SRCNAM mv -f $PKG/usr/man/man1/nvidia-installer.1.gz $TMP/$SRCNAM if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then - mkdir $PKG/usr/lib + COMP32="--install-compat32-libs --compat32-prefix=$PKG/usr" + MULTI="_multilib" + mkdir $PKG/usr/lib +else + if [ ! "$ARCH" = "x86_64" ]; then + COMP32="" + else + COMP32="--no-install-compat32-libs" + MULTI="" + fi fi # Install the binary libs using nvidia-installer compiled above diff --git a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info index b314520d533c..95ba867a06d7 100644 --- a/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info +++ b/system/nvidia-legacy390-driver/nvidia-legacy390-driver.info @@ -1,30 +1,30 @@ PRGNAM="nvidia-legacy390-driver" -VERSION="390.143" +VERSION="390.144" HOMEPAGE="http://www.nvidia.com" -DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.143/NVIDIA-Linux-x86-390.143.run \ - https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.143.tar.bz2" -MD5SUM="7b5704f3c89223d5ecb4f26ca9463c26 \ - def90705f245c17a93303a863ee591ab \ - 5ee49194c37c97d81cddc34068d8f723 \ - 1c897a24ea263abd89f23504632ac842 \ - 6adc329cd15cdb88587190330a91e098 \ - dcfdf003fd33372698eb4be07f65f1af" -DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.143/NVIDIA-Linux-x86_64-390.143.run \ - https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.143.tar.bz2 \ - https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.143.tar.bz2" -MD5SUM_x86_64="1b526fa9567a09eb1e18545f675c8f82 \ - def90705f245c17a93303a863ee591ab \ - 5ee49194c37c97d81cddc34068d8f723 \ - 1c897a24ea263abd89f23504632ac842 \ - 6adc329cd15cdb88587190330a91e098 \ - dcfdf003fd33372698eb4be07f65f1af" +DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.144/NVIDIA-Linux-x86-390.144.run \ + https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.144.tar.bz2" +MD5SUM="6ee8cd784135bd79f5e416b6815f443d \ + cc853483eff91a2bf1ef5592ddf95c49 \ + 82635038ff0a1ce11249eccbd6b036b9 \ + 6cb95ae84dfa1e632e10b8b73f0ac35e \ + 12cb4f4c98400b4c839ffbb8acdcbf9d \ + 26c9a1ab380adb23ee103db31d39cb63" +DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.144/NVIDIA-Linux-x86_64-390.144.run \ + https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-390.144.tar.bz2 \ + https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-390.144.tar.bz2" +MD5SUM_x86_64="dc6a203e3c32456e16e6fae5c8a7c728 \ + cc853483eff91a2bf1ef5592ddf95c49 \ + 82635038ff0a1ce11249eccbd6b036b9 \ + 6cb95ae84dfa1e632e10b8b73f0ac35e \ + 12cb4f4c98400b4c839ffbb8acdcbf9d \ + 26c9a1ab380adb23ee103db31d39cb63" REQUIRES="nvidia-legacy390-kernel" MAINTAINER="Lenard Spencer" EMAIL="lenardrspencer@gmail.com" diff --git a/system/nvidia-legacy390-driver/nvidia-switch b/system/nvidia-legacy390-driver/nvidia-switch index 2e71e3b75b54..3fa408c09d40 100644 --- a/system/nvidia-legacy390-driver/nvidia-switch +++ b/system/nvidia-legacy390-driver/nvidia-switch @@ -40,6 +40,7 @@ else fi CWD=$(pwd) LIBSUFFIX="LIBDIRSUFFIX" # This will be replaced in the build script +INC="${ROOT}usr/include/GL" LIB="${ROOT}usr/lib${LIBSUFFIX}" XMOD="${LIB}/xorg/modules" XLIB="$XMOD/extensions" @@ -49,20 +50,20 @@ save_glx(){ cd "$XLIB" case "$1" in "nvidia") - if [ -e libglx.so ]; then - cp -a libglx.so libglx.so-xorg + if [ -f libglx.so ]; then + mv libglx.so libglx.so-xorg fi ln -sf libglx.so.$NV_VERSION libglx.so ;; "xorg") - if [ -e libglx.so-xorg ]; then + if [ -f libglx.so-xorg ]; then rm -f libglx.so mv libglx.so-xorg libglx.so else if [ ! -e libglx.so ]; then - echo -e "WARNING: libglx.so not found! Please reinstall xorg-server!\n" + echo -e "WARNING: libglx.so not found! Please reinstall xorg-server!\n" else - if [ -L libglx.so ]; then + if [ -h libglx.so ]; then rm libglx.so echo -e "WARNING: removed dead symlink libglx.so! Please reinstall xorg-server!\n" fi diff --git a/system/nvidia-legacy390-driver/rc.nvidia-persistenced b/system/nvidia-legacy390-driver/rc.nvidia-persistenced index 59bdf18d1114..b95480a4e023 100644 --- a/system/nvidia-legacy390-driver/rc.nvidia-persistenced +++ b/system/nvidia-legacy390-driver/rc.nvidia-persistenced @@ -1,4 +1,4 @@ -#!/bin/sh -e +#!/bin/bash -e # # NVIDIA Persistence Daemon Init Script # |