aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/nvidia-driver/README4
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild131
-rw-r--r--system/nvidia-driver/nvidia-driver.info12
-rw-r--r--system/nvidia-driver/nvidia-switch51
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