diff options
-rw-r--r-- | system/nvidia-driver/README | 4 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-driver.SlackBuild | 131 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-driver.info | 12 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-switch | 51 |
4 files changed, 71 insertions, 127 deletions
diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README index 213218fe4710..a7800896ffdd 100644 --- a/system/nvidia-driver/README +++ b/system/nvidia-driver/README @@ -13,10 +13,10 @@ 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. Usage of nvidia-switch: - nvidia-switch --xorg <--> switch to the stock xorg files + nvidia-switch --xorg <--> switch to the stock xorg files nvidia-switch --nvidia <--> switch to the proprietary nvidia files nvidia-switch --cleanup <--> switch to the stock xorg file and remove all - symlinks created by nvidia-switch + symlinks created by nvidia-switch You do NOT have to run nvidia-switch after installing or upgrading the package. ONLY if you want to explicitely switch to the xorg files, diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild index fa8039cb2ff4..b711add41dba 100644 --- a/system/nvidia-driver/nvidia-driver.SlackBuild +++ b/system/nvidia-driver/nvidia-driver.SlackBuild @@ -25,16 +25,14 @@ # Thanks to Robby Workman for suggestions to improve this script. PRGNAM=nvidia-driver -VERSION=195.36.15 +VERSION=256.44 BUILD=${BUILD:-1} TAG=${TAG:-_SBo} -# Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in i?86) ARCH=i486 ;; arm*) ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$( uname -m ) ;; esac fi @@ -46,19 +44,23 @@ OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i486" ]; then TARGET="x86" + SRCSUFFIX="" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then TARGET="x86" + SRCSUFFIX="" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then TARGET="x86_64" + SRCSUFFIX="-no-compat32" LIBDIRSUFFIX="64" else SLKCFLAGS="-O2" + SRCSUFFIX="" LIBDIRSUFFIX="" fi -SRCNAM=NVIDIA-Linux-$TARGET-$VERSION-pkg0 +SRCNAM=NVIDIA-Linux-$TARGET-${VERSION}${SRCSUFFIX} set -e @@ -71,83 +73,71 @@ cd $SRCNAM chown -R root:root . chmod -R u+w,go+r-w,a-s . -mkdir -p $PKG/usr/{bin,share,lib$LIBDIRSUFFIX,sbin} $PKG/usr/include/GL \ - $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} $PKG/etc - -cd etc - cp -rf OpenCL $PKG/etc/ -cd - - -# Start with the libraries -cd usr/lib - #Do not copy libvdpau and libvdpau_trace, those are now a separate script - rm libvdpau.so.$VERSION vdpau/libvdpau_trace.so.$VERSION - #remove duplicate libnvidia-tls - rm libnvidia-tls.so.$VERSION - cp -a * $PKG/usr/lib$LIBDIRSUFFIX - #Rename those files which would overwrite xorg's original files - for i in libGL.so.$VERSION libGLcore.so.$VERSION; do - mv $PKG/usr/lib$LIBDIRSUFFIX/$i $PKG/usr/lib$LIBDIRSUFFIX/$i-nvidia ; - done -cd - - -# This is the driver itself -cd usr/X11R6/lib - cp -a * $PKG/usr/lib$LIBDIRSUFFIX/xorg/ - for i in libXvMCNVIDIA.a libXvMCNVIDIA.so.$VERSION; do - mv $PKG/usr/lib$LIBDIRSUFFIX/xorg/$i $PKG/usr/lib$LIBDIRSUFFIX/ ; - done - - # Rename those files which would overwrite xorg's original files - mv $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/extensions/libglx.so.$VERSION \ - $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/extensions/libglx.so.$VERSION-nvidia -cd - - -# These are the includes -cd usr/include/GL - for i in glxext.h glext.h gl.h glx.h; do - cp -a $i $PKG/usr/include/GL/$i-nvidia - done -cd - - -cp -a usr/include/cuda $PKG/usr/include/cuda -cp -a usr/include/CL $PKG/usr/include/CL - -# Next come the apps -cp -a nvidia-installer $PKG/usr/bin/ -cd usr/bin - for i in nvidia*; do - cp -a $i $PKG/usr/bin/ - done -cd - - -# XDG stuff -cd usr/share - for i in applications pixmaps; do - cp -a $i $PKG/usr/share/ - done - cp -a man* $PKG/usr/ -cd - +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} + +install -m 755 nvidia_drv.so $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/drivers/ +install -m 755 libglx.so.$VERSION \ + $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/extensions/libglx.so.$VERSION-nvidia +install -m 755 libnvidia-wfb.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/ +install -m 755 libGL.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/libGL.so.$VERSION-nvidia +install -m 755 libGL.la $PKG/usr/lib$LIBDIRSUFFIX/ +install -m 755 libnvidia-glcore.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/ +install -m 444 libXvMCNVIDIA.a $PKG/usr/lib$LIBDIRSUFFIX/ +install -m 755 libXvMCNVIDIA.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/ +install -m 755 libvdpau_nvidia.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/vdpau/ +install -m 755 libcuda.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/ +install -m 755 tls/libnvidia-tls.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/tls/ +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 + 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 # symlinks cd $PKG/usr/lib$LIBDIRSUFFIX - for i in libnvidia-cfg libcuda; do + for i in libcuda libnvidia-cfg; do ln -s $i.so.$VERSION $i.so.1 ln -s $i.so.1 $i.so done - ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.1 - ln -sf vdpau/libvdpau_nvidia.so.$VERSION libvdpau_nvidia.so ln -sf libXvMCNVIDIA.so.$VERSION libXvMCNVIDIA_dynamic.so.1 - ln -sf libOpenCL.so.1.0.0 libOpenCL.so.1 + ln -sf libXvMCNVIDIA.so.$VERSION libXvMCNVIDIA_dynamic.so + ln -sf libOpenCL.so.1.0.0 libOpenCL.so.1.0 + ln -sf libOpenCL.so.1.0 libOpenCL.so.1 ln -sf libOpenCL.so.1 libOpenCL.so -cd - - -cd $PKG/usr/lib$LIBDIRSUFFIX/tls - ln -sf libnvidia-tls.so.$VERSION libnvidia-tls.so.1 + ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION cd - cd $PKG/usr/lib$LIBDIRSUFFIX/vdpau ln -sf libvdpau_nvidia.so.$VERSION libvdpau_nvidia.so + ln -sf libvdpau_nvidia.so.$VERSION libvdpau_nvidia.so.1 cd - cd $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules @@ -169,9 +159,8 @@ sed -i "s|__UTILS_PATH__|/usr/bin|" \ sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" \ $PKG/usr/share/applications/nvidia-settings.desktop -cd $TMP/$SRCNAM mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION -cp -a LICENSE pkg-history.txt ./usr/share/doc* $PKG/usr/doc/$PRGNAM-$VERSION +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 d995b2fcfd23..b92d3b87d39f 100644 --- a/system/nvidia-driver/nvidia-driver.info +++ b/system/nvidia-driver/nvidia-driver.info @@ -1,10 +1,10 @@ PRGNAM="nvidia-driver" -VERSION="195.36.15" +VERSION="256.44" HOMEPAGE="http://www.nvidia.com" -DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/195.36.15/NVIDIA-Linux-x86-195.36.15-pkg0.run" -MD5SUM="b09b45113585524b08b3b2acfdf4a290" -DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/195.36.15/NVIDIA-Linux-x86_64-195.36.15-pkg0.run" -MD5SUM_x86_64="82ff23e6d02b9f208c618ec17c60ca29" +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" MAINTAINER="Heinz Wiesinger" EMAIL="pprkut@liwjatan.at" -APPROVED="rworkman" +APPROVED="dsomero" diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch index b700fb2f5d97..41c9c2385724 100644 --- a/system/nvidia-driver/nvidia-switch +++ b/system/nvidia-driver/nvidia-switch @@ -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.8.2 +# nvidia-switch utility 0.9.0 # # A tool to switch between nvidia-binary-driver and stock xorg-driver # if both are installed in parallel. @@ -114,8 +114,8 @@ done } libs_basic(){ -for i in libGL.so libGLcore.so; do - #if this link exists, remove it, if it's a file, move it to *.nvidia +for i in libGL.so; do + #if this link exists, remove it, if it's a file, move it to *-nvidia if [ -L "$LIB/$i.$NV_VERSION" ]; then rm -f "$LIB/$i.$NV_VERSION" elif [ -e "$LIB/$i.$NV_VERSION" ]; then @@ -152,17 +152,6 @@ fi } -libglcore_nvidia(){ -#If libGLcore.so.$NV_VERSION-nvidia does exists, then remove the -nvidia and make it usable that way -if [ -e "$LIB/libGLcore.so.$NV_VERSION-nvidia" ]; then - cd "$LIB" - rm -f libGLcore.so.$NV_VERSION libGLcore.so.1 - ln -s libGLcore.so.$NV_VERSION-nvidia libGLcore.so.$NV_VERSION - ln -s libGLcore.so.$NV_VERSION libGLcore.so.1 - cd "$CWD" -fi -} - lib_nvidia(){ for i in libGL.so libglx.so; do if [ "$i" = "libGL.so" ]; then @@ -240,13 +229,6 @@ nvidia_ldconfig(){ /sbin/ldconfig #Generate correct symink for that lib /sbin/ldconfig -l $1 - -if [ "$2" = "xorg" ]; then - #Remove so-link, recreated by ldconfig - cd $LIB - remove_link "libGLcore.so.1" - cd $CWD -fi } check(){ @@ -294,26 +276,6 @@ check_includes(){ done } -check_glcore(){ - if [ "$1" = "nvidia" ]; then - CHECK="link" - else - CHECK="exist" - fi - - for i in libGLcore.so.1 libGLcore.so.$NV_VERSION libGLcore.so.$NV_VERSION-nvidia; do - if [ "$i" = "libGLcore.so.1" ]; then - check $LIB $i $CHECK - elif [ "$i" = "libGLcore.so.$NV_VERSION" ]; then - check $LIB $i $CHECK - else - check $LIB $i - fi - done - - echo "" -} - check_glx(){ if [ "$1" = "xorg" ]; then xorg="exist" @@ -392,8 +354,6 @@ nvidia_check(){ check_gl "nvidia" - check_glcore "nvidia" - check_glx check_wfb @@ -404,8 +364,6 @@ xorg_check(){ check_gl - check_glcore - check_glx "xorg" check_wfb @@ -416,8 +374,6 @@ cleanup_check(){ check_gl - check_glcore - check_glx "cleanup" check_wfb @@ -431,7 +387,6 @@ nvidia(){ incs "xorg" "nvidia" lib_nvidia libgl_nvidia - libglcore_nvidia libs "nvidia" libglx_nvidia |