aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/nvidia-driver/README13
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild22
-rw-r--r--system/nvidia-driver/nvidia-driver.info50
-rw-r--r--system/nvidia-driver/nvidia-switch22
4 files changed, 59 insertions, 48 deletions
diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README
index 14391b2c3eed..c1534441013b 100644
--- a/system/nvidia-driver/README
+++ b/system/nvidia-driver/README
@@ -7,9 +7,14 @@ Installing the 32-bit compatibility libraries is available: if desired, do:
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. Two optional utilities, nvidia-modprobe and
-nvidia-persistenced, can be installed with:
- OPTAPPS="yes" ./nvidia-driver.SlackBuild
+for details and usage.
+
+For CUDA/OpenCL to work after reboot, include the following line in your
+/etc/rc.d/rc.local:
+-------------8<---------------
+# Create missing nvidia device nodes after reboot
+/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
@@ -28,7 +33,7 @@ Usage of nvidia-switch:
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.
+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
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index 3c99a1f3fb4b..7c3b5c6732c5 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -43,14 +43,14 @@
# 2.6 20-OCT-2013 new version -Long Lived Branch, add new lib, fix nvidia-switch --remove
# 3.0 13-NOV-2013 new version (LLB), update libs
# 3.1 12-APR-2014 new version (LLB), update libs
+# 3.2a 12-JUL-2014 new version (LLB), update libs and bug fixes, fix /dev/nvidia-uvm
PRGNAM=nvidia-driver
-VERSION=${VERSION:-331.67}
+VERSION=${VERSION:-340.24}
MVERS=331
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
CPROXY=${CPROXY:-no}
-OPTAPPS=${OPTAPPS:-no}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -109,7 +109,7 @@ find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
$PKG/etc/OpenCL/vendors/ $PKG/usr/lib$LIBDIRSUFFIX/tls \
@@ -117,7 +117,7 @@ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
$PKG/usr/include/GL
# Get all the libs to the right place
-# Ignore libEGL and libGLES support; phones/tablets etc.
+# Ignore libEGL/libGLES for desktop GPUs
install -m 755 nvidia_drv.so $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/drivers/
install -m 755 libcuda.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libglx.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/extensions/libglx.so.$VERSION-nvidia
@@ -130,6 +130,7 @@ install -m 755 libnvidia-encode.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-fbc.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-glcore.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-ifr.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
+install -m 755 libnvidia-glsi.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-ml.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvidia-opencl.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 tls/libnvidia-tls.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/tls/
@@ -155,6 +156,7 @@ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
install -m 755 32/libnvidia-encode.so.$VERSION $PKG/usr/lib/
install -m 755 32/libnvidia-fbc.so.$VERSION $PKG/usr/lib/
install -m 755 32/libnvidia-glcore.so.$VERSION $PKG/usr/lib/
+ install -m 755 32/libnvidia-glsi.so.$VERSION $PKG/usr/lib/
install -m 755 32/libnvidia-ifr.so.$VERSION $PKG/usr/lib/
install -m 755 32/libnvidia-opencl.so.$VERSION $PKG/usr/lib/
install -m 755 32/tls/libnvidia-tls.so.$VERSION $PKG/usr/lib/tls/
@@ -265,8 +267,9 @@ cd $TMP/nvidia-xconfig-$VERSION
install -m 644 _out/Linux_$TARGET/nvidia-xconfig.1.gz $PKG/usr/man/man1/
cd -
-# Some new optional "useless" utilities. FIXME: Needs cleanup at a later date.
-if [ "${OPTAPPS}" = "yes" ]; then
+# Some new optional "useless" utilities, such as laptop GPU switching
+# nvdia-modprobe needed to create device nodes, see README!
+# FIXME: Needs cleanup at a later date.
# Compiling nvidia-modprobe from source
cd $TMP/nvidia-modprobe-$VERSION
@@ -296,7 +299,6 @@ if [ "${OPTAPPS}" = "yes" ]; then
install -m 755 _out/Linux_$TARGET/nvidia-persistenced $PKG/usr/bin/
install -m 644 _out/Linux_$TARGET/nvidia-persistenced.1.gz $PKG/usr/man/man1/
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.
@@ -322,12 +324,16 @@ sed -i "s|__NVIDIA_SETTINGS_DESKTOP_CATEGORIES__|Application;Settings;|" \
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cd $TMP/$SRCNAM
-
cp -a LICENSE NVIDIA_Changelog README.txt html $PKG/usr/doc/$PRGNAM-$VERSION
cp -a nvidia-persistenced-init.tar.bz2 $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/README > $PKG/usr/doc/$PRGNAM-$VERSION/README.Slackware
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+# nvidia-settings application profile support
+mkdir -p $PKG/usr/share/nvidia
+install -m 755 nvidia-application-profiles-340.24-key-documentation $PKG/usr/share/nvidia/
+install -m 755 nvidia-application-profiles-340.24-rc $PKG/usr/share/nvidia/
+
mkdir -p $PKG/install
sed "s/PKGVERSION/$VERSION/g" $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info
index 03b6a9c2d276..74ae0418326e 100644
--- a/system/nvidia-driver/nvidia-driver.info
+++ b/system/nvidia-driver/nvidia-driver.info
@@ -1,30 +1,30 @@
PRGNAM="nvidia-driver"
-VERSION="331.67"
+VERSION="340.24"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/331.67/NVIDIA-Linux-x86-331.67.run \
- ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-331.67.tar.bz2"
-MD5SUM="7b6587714018fa7d1931fb3444d53c52 \
- 32017a43c5af027fdba2951ac11cbd49 \
- ec854b970d13be4b1134fb35b33f7e11 \
- fe4eec222db98a4f4e040254904ccff2 \
- 5d6ab3437d6a8fc0a0a30d7d4f43c11d \
- 3a2c6951fe76e682656a3ba12836e937"
-DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/331.67/NVIDIA-Linux-x86_64-331.67.run \
- ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-331.67.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-331.67.tar.bz2"
-MD5SUM_x86_64="a08e31363161f51fb448fdacb6b68bef \
- 32017a43c5af027fdba2951ac11cbd49 \
- ec854b970d13be4b1134fb35b33f7e11 \
- fe4eec222db98a4f4e040254904ccff2 \
- 5d6ab3437d6a8fc0a0a30d7d4f43c11d \
- 3a2c6951fe76e682656a3ba12836e937"
+DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/340.24/NVIDIA-Linux-x86-340.24.run \
+ ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.24.tar.bz2"
+MD5SUM="edd4c618265d22ef4d2b28baf070c6ff \
+ ecb8f401c1c37031dc0db505b82775b3 \
+ 56591382048891d5032065d21df5c787 \
+ d3da36416fd989e98cc297ec923f3891 \
+ d61b7e0d3f4d6bc13bb528a26617f978 \
+ 9b159637bb212e44b0688ade20ba5710"
+DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/340.24/NVIDIA-Linux-x86_64-340.24.run \
+ ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.24.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.24.tar.bz2"
+MD5SUM_x86_64="84c9a35b20fe34cf6f1160d541673c76 \
+ ecb8f401c1c37031dc0db505b82775b3 \
+ 56591382048891d5032065d21df5c787 \
+ d3da36416fd989e98cc297ec923f3891 \
+ d61b7e0d3f4d6bc13bb528a26617f978 \
+ 9b159637bb212e44b0688ade20ba5710"
REQUIRES="libvdpau nvidia-kernel"
MAINTAINER="Edward W. Koenig"
EMAIL="kingbeowulf@gmail.com"
diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch
index 1dc6e5f5ee97..c861d5a034ff 100644
--- a/system/nvidia-driver/nvidia-switch
+++ b/system/nvidia-driver/nvidia-switch
@@ -20,13 +20,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# nvidia-switch utility 2.0.1
+# nvidia-switch utility 2.0.2
#
# A tool to install and cleanly remove the nvidia driver without stomping on the xorg files.
-# Note: this tool "should" allow switching on the fly, but why? Pick a driver! You will still
+# Note: this tool "should" allow switching on the fly, but why? Pick a driver! You will still
# need to edit a bunch of other config files
-# TO-DO: Bounds/error checking, add more COMPAT32?
+# TO-DO: Bounds/error checking, add more COMPAT32?
set -e
@@ -52,8 +52,8 @@ save_GL(){
ln -sf libGL.so.$NV_VERSION-nvidia libGL.so.$NV_VERSION
ln -sf libGL.so.$NV_VERSION libGL.so.1
ln -sf libGL.so.1 libGL.so
-# Check for multilib configuration
- if [ "$COMPAT32" = "yes" ]; then
+# Check for multilib configuration
+ if [ "$COMPAT32" = "yes" ]; then
cd $LIB32
if [ ! -e libGL.so.$GL_VERSION-xorg ]; then
mv libGL.so.$GL_VERSION libGL.so.$GL_VERSION-xorg
@@ -63,12 +63,12 @@ save_GL(){
ln -sf libGL.so.1 libGL.so
fi
elif [ "$1" = "xorg" ]; then
- mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
+ mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
ln -sf libGL.so.$GL_VERSION libGL.so.1
ln -sf libGL.so.1 libGL.so
rm -f libGL.so.$NV_VERSION
# Check for multilib and reverse any "damage"
- if [ "$COMPAT32" = "yes" ]; then
+ if [ "$COMPAT32" = "yes" ]; then
cd $LIB32
mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
ln -sf libGL.so.$GL_VERSION libGL.so.1
@@ -115,7 +115,7 @@ save_glx(){
rm -f libglx.so
mv libglx.so-xorg libglx.so
mv libglx.la-xorg libglx.la
- fi
+ fi
cd "$CWD"
}
@@ -134,7 +134,7 @@ nvidia_install(){
save_GL "nvidia"
save_wfb "nvidia"
save_glx "nvidia"
-
+
LD_NVIDIA="${LIB}/libGL.so.$NV_VERSION-nvidia"
nvidia_ldconfig $LD_NVIDIA
@@ -154,14 +154,14 @@ nvidia_remove(){
if [ -e $NV_CONF ]; then
rm -f $NV_CONF
fi
-
+
LD_NVIDIA="${LIB}/libGL.so.$GL_VERSION"
nvidia_ldconfig $LD_NVIDIA
}
usage(){
echo "Usage:"
- echo " --install Set up nvidia driver files"
+ echo " --install Set up nvidia driver files (only during pkg install)"
echo " --remove Return to stock xorg files and remove all symlinks"
echo " --help Show this help message"
}