diff options
-rw-r--r-- | system/nvidia-driver/README | 13 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-driver.SlackBuild | 22 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-driver.info | 50 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-switch | 22 |
4 files changed, 59 insertions, 48 deletions
diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README index 14391b2c3e..c153444101 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 3c99a1f3fb..7c3b5c6732 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 03b6a9c2d2..74ae041832 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 1dc6e5f5ee..c861d5a034 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" } |