summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Edward W. Koenig2019-11-29 23:27:10 +0100
committer Willy Sudiarto Raharjo2019-12-01 02:50:54 +0100
commitacb2993d3e52289d77b5f79884ff19bf8521843c (patch)
treedebef075f33dabcab580b1f82ad50e63281b531c
parent991aea630489534be8933f5f068a5ef190e594cc (diff)
downloadslackbuilds-acb2993d3e52289d77b5f79884ff19bf8521843c.tar.gz
system/nvidia-driver: Updated for version 440.36.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
-rw-r--r--system/nvidia-driver/README45
-rw-r--r--system/nvidia-driver/changelog.txt1
-rw-r--r--system/nvidia-driver/doinst.sh2
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild78
-rw-r--r--system/nvidia-driver/nvidia-driver.info26
5 files changed, 52 insertions, 100 deletions
diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README
index 78d093293b..cbfb71ee50 100644
--- a/system/nvidia-driver/README
+++ b/system/nvidia-driver/README
@@ -7,11 +7,10 @@ use nvidia-legacy390-{driver,kernel}
Installing the 32-bit compatibility libraries is available: if desired, do:
COMPAT32="yes" ./nvidia-driver.SlackBuild
-
-GLVND GLX client libraries are now the default. If these cause any
-compatibility issues with older GLX sofware, either upgrade your software
-or try:
- GLVND="no" ./nvidia-driver.SlackBuild
+
+If you plan to test this buildscript on current (15.0), to avoid stomping
+on the installed libglvnd, do:
+ CURRENT="yes" ./nvidia-driver.SlackBuild
Several useful utilities are included: nvidia-xsettings, nvidia-smi, and
nvidia-settings. Please refer to the Nvidia documentation and man pages
@@ -24,39 +23,3 @@ you might need to include the following line in your /etc/rc.d/rc.local:
/usr/bin/nvidia-modprobe -c 0 -u
------------->8---------------
-Since this nvidia-driver conflicts with some files of xorg, it's a bit
-complex to install/uninstall the driver. However, installation of the
-nvidia-driver package itself backs up the conflicting files and puts
-the nvidia-specific files into place.
-
-Included is a script called nvidia-switch, which is used to switch from
-the xorg driver to the nvidia driver, but it will not edit xorg.conf
-for you; you have to do that manually. The nvidia-switch script is
-installed to /usr/sbin. NOTE: Although nvidia-switch is aware of a
-COMPAT32 environment, its use therein is not supported.
-
-Usage of nvidia-switch:
- nvidia-switch --install <--> install the nvidia files and save the
- stock xorg files.
- nvidia-switch --remove <--> remove the nvidia files and symlinks and
- restore the stock xorg files.
-
-You do NOT have to run nvidia-switch after installing the package.
-
-Before uninstalling or upgrading this package, it is important that
-you execute 'nvidia-switch --remove', which will switch back to the
-stock xorg files and remove all links created by nvidia-switch during
-installation. If you forget to do this, you might have to do the switch
-manually, since 'nvidia-switch --install' may fail, resulting in xorg
-not working. Here are the affected files:
-
- /usr/lib[64]/libGL.so.1.2
- /usr/lib[64]/libGL.la
- /usr/lib[64]/libGLESv1_CM.so.1.0.0
- /usr/lib[64]/libGLESv2.so.2.0.0
- /usr/lib[64]/libEGL.so.1.0.0
- /usr/lib[64]/xorg/modules/libwfb.so
- /usr/lib[64]/xorg/modules/extensions/libglx.so
-
-Simply remove the dead nvidia symlinks and and reinstall the mesa and
-xorg-server packages. See 'nvidia-switch --help'.
diff --git a/system/nvidia-driver/changelog.txt b/system/nvidia-driver/changelog.txt
index c3c9c0e9b9..ce4312bf9a 100644
--- a/system/nvidia-driver/changelog.txt
+++ b/system/nvidia-driver/changelog.txt
@@ -45,3 +45,4 @@
6.5 14-MAY-2019 version update LLB
6.6 10-AUG-2019 version update LLB, drop non-glvnd libs. This script will NOT work on current
6.7 11-SEP-2019 version update LLB, fix for pre-Turing GPUs (This script will NOT work on current).
+7.0 28-NOV-2019 version update LLB, add temp glvnd switch for 15.0, remove nvidia-switch
diff --git a/system/nvidia-driver/doinst.sh b/system/nvidia-driver/doinst.sh
index 8ee62f049e..392c12adb9 100644
--- a/system/nvidia-driver/doinst.sh
+++ b/system/nvidia-driver/doinst.sh
@@ -2,5 +2,3 @@ if [ -x /usr/bin/update-desktop-database ]; then
/usr/bin/update-desktop-database -q usr/share/applications
fi
-./usr/sbin/nvidia-switch --install
-
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index 2b3f328aa7..cb536d4137 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -25,13 +25,11 @@
# see changelog.txt
PRGNAM=nvidia-driver
-VERSION=${VERSION:-430.50}
+VERSION=${VERSION:-440.36}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-GLVND=yes
-# libglnvd landed in mesa and is Nvidia recommended; no longer optional
-# future will remove
+CURRENT=${CURRENT:-no}
set -e
@@ -68,7 +66,7 @@ mkdir -p $TMP $PKG $OUTPUT $PKG/install
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 $PKG/etc/X11/xorg.conf.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}
if [ "$COMPAT32" = "yes" ]; then
@@ -122,12 +120,6 @@ cd -
mv -f $PKG/usr/bin/nvidia-installer $TMP/$SRCNAM
mv -f $PKG/usr/man/man1/nvidia-installer.1.gz $TMP/$SRCNAM
-# Configure options
-if [ "$GLVND" = "yes" ]; then
- GLVNDOPT="--install-libglvnd --glvnd-glx-client --glvnd-egl-client"
-else
- GLVNDOPT="--no-install-libglvnd --no-glvnd-glx-client --no-glvnd-egl-client"
-fi
if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
COMP32="--install-compat32-libs --compat32-prefix=$PKG/usr"
MULTI="_multi"
@@ -158,28 +150,39 @@ cd $TMP/$SRCNAM
--log-file-name=$PKG/var/log/nvidia-installer.log \
--egl-external-platform-config-path=$PKG/usr/share/egl/egl_external_platform.d \
--no-nvidia-modprobe \
- $GLVNDOPT \
+ --install-libglvnd \
$COMP32
# Clean-up: we really do not need this:
rm -rf /var/lib/nvidia
-# which 32-bit tls? why? why?
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- install -m 755 32/libnvidia-tls.so.$VERSION $PKG/usr/lib/tls/libnvidia-tls.so.$VERSION
- cd $PKG/usr/lib
- ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION
- cd -
+# If running current (15.0) remove duplicate libglvnd files
+if [ "$CURRENT" = "yes" ]; then
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libEGL.so.1.1.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGL.so.1.7.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLESv1_CM.so.1.2.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLESv2.so.2.1.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLX.so.0.0.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLdispatch.so.0.0.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libGLdispatch.so.0
+ rm -f $PKG/usr/lib$LIBDIRSUFFIX/libOpenGl.0.0.0
+ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
+ rm -f $PKG/usr/lib/libEGL.so.1.1.0
+ rm -f $PKG/usr/lib/libGL.so.1.7.0
+ rm -f $PKG/usr/lib/libGLESv1_CM.so.1.2.0
+ rm -f $PKG/usr/lib/libGLESv2.so.2.1.0
+ rm -f $PKG/usr/lib/libGLX.so.0.0.0
+ rm -f $PKG/usr/lib/libGLdispatch.so.0.0.0
+ rm -f $PKG/usr/lib/libGLdispatch.so.0
+ rm -f $PKG/usr/lib/libOpenGl.0.0.0
+ fi
fi
-# Only one conflicting lib
-cd $PKG/usr/lib$LIBDIRSUFFIX
-mv libGL.la libGL.la-nvidia
-cd -
-
+# add tls
if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- cd $PKG/usr/lib
- mv libGL.la libGL.la-nvidia
- cd -
+ install -m 755 32/libnvidia-tls.so.$VERSION $PKG/usr/lib/tls/libnvidia-tls.so.$VERSION
+ cd $PKG/usr/lib
+ ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION
+ cd -
fi
# Compile utilites from source, replacing the precompiled versions
@@ -261,34 +264,21 @@ cd -
install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
cd -
-# Bash script to cleanly install (in doinst.sh) and uninstall the nvidia files
-# so we don't stomp on the overlapping xorg files.
-# Note: switching can be problematic ;-)
-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
-
-if [ ${COMPAT32} = "yes" ]; then
- sed -i s/LIB32FLAG/yes/g $PKG/usr/sbin/nvidia-switch
-else
- sed -i s/LIB32FLAG/no/g $PKG/usr/sbin/nvidia-switch
+# Don't ship .la files:
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
+ rm -f $PKG/usr/lib/*.la
fi
# These update or correct wrong paths
-sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
-sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
sed -i "s|__UTILS_PATH__|/usr/bin|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" $PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" $PKG/usr/share/applications/nvidia-settings.desktop
-if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
- sed -i "s|$TMP/package-$PRGNAM/usr|/usr|" $PKG/usr/lib/libGL.la-nvidia
- sed -i "s|/usr/X11R6/lib|/usr/lib|" $PKG/usr/lib/libGL.la-nvidia
-fi
-
# Move ICDs to $PKG and cleanup (no switch option in installer?)
mv /etc/OpenCL/vendors/nvidia.icd $PKG/etc/OpenCL/vendors/nvidia.icd
mv /etc/vulkan/icd.d/nvidia_icd.json $PKG/etc/vulkan/icd.d/nvidia_icd.json
+mv /etc/vulkan/implicit_layer.d/nvidia_layers.json $PKG/etc/vulkan/implicit_layer.d/nvidia_layers.json
rm -rf /etc/OpenCL
rm -rf /etc/vulkan
diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info
index f75518e937..929d009c5d 100644
--- a/system/nvidia-driver/nvidia-driver.info
+++ b/system/nvidia-driver/nvidia-driver.info
@@ -1,20 +1,20 @@
PRGNAM="nvidia-driver"
-VERSION="430.50"
+VERSION="440.36"
HOMEPAGE="http://www.nvidia.com"
DOWNLOAD="UNSUPPORTED"
MD5SUM=""
-DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/430.50/NVIDIA-Linux-x86_64-430.50.run \
- https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-430.50.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-430.50.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-430.50.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-430.50.tar.bz2 \
- https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-430.50.tar.bz2"
-MD5SUM_x86_64="f10833a9522b4c35ea3439dd17b11b28 \
- 48d65a19bc47b7898313d29d90e939f2 \
- c633915dfe6af04014b02037d9c2ec81 \
- 0fd45f263f553e23f77b21a9edaf7b9e \
- 1d44fa4b7e7758af24e6bc629dad6706 \
- f8c254fbac76bb192bf9cd8e99ba07ba"
+DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/440.36/NVIDIA-Linux-x86_64-440.36.run \
+ https://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-440.36.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-440.36.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-440.36.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-440.36.tar.bz2 \
+ https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-440.36.tar.bz2"
+MD5SUM_x86_64="0a85672111e3eb348838a5919253411b \
+ e024b533882f834f7fbaabbded3a243a \
+ a505045ed590ad38093438263d225c9b \
+ b7a86c33ccc6d82289207d1295630025 \
+ 923f6ea80fd6936b349107e2bc2209b6 \
+ aff1463ace949faa29a5ec6f6900d66f"
REQUIRES="nvidia-kernel"
MAINTAINER="Edward W. Koenig"
EMAIL="kingbeowulf@gmail.com"