summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Eric Hameleers <alien@slackware.com>2021-07-03 15:49:42 +0000
committer Eric Hameleers <alien@slackware.com>2021-07-03 15:49:42 +0000
commitafbfe7cf790aada5181671e9334bc66c1f06f704 (patch)
treea76e7dcaf0031831883422820a00c1563ee3b9b4
parent441cdd72be9cbeace5c7bf9612e705fb4b4ce596 (diff)
downloadasb-afbfe7cf790aada5181671e9334bc66c1f06f704.tar.gz
asb-afbfe7cf790aada5181671e9334bc66c1f06f704.tar.xz
nvidia-kernel: refreshed for Slackware-current
-rwxr-xr-xnvidia-kernel/build/nvidia-kernel.SlackBuild49
1 files changed, 23 insertions, 26 deletions
diff --git a/nvidia-kernel/build/nvidia-kernel.SlackBuild b/nvidia-kernel/build/nvidia-kernel.SlackBuild
index 239c9c93..fa30f42c 100755
--- a/nvidia-kernel/build/nvidia-kernel.SlackBuild
+++ b/nvidia-kernel/build/nvidia-kernel.SlackBuild
@@ -3,7 +3,8 @@
# Slackware build script for nvidia-kernel
# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 2012-2015 Edward W. Koenig, Vancouver, WA, USA
+# Copyright 2012-2019 Edward W. Koenig, Vancouver, WA, USA
+# Updates cpyright 2020 Lenard Spencer, Orlando, FL, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,8 +29,8 @@
# see nvidia-driver/changelog.txt
PRGNAM=nvidia-kernel
-VERSION=${VERSION:-352.79}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-460.73.01}
+BUILD=${BUILD:-1}
TAG=${TAG:-alien}
KERNEL=${KERNEL:-$(uname -r)}
@@ -41,20 +42,17 @@ PKGVER=${VERSION}_$(echo $KERNEL | tr - _)
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
-if [ "$ARCH" = "i486" ]; then
- TARGET="x86"
- SRCSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- TARGET="x86"
- SRCSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
+if [ "$ARCH" = "x86_64" ]; then
TARGET="x86_64"
+else
+ echo "$ARCH is not supported."
+ exit 1
fi
unset ARCH
@@ -72,6 +70,14 @@ cd $TMP || exit 1
rm -rf $SRCNAM
sh $CWD/$SRCNAM.run --extract-only || exit 1
cd $SRCNAM || exit 1
+
+# Compatibility for linux 5.13:
+if [ "$(echo $KERNEL |cut -d. -f1,2)" == "5.13" ]; then
+ cd kernel
+ cat $CWD/patches/kernel-5.13-use-atomic-state.patch | patch -p1 --verbose || exit 1
+ cd - 1>/dev/null
+fi
+
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
@@ -79,30 +85,21 @@ 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 {} \;
-# Nvidia removed uvm module from 32-bit
(cd kernel || exit 1
make SYSSRC=$KERNELPATH module || exit 1
- if [ "$ARCH" = "x86_64" ]; then
- cd uvm
- make SYSSRC=$KERNELPATH module || exit 1
- fi
)
mkdir -p $PKG/lib/modules/$KERNEL/kernel/drivers/video
install -m 0664 kernel/nvidia.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
-if [ "$ARCH" = "x86_64" ]; then
- install -m 0664 kernel/uvm/nvidia-uvm.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/
+# 32-bit doesn't have nvidia-uvm
+if [ "$TARGET" = "x86_64" ]; then
+ install -m 0664 kernel/nvidia-uvm.ko $PKG/lib/modules/$KERNEL/kernel/drivers/video/
fi
-# Make sure the X is specified to automagically load the
-# correct driver, since I always forget. You can remove
-# this file if you have an equivilent entry in /etc/X11/xorg.d
-
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
-# OutputClass not available until xorg > 1.16 so fix this up a bit
-sed -i "s|OutputClass|Device|" $PKG/usr/share/X11/xorg.conf.d/10-nvidia.conf
-sed -i "s|Match|# Match|" $PKG/usr/share/X11/xorg.conf.d/10-nvidia.conf
mkdir -p $PKG/usr/doc/$PRGNAM-$PKGVER
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$PKGVER/$PRGNAM.SlackBuild
@@ -112,4 +109,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
sed "s%@KERNEL@%$KERNEL%" $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKGVER-$TARGET-$BUILD$TAG.${PKGTYPE:-tgz}
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$PKGVER-$TARGET-$BUILD$TAG.${PKGTYPE:-txz}