diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README index a7800896ff..ad76586bd5 100644 --- a/system/nvidia-driver/README +++ b/system/nvidia-driver/README @@ -33,7 +33,6 @@ and remove all links created by nvidia-switch before. If you forget to do this, you'll have to do the switch manually, or xorg won't work on next startup. Here are the affected files: /usr/lib/libGL.so.1.2 - /usr/include/GL/{gl.h glx.h glxext.h glext.h} /usr/lib/xorg/modules/extensions/{libglx.so libglx.la} This also requires the nvidia-kernel and libvdpau package from SlackBuilds.org. diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild index b711add41d..c063fa2340 100644 --- a/system/nvidia-driver/nvidia-driver.SlackBuild +++ b/system/nvidia-driver/nvidia-driver.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for nvidia-driver -# Copyright 2007-2010 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -25,7 +25,7 @@ # Thanks to Robby Workman for suggestions to improve this script. PRGNAM=nvidia-driver -VERSION=256.44 +VERSION=260.19.29 BUILD=${BUILD:-1} TAG=${TAG:-_SBo} @@ -43,14 +43,17 @@ PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" TARGET="x86" SRCSUFFIX="" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" TARGET="x86" SRCSUFFIX="" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" TARGET="x86_64" SRCSUFFIX="-no-compat32" LIBDIRSUFFIX="64" @@ -67,6 +70,12 @@ set -e rm -rf $PKG mkdir -p $TMP $PKG $OUTPUT cd $TMP +rm -rf nvidia-installer-$VERSION +tar xvf $CWD/nvidia-installer-$VERSION.tar.bz2 +rm -rf nvidia-settings-$VERSION +tar xvf $CWD/nvidia-settings-$VERSION.tar.bz2 +rm -rf nvidia-xconfig-$VERSION +tar xvf $CWD/nvidia-xconfig-$VERSION.tar.bz2 rm -rf $SRCNAM sh $CWD/$SRCNAM.run --extract-only cd $SRCNAM @@ -74,9 +83,8 @@ chown -R root:root . chmod -R u+w,go+r-w,a-s . mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \ - $PKG/usr/include/{CL,cuda,GL} $PKG/etc/OpenCL/vendors/ \ - $PKG/usr/lib$LIBDIRSUFFIX/{tls,vdpau} $PKG/usr/{bin,man/man1,sbin} \ - $PKG/usr/share/{applications,pixmaps} + $PKG/etc/OpenCL/vendors/ $PKG/usr/lib$LIBDIRSUFFIX/{tls,vdpau} \ + $PKG/usr/{bin,man/man1,sbin} $PKG/usr/share/{applications,pixmaps} install -m 755 nvidia_drv.so $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/drivers/ install -m 755 libglx.so.$VERSION \ @@ -94,32 +102,14 @@ install -m 755 libOpenCL.so.1.0.0 $PKG/usr/lib$LIBDIRSUFFIX/ install -m 755 libnvidia-cfg.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/ install -m 755 libnvidia-compiler.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/ -for i in glxext.h glext.h gl.h glx.h; do - install -m 644 $i $PKG/usr/include/GL/$i-nvidia -done - -for i in cuda.h cudaGL.h cudaVDPAU.h; do - install -m 644 $i $PKG/usr/include/cuda/$i -done - -for i in cl.h cl_gl.h cl_platform.h; do - install -m 644 $i $PKG/usr/include/CL/$i -done - install -m 644 nvidia.icd $PKG/etc/OpenCL/vendors/ # # Next come the apps -for i in nvidia-installer nvidia-xconfig nvidia-settings \ - nvidia-smi nvidia-bug-report.sh; do +for i in nvidia-smi nvidia-bug-report.sh; do install -m 755 $i $PKG/usr/bin/ done -install -m 644 nvidia-settings.desktop $PKG/usr/share/applications/ -install -m 644 nvidia-settings.png $PKG/usr/share/pixmaps/ - -for i in *.1.gz; do - install -m 644 $i $PKG/usr/man/man1/$i -done +install -m 644 nvidia-smi.1.gz $PKG/usr/man/man1/ # symlinks cd $PKG/usr/lib$LIBDIRSUFFIX @@ -144,6 +134,52 @@ cd $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules ln -sf libnvidia-wfb.so.$VERSION libnvidia-wfb.so.1 cd - +# Compiling nvidia-installer from source +cd $TMP/nvidia-installer-$VERSION + chown -R root:root . + chmod -R u+w,go+r-w,a-s . + + CFLAGS="$SLKCFLAGS" \ + LDFLAGS="-lz" \ + make + + install -m 755 _out/Linux_$TARGET/nvidia-installer $PKG/usr/bin/ + install -m 644 _out/Linux_$TARGET/nvidia-installer.1.gz $PKG/usr/man/man1/ +cd - + +# Compiling nvidia-settings from source +cd $TMP/nvidia-settings-$VERSION + chown -R root:root . + chmod -R u+w,go+r-w,a-s . + + cd src/libXNVCtrl + make clean + CFLAGS="$SLKCFLAGS" \ + make + cd ../../ + + CFLAGS="$SLKCFLAGS" \ + make + + install -m 755 _out/Linux_$TARGET/nvidia-settings $PKG/usr/bin/ + install -m 644 _out/Linux_$TARGET/nvidia-settings.1.gz $PKG/usr/man/man1/ + install -m 644 doc/nvidia-settings.desktop $PKG/usr/share/applications/ + install -m 644 doc/nvidia-settings.png $PKG/usr/share/pixmaps/ +cd ../ + +# Compiling nvidia-xconfig from source +cd $TMP/nvidia-xconfig-$VERSION + chown -R root:root . + chmod -R u+w,go+r-w,a-s . + + CFLAGS="$SLKCFLAGS" \ + make + + install -m 755 _out/Linux_$TARGET/nvidia-xconfig $PKG/usr/bin/ + install -m 644 _out/Linux_$TARGET/nvidia-xconfig.1.gz $PKG/usr/man/man1/ +cd - + + # Self written bash script which I use to switch between nvidia and nv. # It is now also used by doinst.sh to switch to the nvidia-driver right # after installation. @@ -158,8 +194,11 @@ 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 mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cd $TMP/$SRCNAM cp -a LICENSE NVIDIA_Changelog README.txt html $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 diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info index b92d3b87d3..97257a208d 100644 --- a/system/nvidia-driver/nvidia-driver.info +++ b/system/nvidia-driver/nvidia-driver.info @@ -1,10 +1,22 @@ PRGNAM="nvidia-driver" -VERSION="256.44" +VERSION="260.19.29" HOMEPAGE="http://www.nvidia.com" -DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/256.44/NVIDIA-Linux-x86-256.44.run" -MD5SUM="cb61b75a305e78291db313dae39c625b" -DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/256.44/NVIDIA-Linux-x86_64-256.44-no-compat32.run" -MD5SUM_x86_64="19fdd60520df7f50ae7dbb24e473872b" +DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/260.19.29/NVIDIA-Linux-x86-260.19.29.run \ + ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-260.19.29.tar.bz2 \ + ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-260.19.29.tar.bz2 \ + ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-260.19.29.tar.bz2" +MD5SUM="e982a05a85c68130acfe1d48086250e3 \ + 743cdfc95507f19ad71b80dbfe7826e9 \ + 39e66889a185c220ac582b38e05dfb6b \ + 4417c24d1187abec65ed42812f16a505" +DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/260.19.29/NVIDIA-Linux-x86_64-260.19.29-no-compat32.run \ + ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-260.19.29.tar.bz2 \ + ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-260.19.29.tar.bz2 \ + ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-260.19.29.tar.bz2" +MD5SUM_x86_64="0583668d86f7318d99def3ed3e1cc4bc \ + 743cdfc95507f19ad71b80dbfe7826e9 \ + 39e66889a185c220ac582b38e05dfb6b \ + 4417c24d1187abec65ed42812f16a505" MAINTAINER="Heinz Wiesinger" EMAIL="pprkut@liwjatan.at" APPROVED="dsomero" diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch index 41c9c23857..e88534c40a 100644 --- a/system/nvidia-driver/nvidia-switch +++ b/system/nvidia-driver/nvidia-switch @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2007-2009 Heinz Wiesinger, Amsterdam, The Netherlands +# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,7 +20,7 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# nvidia-switch utility 0.9.0 +# nvidia-switch utility 0.9.1 # # A tool to switch between nvidia-binary-driver and stock xorg-driver # if both are installed in parallel. @@ -70,27 +70,18 @@ setup_link(){ incs(){ cd "$INC" -if [ "$2" = "cleanup" ]; then - CMD="mv" - THREE="$1" -else - CMD="ln -s" - THREE="$2" -fi - for i in glxext.h glext.h glx.h gl.h; do if [ -L "$i" ]; then rm -f "$i" - $CMD "$i-$THREE" "$i" + mv "$i-xorg" "$i" elif [ -e "$i" ]; then - if [ "$2" = "cleanup" ]; then - rm -f "$i-$1" - else - mv "$i" "$i-$1" - ln -s "$i-$THREE" "$i" + if [ -e "$i-xorg" ]; then + rm -f "$i-xorg" fi else - $CMD "$i-$THREE" "$i" + if [ -e "$i-xorg" ]; then + mv "$i-xorg" "$i" + fi fi done @@ -259,23 +250,6 @@ check(){ fi } -check_includes(){ - if [ "$1" = "cleanup" ]; then - cleanup="" - cleanup2="exist" - else - cleanup="link" - cleanup2="" - fi - - for i in glext.h glxext.h gl.h glx.h; do - check $INC $i $cleanup - check $INC $i-nvidia - check $INC $i-xorg $cleanup2 - echo "" - done -} - check_glx(){ if [ "$1" = "xorg" ]; then xorg="exist" @@ -350,8 +324,6 @@ check_gl(){ } nvidia_check(){ - check_includes - check_gl "nvidia" check_glx @@ -360,8 +332,6 @@ nvidia_check(){ } xorg_check(){ - check_includes - check_gl check_glx "xorg" @@ -370,8 +340,6 @@ xorg_check(){ } cleanup_check(){ - check_includes "cleanup" - check_gl check_glx "cleanup" @@ -384,7 +352,7 @@ nvidia(){ echo "Make sure the nvidia driver is ENABLED in /etc/X11/xorg.conf." echo "Otherwise, this may lead to improperly working drivers." - incs "xorg" "nvidia" + incs lib_nvidia libgl_nvidia libs "nvidia" @@ -402,23 +370,17 @@ xorg(){ echo "Make sure the nvidia driver is DISABLED in /etc/X11/xorg.conf." echo "Otherwise, this may lead to improperly working drivers." + libs_basic + libgl_xorg + libs "" if [ "$1" = "cleanup" ]; then - incs "xorg" "cleanup" + libglx_xorg "" else - incs "xorg" "xorg" + libglx_xorg "xorg" fi - libs_basic - libgl_xorg - libs "" - if [ "$1" = "cleanup" ]; then - libglx_xorg "" - else - libglx_xorg "xorg" - fi - - LD_NVIDIA="${LIB}/libGL.so.1.2" - nvidia_ldconfig $LD_NVIDIA "xorg" + LD_NVIDIA="${LIB}/libGL.so.1.2" + nvidia_ldconfig $LD_NVIDIA "xorg" } usage(){