summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--system/nvidia-driver/nvidia-driver.SlackBuild20
-rw-r--r--system/nvidia-driver/nvidia-driver.info50
-rw-r--r--system/nvidia-driver/nvidia-switch80
3 files changed, 78 insertions, 72 deletions
diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild
index 7605e1029a..89d51cfa01 100644
--- a/system/nvidia-driver/nvidia-driver.SlackBuild
+++ b/system/nvidia-driver/nvidia-driver.SlackBuild
@@ -45,9 +45,10 @@
# 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
# 3.3 20-NOV-2014 new version (LLB), update libs, fix nvidia-switch
+# 3.4 11-JAN-2015 new version (LLB), monitor detection bug fix, add libEGL/GLES
PRGNAM=nvidia-driver
-VERSION=${VERSION:-340.58}
+VERSION=${VERSION:-340.65}
MVERS=340
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -118,15 +119,18 @@ mkdir -p $PKG/usr/lib$LIBDIRSUFFIX/xorg/modules/{drivers,extensions} \
$PKG/usr/include/GL
# Get all the libs to the right place
-# 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
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 libGL.la $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
+install -m 755 libEGL.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/libEGL.so.$VERSION-nvidia
+install -m 755 libGLESv1_CM.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX/
+install -m 755 libGLESv2.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-eglcore.so.$VERSION $PKG/usr/lib$LIBDIRSUFFIX
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/
@@ -151,9 +155,13 @@ if [ "$ARCH" = "x86_64" -a "${COMPAT32}" = "yes" ]; then
install -m 755 32/libcuda.so.$VERSION $PKG/usr/lib/
install -m 755 32/libGL.so.$VERSION $PKG/usr/lib/libGL.so.$VERSION-nvidia
- install -m 755 32/libGL.la $PKG/usr/lib/
+ install -m 755 32/libGL.la $PKG/usr/lib/libGL.la-nvidia
+ install -m 755 32/libEGL.so.$VERSION $PKG/usr/lib/libEGL.so.$VERSION-nvidia
+ install -m 755 32/libGLESv1_CM.so.$VERSION $PKG/usr/lib/
+ install -m 755 32/libGLESv2.so.$VERSION $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-eglcore.so.$VERSION $PKG/usr/lib/
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/
@@ -314,8 +322,8 @@ else
fi
# These update placeholders and correct wrong paths
-sed -i "s|__LIBGL_PATH__|/usr/lib$LIBDIRSUFFIX/|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
-sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX/|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la
+sed -i "s|__LIBGL_PATH__|/usr/lib$LIBDIRSUFFIX/|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
+sed -i "s|/usr/X11R6/lib|/usr/lib$LIBDIRSUFFIX/|" $PKG/usr/lib$LIBDIRSUFFIX/libGL.la-nvidia
sed -i "s|__UTILS_PATH__|/usr/bin|" \
$PKG/usr/share/applications/nvidia-settings.desktop
sed -i "s|__PIXMAP_PATH__|/usr/share/pixmaps|" \
diff --git a/system/nvidia-driver/nvidia-driver.info b/system/nvidia-driver/nvidia-driver.info
index fe1f02c14d..8c04868c87 100644
--- a/system/nvidia-driver/nvidia-driver.info
+++ b/system/nvidia-driver/nvidia-driver.info
@@ -1,30 +1,30 @@
PRGNAM="nvidia-driver"
-VERSION="340.58"
+VERSION="340.65"
HOMEPAGE="http://www.nvidia.com"
-DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/340.58/NVIDIA-Linux-x86-340.58.run \
- ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.58.tar.bz2"
-MD5SUM="b993f9fc59434140f560e32fd7bd2b3d \
- a536f4ad74620a629c3aecad68c19f63 \
- cb0dc0141f4118efa3d8ca2ae867dbaf \
- 848ac5d824d239b36d8188de4e2584b4 \
- cbe2bf2ebe6267a905ed35d58fbadda3 \
- 30577e2a71ecbd2b30bbb1ab72b4e150"
-DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/340.58/NVIDIA-Linux-x86_64-340.58.run \
- ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.58.tar.bz2 \
- ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.58.tar.bz2"
-MD5SUM_x86_64="26ebeb6f4adb507bb3b573d9e0c0e2f9 \
- a536f4ad74620a629c3aecad68c19f63 \
- cb0dc0141f4118efa3d8ca2ae867dbaf \
- 848ac5d824d239b36d8188de4e2584b4 \
- cbe2bf2ebe6267a905ed35d58fbadda3 \
- 30577e2a71ecbd2b30bbb1ab72b4e150"
+DOWNLOAD="ftp://download.nvidia.com/XFree86/Linux-x86/340.65/NVIDIA-Linux-x86-340.65.run \
+ ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.65.tar.bz2"
+MD5SUM="4aa6039b8543312b41a924bb87b0b2db \
+ 7ac54ac301116588ac0b47a4927ebecb \
+ a8057e9055daaa5ad39c444945321010 \
+ 8a65ade7f7aca6b3caf442307c398261 \
+ 6417b357f4f4d33aec3ea8e6ce71cc41 \
+ 01bd1cba409ebfb16e447e329552b35c"
+DOWNLOAD_x86_64="ftp://download.nvidia.com/XFree86/Linux-x86_64/340.65/NVIDIA-Linux-x86_64-340.65.run \
+ ftp://download.nvidia.com/XFree86/nvidia-installer/nvidia-installer-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-340.65.tar.bz2 \
+ ftp://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-340.65.tar.bz2"
+MD5SUM_x86_64="eff73ec116ce451d76ba2a7a343f89b9 \
+ 7ac54ac301116588ac0b47a4927ebecb \
+ a8057e9055daaa5ad39c444945321010 \
+ 8a65ade7f7aca6b3caf442307c398261 \
+ 6417b357f4f4d33aec3ea8e6ce71cc41 \
+ 01bd1cba409ebfb16e447e329552b35c"
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 b33e532cec..43ab255b57 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.1
+# nvidia-switch utility 2.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
# need to edit a bunch of other config files.
-# TO-DO: Bounds/error checking
+# TO-DO: needs cleanup; too "wordy" and brittle.
set -e
@@ -44,23 +44,44 @@ GL_VERSION="1.2.0"
NV_CONF="/usr/share/X11/xorg.conf.d/10-nvidia.conf"
save_GL(){
- cd "$LIB"
+ cd $2
if [ "$1" = "nvidia" ]; then
if [ ! -e libGL.so.$GL_VERSION-xorg ]; then
mv libGL.so.$GL_VERSION libGL.so.$GL_VERSION-xorg
+ mv libGL.la libGL.la-xorg
fi
mv libGL.so.$NV_VERSION-nvidia libGL.so.$NV_VERSION
ln -sf libGL.so.$NV_VERSION libGL.so.1
ln -sf libGL.so.$NV_VERSION libGL.so
+ if [ ! -e libEGL.so.1.0.0-xorg ]; then
+ mv libEGL.so.1.0.0 libEGL.so.1.0.0-xorg
+ fi
+ mv libGL.la-nvidia libGL.la
+ mv libEGL.so.$NV_VERSION-nvidia libEGL.so.$NV_VERSION
+ ln -sf libEGL.so.$NV_VERSION libGEL.so.1.0.0
+ ln -sf libEGL.so.$NV_VERSION libEGL.so.1
+ ln -sf libEGL.so.$NV_VERSION libEGL.so
fi
-
+
if [ "$1" = "xorg" ]; then
- if [ -e libGL.so.$GL_VERSION-xorg ]; then
- mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
- ln -sf libGL.so.$GL_VERSION libGL.so.1
- ln -sf libGL.so.$GL_VERSION libGL.so
- fi
- mv libGL.so.$NV_VERSION libGL.so.$NV_VERSION-nvidia
+ mv libGL.so.$NV_VERSION libGL.so.$NV_VERSION-nvidia
+ mv libGL.la libGL.la-nvidia
+ if [ -e libGL.so.$GL_VERSION-xorg ]; then
+ mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
+ ln -sf libGL.so.$GL_VERSION libGL.so.1
+ ln -sf libGL.so.$GL_VERSION libGL.so
+ mv libGL.la-xorg libGL.la
+ else
+ echo WARNING: libGL.so is missing.
+ fi
+ mv libEGL.so.$NV_VERSION libEGL.so.$NV_VERSION-nvidia
+ if [ -e libEGL.so.1.0.0-xorg ]; then
+ mv libEGL.so.1.0.0-xorg libEGL.so.1.0.0
+ ln -sf libEGL.so.1.0.0 libEGL.so.1
+ ln -sf libEGL.so.1.0.0 libEGL.so
+ mv libEGL.la-xorg libEGL.la
+ fi
+
fi
cd "$CWD"
}
@@ -105,29 +126,6 @@ save_glx(){
cd "$CWD"
}
-multilib(){
-# rejigger multilib paths/links
- cd $LIB32
- if [ "$1" = "nvidia" ]; then
- if [ ! -e libGL.so.$GL_VERSION-xorg ]; then
- mv libGL.so.$GL_VERSION libGL.so.$GL_VERSION-xorg
- fi
- mv libGL.so.$NV_VERSION-nvidia libGL.so.$NV_VERSION
- ln -sf libGL.so.$NV_VERSION libGL.so.1
- ln -sf libGL.so.$NV_VERSION libGL.so
- fi
-
- if [ "$1" = "xorg" ]; then
- if [ -e libGL.so.$GL_VERSION-xorg ]; then
- mv libGL.so.$GL_VERSION-xorg libGL.so.$GL_VERSION
- ln -sf libGL.so.$GL_VERSION libGL.so.1
- ln -sf libGL.so.$GL_VERSION libGL.so
- fi
- mv libGL.so.$NV_VERSION libGL.so.$NV_VERSION-nvidia
- fi
- cd "$CWD"
-}
-
nvidia_ldconfig(){
/sbin/ldconfig
#Generate correct symink for that lib
@@ -140,16 +138,16 @@ nvidia_install(){
echo "and in /etc/X11/xorg.conf.d."
echo "Otherwise, this may lead to improperly working drivers."
- save_GL "nvidia"
+ save_GL "nvidia" $LIB
save_wfb "nvidia"
save_glx "nvidia"
# Check for multilib configuration
if [ "$COMPAT32" = "yes" ]; then
- multilib "nvidia"
+ save_GL "nvidia" $LIB32
fi
- LD_NVIDIA="${LIB}/libGL.so.$NV_VERSION"
- nvidia_ldconfig $LD_NVIDIA
+# LD_NVIDIA="${LIB}/libGL.so.$NV_VERSION"
+# nvidia_ldconfig $LD_NVIDIA
}
nvidia_remove(){
@@ -158,20 +156,20 @@ nvidia_remove(){
echo "and in /etc/X11/xorg.conf.d."
echo "Otherwise, this may lead to improperly working drivers."
- save_GL "xorg"
+ save_GL "xorg" $LIB
save_wfb "xorg"
save_glx "xorg"
# Check for multilib configuration
if [ "$COMPAT32" = "yes" ]; then
- multilib "xorg"
+ save_GL "xorg" $LIB32
fi
if [ -e $NV_CONF ]; then
rm -f $NV_CONF
fi
- LD_NVIDIA="${LIB}/libGL.so.$GL_VERSION"
- nvidia_ldconfig $LD_NVIDIA
+# LD_NVIDIA="${LIB}/libGL.so.$GL_VERSION"
+# nvidia_ldconfig $LD_NVIDIA # screws up multilub /usr/lib links?
}
usage(){