Compare commits
66 Commits
Author | SHA1 | Date |
---|---|---|
Kolan Sh | 87b1bc751a | |
Kolan Sh | 906db09e41 | |
Kolan Sh | 115c5151f1 | |
Kolan Sh | 1e312098ae | |
Kolan Sh | 3dcdfa10ec | |
Kolan Sh | b367e25435 | |
Kolan Sh | 24badcb2fb | |
Kolan Sh | 74f4dacc9a | |
Kolan Sh | 8ebb0c6f90 | |
Kolan Sh | 82b80f6038 | |
Kolan Sh | 13acbebb29 | |
Kolan Sh | 1e5cf1fa07 | |
Kolan Sh | 54c0ab5125 | |
Kolan Sh | ff414cebfd | |
Kolan Sh | 9b3e0113ca | |
Kolan Sh | b0a367d8cd | |
Kolan Sh | b82852047e | |
Kolan Sh | 7347ff2e9a | |
Kolan Sh | eb8b54f5ac | |
Kolan Sh | 25cc887c25 | |
Kolan Sh | 4d6bf1b256 | |
Kolan Sh | 5b59f169e3 | |
Kolan Sh | 80028b2005 | |
Kolan Sh | 4a2acbbf06 | |
Kolan Sh | 3e4ea058b8 | |
Kolan Sh | a15b1d2117 | |
Kolan Sh | a374be74ce | |
Kolan Sh | 59b4525a81 | |
Kolan Sh | 75eb8f9fdb | |
Kolan Sh | f29f8fa32a | |
Kolan Sh | e2a6252c76 | |
Kolan Sh | 695ecc7306 | |
Kolan Sh | 93d452832e | |
Kolan Sh | 8e077bbba3 | |
Kolan Sh | 84be3fa6e3 | |
Kolan Sh | d7fce6d10f | |
Kolan Sh | d100e88e36 | |
Kolan Sh | b9586b1870 | |
Kolan Sh | 39ea202df2 | |
Kolan Sh | 969eb80026 | |
Kolan Sh | 16bb1e08e4 | |
kolan | 70c774de20 | |
kolan | 9e2d683478 | |
Kolan Sh | b040c57d84 | |
Kolan Sh | c84542b1cf | |
Kolan Sh | f8a5cb7ecb | |
Kolan Sh | 905823610d | |
Kolan Sh | 2afa920ce7 | |
Kolan Sh | 30981196a3 | |
Kolan Sh | 29e2e510c2 | |
Kolan Sh | 5cb8cce033 | |
Kolan Sh | 2c348e50fe | |
Kolan Sh | 81b9877b2e | |
Kolan Sh | 4aef233f2b | |
kolan | c37ed3c8e0 | |
Kolan Sh | 47ea4e747a | |
kolan | 1431123410 | |
kolan | 8e7f3f3332 | |
Kolan Sh | 6a6558d99d | |
Kolan Sh | 2b98295e12 | |
Kolan Sh | 21cddd9d2b | |
Kolan Sh | deae038661 | |
Kolan Sh | f6bb5d475b | |
Kolan Sh | 1c3cd44d3f | |
Kolan Sh | 798409ddbc | |
Kolan Sh | f5f24b84f0 |
23
Makefile
23
Makefile
|
@ -11,6 +11,13 @@ install:
|
|||
install -d ${DESTDIR}/${PREFIX}/sbin
|
||||
install sbin/* ${DESTDIR}/${PREFIX}/sbin
|
||||
if test x86_64 = `uname -m` ; then \
|
||||
if test -d /usr/lib32 ; then \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib32; \
|
||||
install lib32/*.so ${DESTDIR}/${PREFIX}/lib32; \
|
||||
else \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib; \
|
||||
install lib32/*.so ${DESTDIR}/${PREFIX}/lib; \
|
||||
fi; \
|
||||
if test -d /usr/lib64 ; then \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib64; \
|
||||
install lib64/*.so ${DESTDIR}/${PREFIX}/lib64; \
|
||||
|
@ -21,16 +28,21 @@ install:
|
|||
if test ! -d /usr/lib ; then \
|
||||
ln -sf lib64 /usr/lib; \
|
||||
fi; \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib/snail; \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib/snail/lib32; \
|
||||
else \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib; \
|
||||
install lib32/*.so ${DESTDIR}/${PREFIX}/lib; \
|
||||
install -d ${DESTDIR}/${PREFIX}/lib/snail; \
|
||||
fi; \
|
||||
install -d ${DESTDIR}/${PREFIX}/share; \
|
||||
install -d ${DESTDIR}/${PREFIX}/share/snail; \
|
||||
install -d ${DESTDIR}/${PREFIX}/share/snail/init.d; \
|
||||
install share/init.d/* ${DESTDIR}/${PREFIX}/share/snail/init.d
|
||||
install share/init.d/* ${DESTDIR}/${PREFIX}/share/snail/init.d ; \
|
||||
if test -d /lib/modules/`uname -r` ; then \
|
||||
mkdir -p ${DESTDIR}/lib/modules/`uname -r`/video \
|
||||
touch ${DESTDIR}/lib/modules/`uname -r`/video/snail_autorebuild ; \
|
||||
elif test -d /lib64/modules/`uname -r` ; then \
|
||||
mkdir -p ${DESTDIR}/lib64/modules/`uname -r`/video \
|
||||
touch ${DESTDIR}/lib64/modules/`uname -r`/video/snail_autorebuild ; \
|
||||
fi
|
||||
|
||||
uninstall:
|
||||
rm -f ${DESTDIR}/etc/X11/xorg.conf.*.snail
|
||||
|
@ -40,6 +52,9 @@ uninstall:
|
|||
rm -f ${DESTDIR}/${PREFIX}/lib/libgefaker.so
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib/librrfaker.so
|
||||
rm -rf ${DESTDIR}/${PREFIX}/lib/snail
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib32/libdlfaker.so
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib32/libgefaker.so
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib32/librrfaker.so
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib64/libdlfaker.so
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib64/libgefaker.so
|
||||
rm -f ${DESTDIR}/${PREFIX}/lib64/librrfaker.so
|
||||
|
|
2
README
2
README
|
@ -5,6 +5,7 @@ Features
|
|||
Auto power off for second X-server and nVidia chip.
|
||||
Easy installation (look at Wiki).
|
||||
Multiuser access.
|
||||
Multilib support.
|
||||
Run in a way nvrun app.
|
||||
|
||||
Tested distros
|
||||
|
@ -13,6 +14,7 @@ Tested distros
|
|||
Debian Squeeze amd64
|
||||
Debian Wheezy amd64
|
||||
Fedora 16 (Verne) x86_64
|
||||
Ubuntu 12.04 x86_64
|
||||
|
||||
Supported Models: All that supported by bbswitch, vgaswitcheroo (most of laptops with recent Linux kernel) + several by acpi_call (M11XR2, 1015PN, 1215N,
|
||||
K42Jc, K52Jc, N53Jf, N53Jg, N71Jv, N73Jf, P52Jc, PL80Jt, U30Jc, U33Jc, U35Jc, U36Jc, UL80Jt, N53Sn, U41Sv, N53Sv, N61Jv, N73Sv, P31Jg, U43Jc, UL30Vt, E6420,
|
||||
|
|
32
bin/nvrun
32
bin/nvrun
|
@ -2,26 +2,34 @@
|
|||
|
||||
PATH=/usr/local/sbin:/usr/local/bin:$PATH
|
||||
|
||||
TIMEOUT=10 # wait timeout for X server start
|
||||
let INTEL_IF_FAIL=1 # run on Intel if nVidia fails
|
||||
TIMEOUT=8 # wait timeout for X server start
|
||||
|
||||
LOCK_FILE=/tmp/.snail.lock
|
||||
FIFO_FILE=/tmp/.snail.fifo
|
||||
|
||||
[ ! -f $LOCK_FILE ] && echo "Snail daemon is not running. Please start it." && exit -1
|
||||
|
||||
{
|
||||
echo -n > $FIFO_FILE &
|
||||
flock -w $TIMEOUT -s 9
|
||||
flock -w 1 -s 9
|
||||
if [ 0 -ne $? ]; then
|
||||
(nohup echo -n > $FIFO_FILE &>/dev/null)&
|
||||
flock -w $TIMEOUT -s 9
|
||||
fi
|
||||
|
||||
if [ 0 -eq $? ]; then
|
||||
echo "Running $@ on nVidia"
|
||||
export LD_LIBRARY_PATH=/usr/lib/snail
|
||||
snail.vglrun -d :8293 "$@"
|
||||
echo "Application $@ was performed on nVidia"
|
||||
echo "Trying to run $@ on nVidia"
|
||||
export LD_LIBRARY_PATH=/usr/lib/snail
|
||||
LD_PRELOAD="/usr/lib/snail/lib32/libGL.so.1 \
|
||||
/usr/lib/snail/lib32/libnvidia-tls.so \
|
||||
/usr/lib/snail/lib32/libnvidia-glcore.so" \
|
||||
snail.vglrun -d :8293 "$@" 2>/dev/null \
|
||||
&& echo "Application $@ was performed on nVidia ;-)" && exit 0
|
||||
|
||||
elif [ 0 -ne $INTEL_IF_FAIL ]; then
|
||||
echo "Running $@ on Intel"
|
||||
"$@"
|
||||
echo "Application $@ was performed on Intel"
|
||||
echo "nvrun $@ returns an error. Here is nVidia X-server error log:"
|
||||
grep '] (EE) ' /var/log/Xorg.8293.log
|
||||
|
||||
else
|
||||
echo "Timout received for 'power on' request to Snail-daemon ;-("
|
||||
fi
|
||||
|
||||
flock -u 9
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=4
|
||||
inherit eutils
|
||||
|
||||
DESCRIPTION="Snail - nVidia Optimus support"
|
||||
|
||||
SRC_URI="ftp://backbone.ws/projects/snail/${P}.tar.bz2"
|
||||
|
||||
HOMEPAGE="https://chili.backbone.ws/projects/snail"
|
||||
|
||||
KEYWORDS="-* ~x86 ~amd64"
|
||||
|
||||
SLOT="0"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
|
||||
IUSE=""
|
||||
|
||||
DEPEND="x11-drivers/nvidia-drivers
|
||||
sys-apps/dmidecode"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_install() {
|
||||
emake install DESTDIR="${D}" || die
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
snail.configure
|
||||
}
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
DIST snail-1.2.6.tar.bz2 628927 RMD160 64a1c556fc72729ea19e25355769b528187d9542 SHA1 d7381c4c86dcd3c08ceb8d88e2a882aafa90a9d7 SHA256 3b4f81d3a2b46281bf494343ecdf0980b231cfe558e57f1403ea873ddcc35196
|
||||
EBUILD snail-1.2.6.ebuild 976 RMD160 3f6d32cf30f0f98ef51a6c18c8a2912baca69e62 SHA1 413f601abf3b8ce458e07b8dfd3f49012d769fd1 SHA256 0d623003f723d520a901af0d096c7055a33b69427f9394788230605898e22d42
|
||||
EBUILD snail-9999.ebuild 919 RMD160 406c48d01df438632f76564877867da5c300e2ea SHA1 af8e6f07f6846800ac4695b68da5f4a0daf1e929 SHA256 6f3866d6f6c5466627563042425a2dc7d1144a64d6edb04c1e57a0be676263d1
|
|
@ -0,0 +1,53 @@
|
|||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/backbone/snail.git"}
|
||||
inherit git-2
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="ftp://backbone.ws/projects/snail/${P}.tar.bz2"
|
||||
KEYWORDS="-* ~x86 ~amd64"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Snail - nVidia Optimus support"
|
||||
|
||||
SRC_URI="ftp://backbone.ws/projects/snail/${P}.tar.bz2"
|
||||
|
||||
HOMEPAGE="https://chili.backbone.ws/projects/snail"
|
||||
|
||||
SLOT="0"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
|
||||
IUSE=""
|
||||
|
||||
DEPEND="x11-drivers/nvidia-drivers
|
||||
sys-power/bbswitch
|
||||
sys-apps/dmidecode"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
# Allow user patches to be applied without modifying the ebuild
|
||||
epatch_user
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
emake install DESTDIR="${D}"
|
||||
else
|
||||
emake install DESTDIR="${D}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
snail.configure
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
# Copyright 1999-2011 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=4
|
||||
|
||||
inherit eutils
|
||||
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
EGIT_REPO_URI=${EGIT_REPO_URI:-"git://github.com/backbone/snail.git"}
|
||||
inherit git-2
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="ftp://backbone.ws/projects/snail/${P}.tar.bz2"
|
||||
KEYWORDS="-* ~x86 ~amd64"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Snail - nVidia Optimus support"
|
||||
|
||||
HOMEPAGE="https://chili.backbone.ws/projects/snail"
|
||||
|
||||
SLOT="0"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
|
||||
IUSE=""
|
||||
|
||||
DEPEND="x11-drivers/nvidia-drivers
|
||||
sys-power/bbswitch
|
||||
sys-apps/dmidecode"
|
||||
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
# Allow user patches to be applied without modifying the ebuild
|
||||
epatch_user
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ ${PV} == "9999" ]] ; then
|
||||
emake install DESTDIR="${D}"
|
||||
else
|
||||
emake install DESTDIR="${D}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
snail.configure
|
||||
}
|
|
@ -20,6 +20,15 @@ FIFO_FILE=/tmp/.snail.fifo
|
|||
|
||||
$XSERVER_STOP_CMD && snail.nv_pwr_off # stop X service
|
||||
|
||||
sigterm ()
|
||||
{
|
||||
rm -f $LOCK_FILE
|
||||
rm -f $FIFO_FILE
|
||||
exit 0
|
||||
}
|
||||
|
||||
trap sigterm SIGTERM
|
||||
|
||||
touch $LOCK_FILE && chown root:video $LOCK_FILE && chmod 660 $LOCK_FILE # create lock file
|
||||
rm -f $FIFO_FILE && mkfifo --mode 660 $FIFO_FILE && chgrp video $FIFO_FILE # create fifo
|
||||
|
||||
|
@ -29,8 +38,10 @@ rm -f $FIFO_FILE && mkfifo --mode 660 $FIFO_FILE && chgrp video $FIFO_FILE # cre
|
|||
|
||||
while [ 1 ]; do
|
||||
read <$FIFO_FILE
|
||||
echo >$FIFO_FILE | cat $FIFO_FILE >/dev/null # flush fifo
|
||||
snail.nv_pwr_on && $XSERVER_START_CMD # starting X server
|
||||
flock -u 9
|
||||
echo >$FIFO_FILE | cat $FIFO_FILE >/dev/null # flush fifo
|
||||
flock 9
|
||||
echo >$FIFO_FILE | cat $FIFO_FILE >/dev/null # flush fifo
|
||||
$XSERVER_STOP_CMD && snail.nv_pwr_off # stopping X server
|
||||
|
|
|
@ -11,16 +11,18 @@ elif [ -f /sys/kernel/debug/vgaswitcheroo/switch ]; then
|
|||
echo "vgaswitcheroo is OK! ;-)"
|
||||
else
|
||||
echo "No bbswitch/acpi_call/vgaswitcheroo found. Please configure/install one of them! ;-("
|
||||
echo "Also You can run 'snail.configure' manually when the problem is resolved."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
echo "Test for nVidia driver"
|
||||
snail.nv_pwr_on && snail.nv_pwr_off
|
||||
modinfo nvidia &>/dev/null || modinfo nvidia-current &>/dev/null
|
||||
if [ 0 -eq $? ]; then
|
||||
echo "nVidia driver is OK! ;-)"
|
||||
echo "nVidia kernel module found! ;-)"
|
||||
else
|
||||
echo "Test failed ;-("
|
||||
echo "nVidia kernel module not found ;-("
|
||||
echo "Probably you need to install standart nVidia driver or make a bug report..."
|
||||
echo "Also You can run 'snail.configure' manually when the problem is resolved."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
|
@ -29,7 +31,7 @@ which dmidecode &>/dev/null
|
|||
if [ 0 -eq $? ]; then
|
||||
echo "dmidecode utility is OK! ;-)"
|
||||
else
|
||||
echo "Please install dmidecode and run the script again."
|
||||
echo "Please install dmidecode and run the 'snail.configure' script again."
|
||||
exit -1
|
||||
fi
|
||||
|
||||
|
@ -98,6 +100,8 @@ echo "DISTRIB_CODENAME=$DISTRIB_CODENAME"
|
|||
|
||||
SNAIL_INIT_D_PATH=/usr/share/snail/init.d
|
||||
echo "Copying system init scripts (SysV/OpenRC/Systemd), start snail-watcher, configuring kernel modules and OpenGL libraries"
|
||||
rm -f /usr/lib/snail/* &>/dev/null
|
||||
rm -f /usr/lib/snail/lib32/* &>/dev/null
|
||||
case "$DISTRIB_ID" in
|
||||
"gentoo")
|
||||
cp -f $SNAIL_INIT_D_PATH/snail-watcher.openrc /etc/init.d/snail-watcher
|
||||
|
@ -113,15 +117,17 @@ case "$DISTRIB_ID" in
|
|||
|
||||
eselect opengl set xorg-x11
|
||||
for arch in 32bit 64bit; do
|
||||
for chip in i915 i965 r300 r600 sw; do
|
||||
for chip in i915 i965 sw; do
|
||||
eselect mesa set $arch $chip classic &>/dev/null;
|
||||
done;
|
||||
done
|
||||
ln -sf /usr/lib/opengl/nvidia/lib/libGL.so.[0-9][0-9]* /usr/lib/snail/libGL.so.1
|
||||
ln -sf /usr/lib32/opengl/nvidia/lib/libGL.so.1 /usr/lib/snail/lib32/libGL.so.1
|
||||
ln -sf /usr/lib/xorg/modules/libfb.so /usr/lib/snail/libfb.so
|
||||
ln -sf /usr/lib/xorg/modules/libwfb.so /usr/lib/snail/libwfb.so
|
||||
ln -sf /usr/lib/opengl/nvidia/extensions/libglx.so.[0-9][0-9]* /usr/lib/snail/libglx.so
|
||||
ln -sf /usr/lib/opengl/nvidia/lib/libnvidia-tls.so.[0-9][0-9]* /usr/lib/snail/
|
||||
ln -sf /usr/lib32/opengl/nvidia/lib/libnvidia-tls.so /usr/lib/snail/lib32/libnvidia-tls.so
|
||||
ln -sf /usr/lib/xorg/modules/drivers/nvidia_drv.so /usr/lib/snail/nvidia_drv.so
|
||||
;;
|
||||
|
||||
|
@ -131,6 +137,7 @@ case "$DISTRIB_ID" in
|
|||
update-rc.d snail-xserver remove
|
||||
update-rc.d snail-watcher defaults
|
||||
/etc/init.d/snail-xserver stop
|
||||
/etc/init.d/snail-watcher stop
|
||||
/etc/init.d/snail-watcher start
|
||||
|
||||
grep '^bbswitch$' /etc/modules || echo bbswitch >> /etc/modules
|
||||
|
@ -165,6 +172,13 @@ case "$DISTRIB_ID" in
|
|||
mv -f /usr/lib/libGL.so.* /tmp
|
||||
apt-get install --reinstall libgl1-mesa-glx
|
||||
mv -f /tmp/libGL.so.* /usr/lib
|
||||
|
||||
rm -f /usr/lib32/libGL.so.1
|
||||
rm -f /usr/lib32/libGL.so
|
||||
ln -sf libGL.so.1.2 /usr/lib32/libGL.so.1
|
||||
ln -sf libGL.so.1 /usr/lib32/libGL.so
|
||||
ln -sf /usr/lib32/libGL.so.[0-9][0-9]* /usr/lib/snail/lib32/libGL.so.1
|
||||
ln -sf /usr/lib32/tls/libnvidia-tls.so.[0-9][0-9]* /usr/lib/snail/lib32/libnvidia-tls.so
|
||||
fi
|
||||
;;
|
||||
|
||||
|
@ -173,6 +187,10 @@ case "$DISTRIB_ID" in
|
|||
ln -sf /usr/lib/mesa-diverted/x86_64-linux-gnu/libGL.so.1 /etc/alternatives/glx--libGL.so.1-x86_64-linux-gnu
|
||||
rm -f /etc/alternatives/glx--linux-libglx.so
|
||||
ln -sf /usr/lib/xorg/modules/extensions/libglx.so /etc/alternatives/glx--linux-libglx.so
|
||||
rm -f /etc/alternatives/ia32-libGL.so.1
|
||||
ln -sf /usr/lib32/nvidia/diversions/libGL.so.1.2 /etc/alternatives/ia32-libGL.so.1
|
||||
rm -f /etc/alternatives/ia32-libGL.so
|
||||
ln -sf /usr/lib32/nvidia/diversions/libGL.so.1.2 /etc/alternatives/ia32-libGL.so
|
||||
|
||||
ln -sf /usr/lib/xorg/modules/libfb.so /usr/lib/snail/libfb.so
|
||||
ln -sf /usr/lib/xorg/modules/libwfb.so /usr/lib/snail/libwfb.so
|
||||
|
@ -180,6 +198,7 @@ case "$DISTRIB_ID" in
|
|||
ln -sf /usr/lib/x86_64-linux-gnu/nvidia/current/libGL.so.1 /usr/lib/snail/libGL.so.1
|
||||
ln -sf /etc/alternatives/nvidia/libglx.so /usr/lib/snail/libglx.so
|
||||
ln -sf /usr/lib/nvidia/nvidia/nvidia_drv.so /usr/lib/snail/nvidia_drv.so
|
||||
ln -sf /usr/lib32/nvidia/libGL.so.1 /usr/lib/snail/lib32/libGL.so.1
|
||||
;;
|
||||
|
||||
*)
|
||||
|
@ -195,6 +214,7 @@ case "$DISTRIB_ID" in
|
|||
update-rc.d snail-xserver remove
|
||||
update-rc.d snail-watcher defaults
|
||||
/etc/init.d/snail-xserver stop
|
||||
/etc/init.d/snail-watcher stop
|
||||
/etc/init.d/snail-watcher start
|
||||
|
||||
grep '^bbswitch$' /etc/modules || echo bbswitch >> /etc/modules
|
||||
|
@ -213,6 +233,12 @@ case "$DISTRIB_ID" in
|
|||
ln -sf /usr/lib/nvidia-current/tls/libnvidia-tls.so.[0-9][0-9]* /usr/lib/snail/
|
||||
ln -sf /usr/lib/xorg/modules/libwfb.so /usr/lib/snail/libwfb.so
|
||||
ln -sf /usr/lib/nvidia-current/xorg/nvidia_drv.so /usr/lib/snail/nvidia_drv.so
|
||||
|
||||
rm -f /etc/alternatives/i386-linux-gnu_gl_conf
|
||||
ln -sf /usr/lib/i386-linux-gnu/mesa/ld.so.conf /etc/alternatives/i386-linux-gnu_gl_conf
|
||||
ln -sf /usr/lib32/nvidia-current/libGL.so.1 /usr/lib/snail/lib32/libGL.so.1
|
||||
ln -sf /usr/lib32/nvidia-current/tls/libnvidia-tls.so.[0-9][0-9]* /usr/lib/snail/lib32/libnvidia-tls.so
|
||||
ln -sf /usr/lib32/nvidia-current/libnvidia-glcore.so.[0-9][0-9]* /usr/lib/snail/lib32/libnvidia-glcore.so
|
||||
;;
|
||||
|
||||
*)
|
||||
|
@ -230,6 +256,8 @@ case "$DISTRIB_ID" in
|
|||
cp -f $SNAIL_INIT_D_PATH/snail-watcher.systemd /etc/systemd/system/snail-watcher.service
|
||||
cp -f $SNAIL_INIT_D_PATH/snail-xserver.systemd /etc/systemd/system/snail-xserver.service
|
||||
systemctl --system daemon-reload
|
||||
systemctl stop snail-xserver.service
|
||||
systemctl stop snail-watcher.service
|
||||
systemctl start snail-watcher.service
|
||||
systemctl enable snail-watcher.service
|
||||
ln -sf /usr/lib64/xorg/modules/libfb.so /usr/lib/snail/libfb.so
|
||||
|
@ -239,6 +267,7 @@ case "$DISTRIB_ID" in
|
|||
rm -f /usr/lib64/nvidia/libGL.so.1
|
||||
ln -sf /usr/lib64/nvidia/libGL.so.[0-9][0-9]* /usr/lib/snail/libGL.so.1
|
||||
ln -sf /usr/lib64/xorg/modules/extensions/nvidia/libglx.so.[0-9][0-9]* /usr/lib/snail/libglx.so
|
||||
ln -sf /usr/lib/nvidia/libGL.so.1 /usr/lib/snail/lib32/libGL.so.1
|
||||
;;
|
||||
|
||||
*)
|
||||
|
|
|
@ -1,128 +1,85 @@
|
|||
#!/bin/bash
|
||||
|
||||
TRIES=8
|
||||
|
||||
lsmod | grep '^nouveau ' >/dev/null && rmmod -f nouveau &>/dev/null
|
||||
rmmod -w nvidia &>/dev/null
|
||||
|
||||
# Trying bbswitch method
|
||||
if [ -f /proc/acpi/bbswitch ]; then
|
||||
let tries=$TRIES
|
||||
while [ 0 -lt $tries ]; do
|
||||
rmmod nvidia \
|
||||
&& echo 'OFF' > /proc/acpi/bbswitch \
|
||||
&& exit 0
|
||||
echo 'OFF' > /proc/acpi/bbswitch \
|
||||
&& a=`cat /proc/acpi/bbswitch` \
|
||||
&& [ OFF == ${a##* } ] \
|
||||
&& echo "nVidia chip powered off using bbswitch" \
|
||||
&& exit 0
|
||||
|
||||
sleep 0.01
|
||||
let tries--
|
||||
echo "tries left: $tries"
|
||||
done
|
||||
echo "Cann't power off nVidia chip using bbswitch"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# Trying acpi_call method
|
||||
if [ -f /proc/acpi/call ]; then
|
||||
model=`dmidecode $@ -s system-product-name`
|
||||
tries=$TRIES
|
||||
while [ 0 -lt $tries ]; do
|
||||
case "$model" in
|
||||
M11XR2)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.P0P2.PEGP.NVOP 0 0x100 0x1A {255,255,255,255}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
1015PN)
|
||||
rmmod nvidia \
|
||||
&& echo '\OSGS 0x03' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
1215N)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.P0P4.GFX0._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.P0P4.GFX0._PS3' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
K42Jc|K52Jc|N53Jf|N53Jg|N71Jv|N73Jf|P52Jc|PL80Jt|U30Jc|U33Jc|U35Jc|U36Jc|UL80Jt)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
N61Jv|N73Sv)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEGR.GFX0.DOFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
P31Jg)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG1.GFX0._PS3' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
U43Jc)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.RP00.VGA._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.RP00.VGA._PS3' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
UL30Vt)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.P0P1.VGA._OFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
E6420)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG0.VID._OFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
InspironN5110|XPSL702X)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG0.PEGP._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG0.PEGP._PS3' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
Vostro3300|Vostro3500)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.P0P1.PEGP._OFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
XPS15)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
ThinkPadT410)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG.VID._PS3' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG.VID._OFF' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
ThinkPadT420)
|
||||
rmmod nvidia \
|
||||
&& echo '\_SB.PCI0.PEG.VID._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG.VID._PS3' > /proc/acpi/call \
|
||||
&& exit 0
|
||||
;;
|
||||
*) echo "Snail: unknown Notebook model: $model"; exit -1
|
||||
;;
|
||||
esac
|
||||
model=`dmidecode -s system-product-name`
|
||||
case "$model" in
|
||||
M11XR2)
|
||||
echo '\_SB.PCI0.P0P2.PEGP.NVOP 0 0x100 0x1A {255,255,255,255}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.P0P2.PEGP._PS3' > /proc/acpi/call
|
||||
;;
|
||||
1015PN)
|
||||
echo '\OSGS 0x03' > /proc/acpi/call
|
||||
;;
|
||||
1215N)
|
||||
echo '\_SB.PCI0.P0P4.GFX0._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.P0P4.GFX0._PS3' > /proc/acpi/call
|
||||
;;
|
||||
K42Jc|K52Jc|N53Jf|N53Jg|N71Jv|N73Jf|P52Jc|PL80Jt|U30Jc|U33Jc|U35Jc|U36Jc|UL80Jt)
|
||||
echo '\_SB.PCI0.PEG1.GFX0.DOFF' > /proc/acpi/call
|
||||
;;
|
||||
N61Jv|N73Sv)
|
||||
echo '\_SB.PCI0.PEGR.GFX0.DOFF' > /proc/acpi/call
|
||||
;;
|
||||
P31Jg)
|
||||
echo '\_SB.PCI0.PEG1.GFX0._PS3' > /proc/acpi/call
|
||||
;;
|
||||
U43Jc)
|
||||
echo '\_SB.PCI0.RP00.VGA._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.RP00.VGA._PS3' > /proc/acpi/call
|
||||
;;
|
||||
UL30Vt)
|
||||
echo '\_SB.PCI0.P0P1.VGA._OFF' > /proc/acpi/call
|
||||
;;
|
||||
E6420)
|
||||
echo '\_SB.PCI0.PEG0.VID._OFF' > /proc/acpi/call
|
||||
;;
|
||||
InspironN5110|XPSL702X)
|
||||
echo '\_SB.PCI0.PEG0.PEGP._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG0.PEGP._PS3' > /proc/acpi/call
|
||||
;;
|
||||
Vostro3300|Vostro3500)
|
||||
echo '\_SB.PCI0.P0P1.PEGP._OFF' > /proc/acpi/call
|
||||
;;
|
||||
XPS15)
|
||||
echo '\_SB.PCI0.PEG0.PEGP._OFF' > /proc/acpi/call
|
||||
;;
|
||||
ThinkPadT410)
|
||||
echo '\_SB.PCI0.PEG.VID._PS3' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG.VID._OFF' > /proc/acpi/call
|
||||
;;
|
||||
ThinkPadT420|41786VU)
|
||||
echo '\_SB.PCI0.PEG.VID._DSM {0xF8,0xD8,0x86,0xA4,0xDA,0x0B,0x1B,0x47,0xA7,0x2B,0x60,0x42,0xA6,0xB5,0xBE,0xE0} 0x100 0x1A {0x1,0x0,0x0,0x3}' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG.VID._PS3' > /proc/acpi/call
|
||||
;;
|
||||
*) echo "Snail: unknown Notebook model: $model"; exit -1
|
||||
;;
|
||||
esac
|
||||
|
||||
sleep 0.01
|
||||
let tries--
|
||||
echo "tries left: $tries"
|
||||
done
|
||||
echo "acpi_call used to power OFF nVidia chip"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Trying vgaswitcheroo method
|
||||
if [ -f /sys/kernel/debug/vgaswitcheroo/switch ]; then
|
||||
let tries=$TRIES
|
||||
while [ 0 -lt $tries ]; do
|
||||
rmmod nvidia \
|
||||
&& echo 'OFF' > /sys/kernel/debug/vgaswitcheroo/switch \
|
||||
&& exit 0
|
||||
echo 'OFF' > /sys/kernel/debug/vgaswitcheroo/switch \
|
||||
&& echo "nVidia chip powered off using vgaswitcheroo" \
|
||||
&& exit 0
|
||||
|
||||
sleep 0.01
|
||||
let tries--
|
||||
echo "tries left: $tries"
|
||||
done
|
||||
echo "Cann't power off nVidia chip using vgaswitcheroo"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
echo "Cann't power off nVidia chip"
|
||||
exit -1
|
||||
|
|
|
@ -1,129 +1,81 @@
|
|||
#!/bin/bash
|
||||
|
||||
TRIES=8
|
||||
|
||||
lsmod | grep '^nouveau ' >/dev/null && modprobe -rf nouveau &>/dev/null
|
||||
# lsmod | grep '^nouveau ' >/dev/null && modprobe -rf nouveau &>/dev/null
|
||||
|
||||
# Trying bbswitch method
|
||||
if [ -f /proc/acpi/bbswitch ]; then
|
||||
let tries=$TRIES
|
||||
while [ 0 -lt $tries ]; do
|
||||
echo 'ON' > /proc/acpi/bbswitch \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
|
||||
sleep 0.01
|
||||
let tries--
|
||||
echo "tries left: $tries"
|
||||
done
|
||||
echo 'ON' > /proc/acpi/bbswitch
|
||||
a=`cat /proc/acpi/bbswitch`
|
||||
[ ON == ${a##* } ] && echo "nVidia chip powered ON using bbswitch" && exit 0
|
||||
|
||||
echo "Cann't power on nVidia chip using bbswitch"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# Trying acpi_call method
|
||||
if [ -f /proc/acpi/call ]; then
|
||||
model=`dmidecode $@ -s system-product-name`
|
||||
tries=$TRIES
|
||||
while [ 0 -lt $tries ]; do
|
||||
case "$model" in
|
||||
M11XR2)
|
||||
echo '\_SB.PCI0.P0P2.PEGP._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
1015PN)
|
||||
echo '\_SB.PCI0.P0P4.DGPU.DON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
1215N)
|
||||
echo '\_SB.PCI0.P0P4.GFX0._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
K42Jc|K52Jc|N53Jf|N53Jg|N71Jv|N73Jf|P52Jc|PL80Jt|U30Jc|U33Jc|U35Jc|U36Jc|UL80Jt)
|
||||
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
N53Sn|U41Sv|N53Sv)
|
||||
echo '\_SB.PCI0.PEG0.GFX0.DON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
N61Jv|N73Sv)
|
||||
echo '\_SB.PCI0.PEGR.GFX0.DON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
P31Jg)
|
||||
echo '\_SB.PCI0.PEG1.GFX0._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
U43Jc)
|
||||
echo '\_SB.PCI0.RP00.VGA._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
UL30Vt)
|
||||
echo '\_SB.PCI0.P0P1.VGA._ON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
E6420)
|
||||
echo '\_SB.PCI0.PEG0.VID._ON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
InspironN5110|XPSL702X)
|
||||
echo '\_SB.PCI0.PEG0.PEGP._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
Vostro3300|Vostro3500)
|
||||
echo '\_SB.PCI0.P0P1.PEGP._ON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
XPS15)
|
||||
echo '\_SB.PCI0.PEG0.PEGP._ON' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
ThinkPadT410)
|
||||
echo '\_SB.PCI0.PEG.VID._ON' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG.VID._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
ThinkPadT420)
|
||||
echo '\_SB.PCI0.PEG.VID._PS0' > /proc/acpi/call \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
;;
|
||||
*) echo "Snail: unknown Notebook model: $model"; exit -1
|
||||
;;
|
||||
esac
|
||||
model=`dmidecode -s system-product-name`
|
||||
case "$model" in
|
||||
M11XR2)
|
||||
echo '\_SB.PCI0.P0P2.PEGP._PS0' > /proc/acpi/call
|
||||
;;
|
||||
1015PN)
|
||||
echo '\_SB.PCI0.P0P4.DGPU.DON' > /proc/acpi/call
|
||||
;;
|
||||
1215N)
|
||||
echo '\_SB.PCI0.P0P4.GFX0._PS0' > /proc/acpi/call
|
||||
;;
|
||||
K42Jc|K52Jc|N53Jf|N53Jg|N71Jv|N73Jf|P52Jc|PL80Jt|U30Jc|U33Jc|U35Jc|U36Jc|UL80Jt)
|
||||
echo '\_SB.PCI0.PEG1.GFX0.DON' > /proc/acpi/call
|
||||
;;
|
||||
N53Sn|U41Sv|N53Sv)
|
||||
echo '\_SB.PCI0.PEG0.GFX0.DON' > /proc/acpi/call
|
||||
;;
|
||||
N61Jv|N73Sv)
|
||||
echo '\_SB.PCI0.PEGR.GFX0.DON' > /proc/acpi/call
|
||||
;;
|
||||
P31Jg)
|
||||
echo '\_SB.PCI0.PEG1.GFX0._PS0' > /proc/acpi/call
|
||||
;;
|
||||
U43Jc)
|
||||
echo '\_SB.PCI0.RP00.VGA._PS0' > /proc/acpi/call
|
||||
;;
|
||||
UL30Vt)
|
||||
echo '\_SB.PCI0.P0P1.VGA._ON' > /proc/acpi/call
|
||||
;;
|
||||
E6420)
|
||||
echo '\_SB.PCI0.PEG0.VID._ON' > /proc/acpi/call
|
||||
;;
|
||||
InspironN5110|XPSL702X)
|
||||
echo '\_SB.PCI0.PEG0.PEGP._PS0' > /proc/acpi/call
|
||||
;;
|
||||
Vostro3300|Vostro3500)
|
||||
echo '\_SB.PCI0.P0P1.PEGP._ON' > /proc/acpi/call
|
||||
;;
|
||||
XPS15)
|
||||
echo '\_SB.PCI0.PEG0.PEGP._ON' > /proc/acpi/call
|
||||
;;
|
||||
ThinkPadT410)
|
||||
echo '\_SB.PCI0.PEG.VID._ON' > /proc/acpi/call \
|
||||
&& echo '\_SB.PCI0.PEG.VID._PS0' > /proc/acpi/call
|
||||
;;
|
||||
ThinkPadT420|41786VU)
|
||||
echo '\_SB.PCI0.PEG.VID._PS0' > /proc/acpi/call
|
||||
;;
|
||||
*) echo "Snail (acpi_call method): unknown Notebook model: $model"; exit -1
|
||||
;;
|
||||
esac
|
||||
|
||||
sleep 0.01
|
||||
let tries--
|
||||
echo "tries left: $tries"
|
||||
done
|
||||
echo "acpi_call used to power ON nVidia chip"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# Trying vgaswitcheroo method
|
||||
if [ -f /sys/kernel/debug/vgaswitcheroo/switch ]; then
|
||||
let tries=$TRIES
|
||||
while [ 0 -lt $tries ]; do
|
||||
echo 'ON' > /sys/kernel/debug/vgaswitcheroo/switch \
|
||||
&& modprobe nvidia \
|
||||
&& exit 0
|
||||
echo 'ON' > /sys/kernel/debug/vgaswitcheroo/switch \
|
||||
&& echo "nVidia chip powered ON using vgaswitcheroo" \
|
||||
&& exit 0
|
||||
|
||||
sleep 0.01
|
||||
let tries--
|
||||
echo "tries left: $tries"
|
||||
done
|
||||
echo "Cann't power on nVidia chip using vgaswitcheroo"
|
||||
exit -1
|
||||
fi
|
||||
|
||||
echo "Cann't power on nVidia chip"
|
||||
exit -1
|
||||
|
|
|
@ -8,7 +8,7 @@ PIDFILE=/var/run/snail-xserver.pid
|
|||
start() {
|
||||
ebegin "Starting Snail nVidia Optimus"
|
||||
snail.nv_pwr_on || eend -1
|
||||
export LD_LIBRARY_PATH=/usr/lib/snail:/usr/lib/snail/lib
|
||||
export LD_LIBRARY_PATH=/usr/lib/snail
|
||||
pid=`cat $PIDFILE 2>/dev/null`
|
||||
rm -f $PIDFILE
|
||||
[ -z $pid ] || ! pgrep -s $pid X &>/dev/null && \
|
||||
|
|
|
@ -27,7 +27,7 @@ case "$1" in
|
|||
start)
|
||||
log_begin_msg "Starting Snail nVidia Optimus"
|
||||
snail.nv_pwr_on || log_end_msg 1
|
||||
export LD_LIBRARY_PATH=/usr/lib/snail:/usr/lib/snail/lib
|
||||
export LD_LIBRARY_PATH=/usr/lib/snail
|
||||
pid=`cat $PIDFILE 2>/dev/null`
|
||||
rm -f $PIDFILE
|
||||
[ -z $pid ] || ! pgrep -s $pid X &>/dev/null && \
|
||||
|
|
Loading…
Reference in New Issue