diff --git a/Makefile b/Makefile index 9f27d69c3d..4370cf2ee2 100644 --- a/Makefile +++ b/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 diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz b/download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz new file mode 100644 index 0000000000..9b313ee040 Binary files /dev/null and b/download/NVIDIA/NVIDIA-sysv-bootscripts-1.tar.xz differ diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile b/download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile new file mode 100644 index 0000000000..e60e9b6cf1 --- /dev/null +++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/Makefile @@ -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 diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd new file mode 100644 index 0000000000..a698c4f612 --- /dev/null +++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-powerd @@ -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 diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep new file mode 100755 index 0000000000..d83ae3ad95 --- /dev/null +++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/nvidia-sleep @@ -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 diff --git a/download/NVIDIA/NVIDIA-sysv-bootscripts/version b/download/NVIDIA/NVIDIA-sysv-bootscripts/version new file mode 100644 index 0000000000..d00491fd7e --- /dev/null +++ b/download/NVIDIA/NVIDIA-sysv-bootscripts/version @@ -0,0 +1 @@ +1 diff --git a/download/NVIDIA/tar-bs.sh b/download/NVIDIA/tar-bs.sh new file mode 100644 index 0000000000..2e89e9d48c --- /dev/null +++ b/download/NVIDIA/tar-bs.sh @@ -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 diff --git a/packages.ent b/packages.ent index ea0e009041..b954a42319 100644 --- a/packages.ent +++ b/packages.ent @@ -155,6 +155,7 @@ listed was released --> + diff --git a/shareddeps/drivers/nvidia.xml b/shareddeps/drivers/nvidia.xml index 7cb9c24e1c..c63d44bab0 100644 --- a/shareddeps/drivers/nvidia.xml +++ b/shareddeps/drivers/nvidia.xml @@ -61,6 +61,12 @@ + + + Recommended SysVinit bootscripts for NVIDIA-Powerd: + + + NVIDIA Dependencies @@ -83,6 +89,12 @@ page) + + + and (for + NVIDIA-Powerd suppport) + + GTK-3 (for @@ -351,6 +363,27 @@ install -vm644 ../manifest-NVIDIA-&nv-manifest-version; \ + + Installation of NVIDIA-Powerd @@ -398,7 +431,6 @@ done done - Configuring NVIDIA