From 7600256bae2e1265454e928cbac895ff9f47d83d Mon Sep 17 00:00:00 2001 From: "Edward W. Koenig" Date: Mon, 10 Jul 2017 05:03:28 +0700 Subject: system/nvidia-driver: Fix nvidia-switch. This includes Mario's patch and Gerardo's suggestion. Signed-off-by: Willy Sudiarto Raharjo --- system/nvidia-driver/README | 8 ++++---- system/nvidia-driver/nvidia-driver.SlackBuild | 1 + system/nvidia-driver/nvidia-switch | 22 ++++++++++++++-------- 3 files changed, 19 insertions(+), 12 deletions(-) (limited to 'system/nvidia-driver') diff --git a/system/nvidia-driver/README b/system/nvidia-driver/README index 066a174ec3..f2dbaf6237 100644 --- a/system/nvidia-driver/README +++ b/system/nvidia-driver/README @@ -5,17 +5,17 @@ of the nvidia-kernel package at SlackBuilds.org. Installing the 32-bit compatibility libraries is available: if desired, do: COMPAT32="yes" ./nvidia-driver.SlackBuild -GLVND GLX client libraries are noe the default. If these cause any +GLVND GLX client libraries are now the default. If these cause any compatibility issues with older GLX sofware, either upgrade your software or try: - GLNVD="no" ./nvidia-driver.SlackBuild + GLVND="no" ./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. -For CUDA/OpenCL to work after reboot, you might need to include the -following line in your /etc/rc.d/rc.local: +For CUDA/OpenCL to work after reboot, and for utilites such as nvidia-smi, +you might need to include the following line in your /etc/rc.d/rc.local: -------------8<--------------- # Create missing nvidia device nodes after reboot /usr/bin/nvidia-modprobe -c 0 -u diff --git a/system/nvidia-driver/nvidia-driver.SlackBuild b/system/nvidia-driver/nvidia-driver.SlackBuild index 65d5bc90de..21c2a122c3 100644 --- a/system/nvidia-driver/nvidia-driver.SlackBuild +++ b/system/nvidia-driver/nvidia-driver.SlackBuild @@ -243,6 +243,7 @@ cd $TMP/$SRCNAM --documentation-prefix=$PKG/usr \ --application-profile-path=$PKG/usr/share/nvidia \ --glvnd-egl-config-path=$PKG/etc/X11/glvnd/egl_vendor.d \ + --log-file-name=$PKG/var/log/nvidia-installer.log \ $GLVNDOPT \ $COMP32 diff --git a/system/nvidia-driver/nvidia-switch b/system/nvidia-driver/nvidia-switch index 82eaf53932..6c7a77cce0 100644 --- a/system/nvidia-driver/nvidia-switch +++ b/system/nvidia-driver/nvidia-switch @@ -40,18 +40,20 @@ XLIB="$XMOD/extensions" NV_VERSION="PKGVERSION" # This will be replaced in the build script GL_VERSION="1.2.0" GLVND="GLVNDFLAG" # This will be replaced in the build script (yes | no) -NV_CONF="/usr/share/X11/xorg.conf.d/10-nvidia.conf" -SAVELIBS="/var/log/nvidia" +NV_CONF="${ROOT}usr/share/X11/xorg.conf.d/10-nvidia.conf" +SAVELIBS="${ROOT}var/log/nvidia" save_GL(){ -# backup original mesa and xorg conflicts to /var/lib/nvidia +# backup original mesa and xorg conflicts to /var/log/nvidia cd $2 + # Need to make sure save path is reset incase of multilib + SAVELIBS="${ROOT}var/log/nvidia" if [ "$2" = "$LIB32" ]; then - SAVELIBS="/var/log/nvidia/32" - fi - if [ "$2" = "$LIB" ]; then - SAVELIBS="/var/log/nvidia/64" + SAVELIBS="${SAVELIBS}/32" + elif [ "$2" = "$LIB" ]; then + SAVELIBS="${SAVELIBS}/64" fi + case "$1" in "nvidia") @@ -151,6 +153,10 @@ save_wfb(){ } nvidia_install(){ + if [ ! -d $SAVELIBS ]; then + echo "Creating missing $SAVELIB ..." + mkdir -p $SAVELIBS + fi echo $'Installing to nvidia-driver files!\n' echo "Make sure the nvidia driver is ENABLED in /etc/X11/xorg.conf" echo "and in /etc/X11/xorg.conf.d." @@ -231,7 +237,7 @@ usage(){ echo " --restore Reinstall stock Mesa and xorg-server [EXPERIMENTAL]" echo " mesa-11.2.2, org-server-1.18.3, and optionally" echo " mesa-compat32-11.2.2 are expected in /root/Slackware" - echo " Use 'PKGPATH="" nvidia-switch --restore'" + echo " Use 'PKGPATH=\"\" nvidia-switch --restore'" echo " to override." echo " --help Show this help message" } -- cgit v1.2.3-65-gdbad