From 804660a4b922d800f5338f3eb27b5e179c716cbf Mon Sep 17 00:00:00 2001 From: Andrew Benson Date: Sun, 29 Sep 2024 15:36:45 -0500 Subject: [PATCH] nvidia: fix sleep for elogind users --- srcpkgs/nvidia/files/nvidia-sleep.sh | 25 +++++++++++++++++++++++++ srcpkgs/nvidia/template | 4 +++- 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100755 srcpkgs/nvidia/files/nvidia-sleep.sh diff --git a/srcpkgs/nvidia/files/nvidia-sleep.sh b/srcpkgs/nvidia/files/nvidia-sleep.sh new file mode 100755 index 00000000000..a51314404e1 --- /dev/null +++ b/srcpkgs/nvidia/files/nvidia-sleep.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +case "$1" in + pre) + logger -t nvidia-sleep "Entering $2 mode (invoked by $SYSTEMD_SLEEP_ACTION)" + /usr/bin/nvidia-sleep.sh "hibernate" + ret=$? + if [ $ret -ne 0 ]; then + logger -t nvidia-sleep "Failed to enter $2 mode (exit code $ret)" + exit $ret + fi + sleep 5 + logger -t nvidia-sleep "Entered $2 mode (invoked by $SYSTEMD_SLEEP_ACTION)" + ;; + post) + logger -t nvidia-sleep "Exiting $2 mode (invoked by $SYSTEMD_SLEEP_ACTION)" + /usr/bin/nvidia-sleep.sh "resume" + ret=$? + if [ $ret -ne 0 ]; then + logger -t nvidia-sleep "Failed to exit $2 mode (exit code $ret)" + exit $ret + fi + logger -t nvidia-sleep "Exited $2 mode (invoked by $SYSTEMD_SLEEP_ACTION)" + ;; +esac diff --git a/srcpkgs/nvidia/template b/srcpkgs/nvidia/template index a81560dd947..6232894c676 100644 --- a/srcpkgs/nvidia/template +++ b/srcpkgs/nvidia/template @@ -4,7 +4,7 @@ _desc="NVIDIA drivers for linux" pkgname=nvidia version=550.120 -revision=1 +revision=2 maintainer="Andrew Benson " license="custom:NVIDIA Proprietary" homepage="https://www.nvidia.com/en-us/drivers/unix/" @@ -210,6 +210,8 @@ do_install() { mkdir -p usr/share/dbus-1/system.d vinstall nvidia-dbus.conf 644 usr/share/dbus-1/system.d vbin systemd/nvidia-sleep.sh + mkdir -p usr/libexec/elogind/system-sleep + vinstall ${FILESDIR}/nvidia-sleep.sh 0755 usr/libexec/elogind/system-sleep nvidia.sh # opencl pkg vinstall nvidia.icd 644 etc/OpenCL/vendors