summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/nvidia-driver/README10
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild71
-rw-r--r--system/nvidia-driver/nvidia-driver.info34
-rw-r--r--system/nvidia-driver/nvidia-switch32
4 files changed, 74 insertions, 73 deletions
diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README
index b3d86c2d2f..6baeb9d554 100644
--- a/system/nvidia-driver/README
+++ b/system/nvidia-driver/README
@@ -2,9 +2,12 @@ This is the proprietary binary video driver from NVidia for the X.Org
X-server. This package does not include the kernel-module - it is a
part of the nvidia-kernel package at SlackBuilds.org.
-Installing the 32-bit compatibility libraries is available, so pass
+Installing the 32-bit compatibility libraries is available: if desired, do:
+ COMPAT32="yes" ./nvidia-driver.SlackBuild
-COMPAT32="yes" ./nvidia-driver.SlackBuild
+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.
Since this nvidia-driver conflicts with some files of xorg, it's a bit
complex to install/uninstall the driver. However, installation of the
@@ -31,10 +34,7 @@ to do this, you'll have to do the switch manually, or xorg won't work on next st
Here are the affected files:
/usr/lib/libGL.so.1.2
/usr/lib/xorg/modules/extensions/{libglx.so libglx.la}
-
or, for Slackware64,
-
/usr/lib64/libGL.so.1.2
/usr/lib64/xorg/modules/extensions/{libglx.so libglx.la}
-
Simply remove the dead nvidia symlinks and rename the saved '-xorg' appended files.
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index d46c4f12a0..21be42b368 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for nvidia-driver
# Copyright 2007-2011 Heinz Wiesinger, Amsterdam, The Netherlands
-# Copyright 20011-2012 Edward W. koenig, Vancouver, WA, USA
+# Copyright 2011-2012 Edward W. koenig, Vancouver, WA, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -35,16 +35,16 @@
# 1.7 21-OCT-2011 version bump
# 1.8 24-MAR-2012 version bump, fix to nvidia-switch thanks to Phill W.
# 1.9 02-AUG-2012 version bmp, fixes, updates, nvidia-switch for install/uninstall only
-# 1.9a 21-AUG-2012 fix for libvdpau (per post on mail list) --rworkman
-# 1.9b 10-SEP-2012 fix glx.h missing extension (per email, list and LQ)
-# 1.9c 25-SEP-2012 fix symlinks (thanks to Das via email)
+# 2.0 21-AUG-2012 new version (important security fix), missing vdpau-nvidia, dropped *.h
+# 2.1 25-AUG-2012 new version -Long Lived Branch, fixed symlinks (per Das email)
+# 2.2 22-NOV-2012 new version -Long Lived Branch. Updates: libs, apps
PRGNAM=nvidia-driver
-VERSION=${VERSION:-302.17}
-BUILD=${BUILD:-4}
+VERSION=310.19
+MVERS=310
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
-
-MVERS=$(printf $VERSION | cut -d. -f1)
+CPROXY=${CPROXY:-no}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -102,42 +102,47 @@ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
$PKG/usr/{bin,man/man1,sbin} $PKG/usr/share/{applications,pixmaps} \
$PKG/usr/include/GL
+# Get all the libs to the right place
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
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 libOpenCL.so.1.0.0 $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 libcuda.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
-install -m 755 libnvidia-glcore.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
-install -m 755 libnvidia-wfb.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/libnvidia-wfb.so.$VERSION-nvidia
-install -m 755 libnvidia-cfg.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
-install -m 755 libnvidia-ml.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
install -m 755 libnvcuvid.so.$VERSION $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/
+install -m 755 libnvidia-encode.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
+install -m 755 libnvidia-glcore.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/
+install -m 755 libOpenCL.so.1.0.0 $PKG/usr/lib$LIBDIRSUFFIX/
+
+# For 8-series GPU if libwfb.so is missing (ie older X servers).
+install -m 755 libnvidia-wfb.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/libnvidia-wfb.so.$VERSION-nvidia
+
+# Don't forget separate libvdpau package on SBo.
install -m 755 libvdpau_nvidia.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
+
install -m 644 nvidia.icd $PKG/etc/OpenCL/vendors/
-install -m 755 tls/libnvidia-tls.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/tls/
-install -m 644 gl.h $PKG/usr/include/GL/gl.h-nvidia
-install -m 644 glext.h $PKG/usr/include/GL/glext.h-nvidia
-install -m 644 glx.h $PKG/usr/include/GL/glx.h-nvidia
-install -m 644 glxext.h $PKG/usr/include/GL/glxext.h-nvidia
-# Optional 32-bit support
+# Add optional 32-bit support
if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
mkdir -p $PKG/usr/lib/{tls,vdpau}
+ install -m 755 32/libcuda.so.$VERSION $PKG/usr/lib/
install -m 755 32/libGL.so.$VERSION $PKG/usr/lib/
install -m 755 32/libGL.la $PKG/usr/lib/
+ install -m 755 32/libnvcuvid.so.$VERSION $PKG/usr/lib/
+ install -m 755 32/libnvidia-compiler.so.$VERSION $PKG/usr/lib/
+ install -m 755 32/libnvidia-encode.so.$VERSION $PKG/usr/lib/
install -m 755 32/libnvidia-glcore.so.$VERSION $PKG/usr/lib/
+ install -m 755 32/libnvidia-opencl.so.$VERSION $PKG/usr/lib/
install -m 755 32/libcuda.so.$VERSION $PKG/usr/lib/
install -m 755 32/tls/libnvidia-tls.so.$VERSION $PKG/usr/lib/tls/
install -m 755 32/libOpenCL.so.1.0.0 $PKG/usr/lib/
install -m 755 32/libvdpau_nvidia.so.$VERSION $PKG/usr/lib/
- install -m 755 32/libnvidia-compiler.so.$VERSION $PKG/usr/lib/
fi
# symlinks
@@ -146,13 +151,12 @@ cd $PKG/usr/lib$LIBDIRSUFFIX
ln -s $i.so.$VERSION $i.so.1
ln -s $i.so.1 $i.so
done
- ln -sf libXvMCNVIDIA.so.$VERSION libXvMCNVIDIA_dynamic.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
ln -sf libnvcuvid.so.$VERSION libnvcuvid.so.1
- ln -sf libnvcuvid.so.$VERSION libnvcuvid.so
+ ln -sf libnvcuvid.so.1 libnvcuvid.so
+ ln -sf libvdpau_nvidia.so.$VERSION libvdpau_nvidia.so
ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION
cd -
@@ -166,6 +170,9 @@ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
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
+ ln -sf libnvcuvid.so.$VERSION libnvcuvid.so.1
+ ln -sf libnvcuvid.so.1 libnvcuvid.so
+ ln -sf libvdpau_nvidia.so.$VERSION libvdpau_nvidia.so
ln -sf tls/libnvidia-tls.so.$VERSION libnvidia-tls.so.$VERSION
cd -
fi
@@ -177,6 +184,14 @@ done
install -m 644 nvidia-smi.1.gz $PKG/usr/man/man1/
+# New CUDA proxy server for 64-bit Linux only, and requires a device that supports
+# Unified Virtual Address (UVA) and CUDA 4.0+.
+if [ "$ARCH" = "x86_64" -a "${CPROXY}" = "yes" ]; then
+ install -m 755 nvidia-cuda-proxy-control $PKG/usr/bin/
+ install -m 755 nvidia-cuda-proxy-server $PKG/usr/bin/
+ install -m 644 nvidia-cuda-proxy-control.1.gz $PKG/usr/man/man1/
+fi
+
# Compiling nvidia-installer from source
cd $TMP/nvidia-installer-$VERSION
chown -R root:root .
@@ -224,7 +239,7 @@ cd -
# Bash script to cleanly install (in doinst.sh) and uninstall the nvidia files
# so we don't stomp on the overlapping xorg files.
-# Note: switching "on the fly" no longer supported.
+# Note: switching "on the fly" is no longer supported.
install -m 0755 $CWD/nvidia-switch $PKG/usr/sbin/
sed -i s/PKGVERSION/$VERSION/g $PKG/usr/sbin/nvidia-switch
sed -i s/LIBDIRSUFFIX/$LIBDIRSUFFIX/g $PKG/usr/sbin/nvidia-switch
diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info
index 941d1a183a..09874ecd53 100644
--- a/system/nvidia-driver/nvidia-driver.info
+++ b/system/nvidia-driver/nvidia-driver.info
@@ -1,22 +1,22 @@
PRGNAM="nvidia-driver"
-VERSION="302.17"
+VERSION="310.19"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/302.17/NVIDIA-Linux-x86-302.17.run \
- ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-302.17.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-302.17.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-302.17.tar.bz2"
-MD5SUM="b7f908ea08218df08db06026215ec419 \
- c244f24e9a493ce990ad878c8ccdf59c \
- 8df901011c967cef1f69a83be639e203 \
- 34fbb55cf22bbad6eebd7065bfc0eede"
-DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/302.17/NVIDIA-Linux-x86_64-302.17.run \
- ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-302.17.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-302.17.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-302.17.tar.bz2"
-MD5SUM_x86_64="5b09f013644b93bc6b1a290a2d514142 \
- c244f24e9a493ce990ad878c8ccdf59c \
- 8df901011c967cef1f69a83be639e203 \
- 34fbb55cf22bbad6eebd7065bfc0eede"
+DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/310.19/NVIDIA-Linux-x86-310.19.run \
+ ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-310.19.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-310.19.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-310.19.tar.bz2"
+MD5SUM="2adbdd38540b3a8955714760e05f575d \
+ efd4c421d9bc99033be6e20e476fd1e9 \
+ bcd79ca8d4f806616e206f54a6cc3ab3 \
+ 279d6e0f1649e0f6f65b78c8c820a845"
+DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/310.19/NVIDIA-Linux-x86_64-310.19.run \
+ ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-310.19.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-310.19.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-310.19.tar.bz2"
+MD5SUM_x86_64="0b498d3b2dfd123032cb93196e0f475c \
+ efd4c421d9bc99033be6e20e476fd1e9 \
+ bcd79ca8d4f806616e206f54a6cc3ab3 \
+ 279d6e0f1649e0f6f65b78c8c820a845"
REQUIRES="libvdpau nvidia-kernel"
MAINTAINER="Edward Koenig"
EMAIL="kingbeowulf@gmail.com"
diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch
index 6765010fc7..5b7bd132ca 100644
--- a/system/nvidia-driver/nvidia-switch
+++ b/system/nvidia-driver/nvidia-switch
@@ -23,8 +23,8 @@
# nvidia-switch utility 2.0.0
#
# A tool to install and cleanly remove the nvidia driver without stomping on the xorg files.
-# Note: this tool no longer supports switching drivers "on the fly" only installing and uninstalling
-# the nvidia driver and restoring the original xorg files.
+# 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 COMPAT32
@@ -41,25 +41,6 @@ NV_VERSION='PKGVERSION' # This will be replaced in the build script
GL_VERSION="1.2"
NV_CONF="/usr/share/X11/xorg.conf.d/10-nvidia.conf"
-# Move, rename, restore files in /usr/include/GL
-incs(){
-cd "$INC"
-if [ "$1" = "xorg" ]; then
- for i in glxext.h glext.h glx.h gl.h; do
- rm -f "$i"
- mv "$i-xorg" "$i"
- done
-else
- for i in glxext.h glext.h glx.h gl.h; do
- if [ ! -e "$i-xorg" ]; then
- mv "$i" "$i-xorg"
- fi
- ln -sf "$i-nvidia" "$i"
- done
-fi
-cd "$CWD"
-}
-
save_GL(){
cd "$LIB"
if [ "$1" = "nvidia" ]; then
@@ -84,6 +65,7 @@ save_wfb(){
ln -sf libnvidia-wfb.so.$NV_VERSION-nvidia libnvidia-wfb.so.$NV_VERSION
ln -sf libnvidia-wfb.so.$NV_VERSION libnvidia-wfb.so.1
if [ ! -e libwfb.so ]; then
+ mv libwfb.so libwfb.so-xorg
ln -sf libnvidia-wfb.so.$NV_VERSION libwfb.so
fi
elif [ "$1" = "xorg" ]; then
@@ -91,7 +73,11 @@ save_wfb(){
rm -f libnvidia-wfb.so.1
if [ -L libwfb.so ]; then
rm -f libwfb.so
+ if [ -e libwfb.so-xorg ]; then
+ mv libwfb.so-xorg libwfb.so
+ fi
fi
+
fi
cd "$CWD"
}
@@ -125,7 +111,6 @@ nvidia_install(){
echo "Make sure the nvidia driver is ENABLED in /etc/X11/xorg.conf."
echo "Otherwise, this may lead to improperly working drivers."
- incs
save_GL "nvidia"
save_wfb "nvidia"
save_glx "nvidia"
@@ -138,13 +123,14 @@ nvidia_remove(){
echo $'Returning to stock xorg files!\n'
echo "Make sure the nvidia driver is DISABLED in /etc/X11/xorg.conf"
echo "and in /etc/X11/xorg.conf.d."
+ echo "Don't forget /usr/share/X11/xorg.conf.d/10-nvidia.conf if you use it!"
echo "Otherwise, this may lead to improperly working drivers."
- incs "xorg"
save_GL "xorg"
save_wfb "xorg"
save_glx "xorg"
+
if [ -e $NV_CONF ]; then
rm -f $NV_CONF
fi