mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-12 09:58:54 +01:00
system/nvidia-driver: Updated for version 440.36.
Signed-off-by: Matteo Bernardini <ponce@slackbuilds.org>
This commit is contained in:
parent
991aea6304
commit
acb2993d3e
5 changed files with 52 additions and 100 deletions
|
@ -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'.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
Loading…
Reference in a new issue