diff options
-rw-r--r-- | system/nvidia-driver/nvidia-driver.SlackBuild | 20 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-driver.info | 50 | ||||
-rw-r--r-- | system/nvidia-driver/nvidia-switch | 80 |
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(){ |