File switch-libGL.sh of Package dkms-nvidia
#!/bin/bash
#
#
#
# Check rights
#
if (( EUID != 0 )); then
echo "You do not have sufficient privileges to switch the libGL and libGLESv2 library"
echo
if which sudo &>/dev/null; then
echo "Please run: sudo $0 [ mesa | nvidia ] [ 32 | 64 ]"
else
echo "Please run $0 [ mesa | nvidia ] [ 32 | 64 ] as root"
fi
echo
exit 1
fi
#
# Library names
#
MESA_LIBGL=libGL.so.1.2.0
MESA_LIBGLESV2=libGLESv2.so.2.0.0
NVIDIA_LIBGL=libGL.so.nvidia_version
NVIDIA_LIBGLESV2=libGLESv2.so.nvidia_version
#
# 32bit switch libGL.so
#
if [ -f /usr/lib/$MESA_LIBGL ] && ( [ "x$2" == "x" ] || [ "x$2" == "x32" ] ) ; then
if ( [ "x$1" == "x" ] || [ "x$1" == "xmesa" ] ) && [ -L /usr/lib/$MESA_LIBGL ] ; then
#
# Switch to Mesa
#
rm -f /usr/lib/$MESA_LIBGL
mv -f /usr/lib/nvidia/$MESA_LIBGL.backup /usr/lib/$MESA_LIBGL
elif ( [ "x$1" == "x" ] || [ "x$1" == "xnvidia" ] ) && [ ! -L /usr/lib/$MESA_LIBGL ] ; then
#
# Switch to nVidia
#
mv -f /usr/lib/$MESA_LIBGL /usr/lib/nvidia/$MESA_LIBGL.backup
ln -sf /usr/lib/nvidia/$NVIDIA_LIBGL /usr/lib/$MESA_LIBGL
fi
fi
#
# 32bit switch libGLESv2.so
#
if [ -f /usr/lib/$MESA_LIBGLESV2 ] && ( [ "x$2" == "x" ] || [ "x$2" == "x32" ] ) ; then
if ( [ "x$1" == "x" ] || [ "x$1" == "xmesa" ] ) && [ -L /usr/lib/$MESA_LIBGLESV2 ] ; then
#
# Switch to Mesa
#
rm -f /usr/lib/$MESA_LIBGLESV2
mv -f /usr/lib/nvidia/$MESA_LIBGLESV2.backup /usr/lib/$MESA_LIBGLESV2
elif ( [ "x$1" == "x" ] || [ "x$1" == "xnvidia" ] ) && [ ! -L /usr/lib/$MESA_LIBGLESV2 ] ; then
#
# Switch to nVidia
#
mv -f /usr/lib/$MESA_LIBGLESV2 /usr/lib/nvidia/$MESA_LIBGLESV2.backup
ln -sf /usr/lib/nvidia/$NVIDIA_LIBGLESV2 /usr/lib/$MESA_LIBGLESV2
fi
fi
if [ "`uname -m`" != "x86_64" ] ; then
exit 0
fi
#
# 64bit switch libGL.so
#
if [ -f /usr/lib64/$MESA_LIBGL ] && ( [ "x$2" == "x" ] || [ "x$2" == "x64" ] ) ; then
if ( [ "x$1" == "x" ] || [ "x$1" == "xmesa" ] ) && [ -L /usr/lib64/$MESA_LIBGL ] ; then
#
# Switch to Mesa
#
rm -f /usr/lib64/$MESA_LIBGL
mv -f /usr/lib64/nvidia/$MESA_LIBGL.backup /usr/lib64/$MESA_LIBGL
elif ( [ "x$1" == "x" ] || [ "x$1" == "xnvidia" ] ) && [ ! -L /usr/lib64/$MESA_LIBGL ] ; then
#
# Switch to nVidia
#
mv -f /usr/lib64/$MESA_LIBGL /usr/lib64/nvidia/$MESA_LIBGL.backup
ln -sf /usr/lib64/nvidia/$NVIDIA_LIBGL /usr/lib64/$MESA_LIBGL
fi
fi
#
# 64bit switch libGLESv2.so
#
if [ -f /usr/lib64/$MESA_LIBGLESV2 ] && ( [ "x$2" == "x" ] || [ "x$2" == "x64" ] ) ; then
if ( [ "x$1" == "x" ] || [ "x$1" == "xmesa" ] ) && [ -L /usr/lib64/$MESA_LIBGLESV2 ] ; then
#
# Switch to Mesa
#
rm -f /usr/lib64/$MESA_LIBGLESV2
mv -f /usr/lib64/nvidia/$MESA_LIBGLESV2.backup /usr/lib64/$MESA_LIBGLESV2
elif ( [ "x$1" == "x" ] || [ "x$1" == "xnvidia" ] ) && [ ! -L /usr/lib64/$MESA_LIBGLESV2 ] ; then
#
# Switch to nVidia
#
mv -f /usr/lib64/$MESA_LIBGLESV2 /usr/lib64/nvidia/$MESA_LIBGLESV2.backup
ln -sf /usr/lib64/nvidia/$NVIDIA_LIBGLESV2 /usr/lib64/$MESA_LIBGLESV2
fi
fi
exit 0