mirror of
https://github.com/glfs-book/glfs.git
synced 2025-07-20 18:22:18 +00:00
NVIDIA: Add SysV powerd framework.
This commit is contained in:
29
Makefile
29
Makefile
@ -245,33 +245,6 @@ $(BASEDIR)/test-links: $(RENDERTMP)/$(GLFSFULL) version
|
||||
|
||||
$(Q)$(CLEAN)
|
||||
|
||||
bootscripts:
|
||||
$(Q)trap '$(CLEAN)' EXIT
|
||||
@VERSION=`grep "bootscripts-version " general.ent | cut -d\" -f2`; \
|
||||
BOOTSCRIPTS="glfs-bootscripts-$$VERSION"; \
|
||||
if [ ! -e $$BOOTSCRIPTS.tar.xz ]; then \
|
||||
rm -rf $(RENDERTMP)/$$BOOTSCRIPTS; \
|
||||
mkdir $(RENDERTMP)/$$BOOTSCRIPTS; \
|
||||
cp -a ../bootscripts/* $(RENDERTMP)/$$BOOTSCRIPTS; \
|
||||
rm -rf ../bootscripts/archive; \
|
||||
tar -cJhf $$BOOTSCRIPTS.tar.xz -C $(RENDERTMP) $$BOOTSCRIPTS; \
|
||||
fi
|
||||
|
||||
$(Q)$(CLEAN)
|
||||
|
||||
systemd-units:
|
||||
$(Q)trap '$(CLEAN)' EXIT
|
||||
@VERSION=`grep "systemd-units-version " general.ent | cut -d\" -f2`; \
|
||||
UNITS="glfs-systemd-units-$$VERSION"; \
|
||||
if [ ! -e $$UNITS.tar.xz ]; then \
|
||||
rm -rf $(RENDERTMP)/$$UNITS; \
|
||||
mkdir $(RENDERTMP)/$$UNITS; \
|
||||
cp -a ../systemd-units/* $(RENDERTMP)/$$UNITS; \
|
||||
tar -cJhf $$UNITS.tar.xz -C $(RENDERTMP) $$UNITS; \
|
||||
fi
|
||||
|
||||
$(Q)$(CLEAN)
|
||||
|
||||
test-options:
|
||||
$(Q)trap '$(CLEAN)' EXIT
|
||||
$(Q)xsltproc --xinclude --nonet stylesheets/test-options.xsl index.xml
|
||||
@ -287,7 +260,7 @@ $(DUMPDIR): $(RENDERTMP)/$(GLFSFULL) version
|
||||
$(Q)$(CLEAN)
|
||||
|
||||
.PHONY: glfs all world html validate profile-html wget-list test-links \
|
||||
dump-commands bootscripts systemd-units version test-options
|
||||
dump-commands version test-options
|
||||
|
||||
version:
|
||||
$(Q)REV=$(REV) STAB=$(STAB) ./git-version.sh
|
||||
|
BIN
download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz
Normal file
BIN
download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz
Normal file
Binary file not shown.
42
download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile
Normal file
42
download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile
Normal file
@ -0,0 +1,42 @@
|
||||
SHELL=/bin/bash
|
||||
|
||||
ETCDIR=/etc
|
||||
LIBDIR=${DESTDIR}/lib/services
|
||||
EXTDIR=${DESTDIR}${ETCDIR}
|
||||
MODE=754
|
||||
DIRMODE=755
|
||||
CONFMODE=644
|
||||
|
||||
all:
|
||||
@grep "^install" Makefile | cut -d ":" -f 1
|
||||
@echo "Select an appropriate install target from the above list"
|
||||
|
||||
create-dirs:
|
||||
install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc{0,1,2,3,4,5,6,S}.d
|
||||
install -d -m ${DIRMODE} ${EXTDIR}/rc.d/init.d
|
||||
install -d -m ${DIRMODE} ${EXTDIR}/sysconfig
|
||||
|
||||
create-service-dir:
|
||||
install -d -m ${DIRMODE} ${LIBDIR}
|
||||
|
||||
install-nvidia-powerd:
|
||||
install -m755 nvidia-sleep /usr/bin
|
||||
install -m ${MODE} nvidia-powerd ${EXTDIR}/rc.d/init.d/
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc0.d/K22nvidia-powerd
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc1.d/K22nvidia-powerd
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc2.d/S36nvidia-powerd
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc3.d/S36nvidia-powerd
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc4.d/S36nvidia-powerd
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc5.d/S36nvidia-powerd
|
||||
ln -sf ../init.d/nvidia-powerd ${EXTDIR}/rc.d/rc6.d/K22nvidia-powerd
|
||||
|
||||
uninstall-nvidia-powerd:
|
||||
rm -f /usr/bin/nvidia-sleep
|
||||
rm -f ${EXTDIR}/rc.d/init.d/nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc0.d/K22nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc1.d/K22nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc2.d/S36nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc3.d/S36nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc4.d/S36nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc5.d/S36nvidia-powerd
|
||||
rm -f ${EXTDIR}/rc.d/rc6.d/K22nvidia-powerd
|
66
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd
Normal file
66
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd
Normal file
@ -0,0 +1,66 @@
|
||||
#!/bin/sh
|
||||
########################################################################
|
||||
# Begin nvidia-powerd
|
||||
#
|
||||
# Description : nvidia-powerd Boot Script
|
||||
#
|
||||
# Authors : Zeckma - zeckma.tech@gmail.com
|
||||
#
|
||||
# Version : GLFS #779fd
|
||||
#
|
||||
########################################################################
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: nvidia-powerd
|
||||
# Required-Start: $local_fs dbus
|
||||
# Should-Start: $syslog
|
||||
# Required-Stop: $local_fs
|
||||
# Should-Stop: $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: NVIDIA power management
|
||||
# Description: NVIDIA power management
|
||||
# X-LFS-Provided-By: GLFS
|
||||
### END INIT INFO
|
||||
|
||||
. /lib/lsb/init-functions
|
||||
|
||||
case "${1}" in
|
||||
start)
|
||||
log_info_msg "Starting the NVIDIA-Powerd Daemon"
|
||||
start_daemon /usr/bin/nvidia-powerd
|
||||
evaluate_retval
|
||||
|
||||
# log_info_msg "Enabling NVIDIA sleep"
|
||||
# start_daemon /usr/bin/nvidia-sleep "sleep"
|
||||
# evaluate_retval
|
||||
log_info_msg "Enabling NVIDIA suspend"
|
||||
start_daemon /usr/bin/nvidia-sleep "suspend"
|
||||
evaluate_retval
|
||||
log_info_msg "Enabling NVIDIA hibernate"
|
||||
start_daemon /usr/bin/nvidia-sleep "hibernate"
|
||||
evaluate_retval
|
||||
log_info_msg "Enabling NVIDIA resume"
|
||||
start_daemon /usr/bin/nvidia-sleep "resume"
|
||||
evaluate_retval
|
||||
;;
|
||||
|
||||
stop)
|
||||
log_info_msg "Stopping the NVIDIA-Powerd Daemon"
|
||||
if pidofproc nvidia-powerd >/dev/null; then
|
||||
/usr/bin/killall nvidia-powerd
|
||||
fi
|
||||
evaluate_retval
|
||||
;;
|
||||
|
||||
status)
|
||||
statusproc nvidia-powerd
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: ${0} {start|stop|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# End /etc/init.d/nvidia-powerd
|
48
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep
Executable file
48
download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep
Executable file
@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [ ! -f /proc/driver/nvidia/suspend ]; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
RUN_DIR="/var/run/nvidia-sleep"
|
||||
XORG_VT_FILE="${RUN_DIR}"/Xorg.vt_number
|
||||
|
||||
PATH="/usr/bin"
|
||||
|
||||
RestoreVT() {
|
||||
# Check if Xorg was determined to be running at the time
|
||||
# of suspend, and whether its VT was recorded. If so,
|
||||
# attempt to switch back to this VT.
|
||||
if [[ -f "${XORG_VT_FILE}" ]]; then
|
||||
XORG_PID=$(cat "${XORG_VT_FILE}")
|
||||
rm "${XORG_VT_FILE}"
|
||||
chvt "${XORG_PID}"
|
||||
fi
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
suspend|hibernate)
|
||||
mkdir -p "${RUN_DIR}"
|
||||
fgconsole > "${XORG_VT_FILE}"
|
||||
chvt 63
|
||||
if [[ $? -ne 0 ]]; then
|
||||
exit $?
|
||||
fi
|
||||
echo "$1" > /proc/driver/nvidia/suspend
|
||||
RET_VAL=$?
|
||||
#
|
||||
# If suspend/hibernate entry fails, switch back to the active VT
|
||||
#
|
||||
if [[ $RET_VAL -ne 0 ]]; then
|
||||
RestoreVT
|
||||
fi
|
||||
exit $RET_VAL
|
||||
;;
|
||||
resume)
|
||||
echo "$1" > /proc/driver/nvidia/suspend
|
||||
RestoreVT
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
exit 1
|
||||
esac
|
1
download/NVIDIA/NVIDIA-sysv-bootscripts/version
Normal file
1
download/NVIDIA/NVIDIA-sysv-bootscripts/version
Normal file
@ -0,0 +1 @@
|
||||
1
|
6
download/NVIDIA/tar-bs.sh
Normal file
6
download/NVIDIA/tar-bs.sh
Normal file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
bs_version=$(cat NVIDIA-sysv-bootscripts/version)
|
||||
cp -vR NVIDIA-sysv-bootscripts{,-$bs_version}
|
||||
tar -cJvf ./NVIDIA-sysv-bootscripts-$bs_version.tar.xz \
|
||||
NVIDIA-sysv-bootscripts-$bs_version
|
||||
rm -rf NVIDIA-sysv-bootscripts-$bs_version
|
@ -155,6 +155,7 @@
|
||||
listed was released -->
|
||||
<!ENTITY nvidia-version "575.64">
|
||||
<!ENTITY nv-manifest-version "1">
|
||||
<!ENTITY nv-sysv-bs "1">
|
||||
<!ENTITY spirv-version "&vulkan-version;.0">
|
||||
<!ENTITY spirv-headers-version "&spirv-version;">
|
||||
<!ENTITY spirv-tools-version "&spirv-version;">
|
||||
|
@ -61,6 +61,12 @@
|
||||
<ulink url="&dl-root;/NVIDIA/manifest-NVIDIA-&nv-manifest-version;"/>
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem revision="sysv">
|
||||
<para>
|
||||
Recommended SysVinit bootscripts for NVIDIA-Powerd:
|
||||
<ulink url="&dl-root;/NVIDIA/NVIDIA-sysv-bootscripts-&nv-sysv-bs;.tar.xz"/>
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<bridgehead renderas="sect3">NVIDIA Dependencies</bridgehead>
|
||||
@ -83,6 +89,12 @@
|
||||
page)
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem revision="sysv">
|
||||
<para>
|
||||
<xref linkend="dbus"/> and <xref linkend="elogind"/> (for
|
||||
NVIDIA-Powerd suppport)
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<ulink url="&blfs-svn;/x/gtk3.html">GTK-3</ulink> (for
|
||||
@ -351,6 +363,27 @@ install -vm644 ../manifest-NVIDIA-&nv-manifest-version; \
|
||||
|
||||
</sect2>
|
||||
|
||||
<!-- UNFINISHED, DOES NOT WORK!
|
||||
|
||||
<sect2 revision="sysv">
|
||||
<title>Installation of NVIDIA-Powerd</title>
|
||||
<para>
|
||||
If you want <application>NVIDIA-Powerd</application>, which can suspend
|
||||
and hibernate if asked to, then run the following commands as the &root;
|
||||
user to install the daemon and the bootscripts:
|
||||
</para>
|
||||
<screen role="root"><userinput>mkdir -pv /usr/share/dbus-1/system.d &&
|
||||
install -vm755 nvidia-powerd /usr/bin &&
|
||||
cp -v nvidia-dbus.conf \
|
||||
/usr/share/dbus-1/system.d &&
|
||||
tar -xf ../NVIDIA-sysv-bootscripts-&nv-sysv-bs;.tar.xz &&
|
||||
pushd NVIDIA-sysv-bootscripts-&nv-sysv-bs; &&
|
||||
make install-nvidia-powerd &&
|
||||
popd &&
|
||||
rm -rf NVIDIA-sysv-bootscripts-&nv-sysv-bs;</userinput></screen>
|
||||
</sect2>
|
||||
-->
|
||||
|
||||
<sect2 revision="systemd">
|
||||
<title>Installation of NVIDIA-Powerd</title>
|
||||
<para>
|
||||
@ -398,7 +431,6 @@ done</userinput></screen>
|
||||
done</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
|
||||
<sect2 role="configuration">
|
||||
<title>Configuring NVIDIA</title>
|
||||
|
||||
|
Reference in New Issue
Block a user