From 3a294b3292e156903dd5d986120d7ad24737919d Mon Sep 17 00:00:00 2001 From: Joshua Yun Date: Tue, 9 Jan 2024 17:46:32 -0500 Subject: Added acpi disabling to the wiki --- docs/desktop/desktop.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'docs/desktop/desktop.md') diff --git a/docs/desktop/desktop.md b/docs/desktop/desktop.md index efd86b0..fa5bd95 100644 --- a/docs/desktop/desktop.md +++ b/docs/desktop/desktop.md @@ -5,3 +5,44 @@ This page describes several useful tips and configurations that I've used. [Thunderbird](thunderbird.md) [Syncthing on Artix](syncthing.md) + +## Disabling ACPI for sleep + +Somtimes we cannot sleep the computer due to ACPI devices being annoying. +To fix this, we need to disable their wakeup ability. + +The following command will look at the status of the ACPI devices: + + cat /proc/acpi/wakeup + +The following command will toggle the status of the ACPI device: + + echo GP12 > /proc/acpi/wakeup + +### Making changes persistant + +To make the changes persistant, we shall use a oneshot systemd service. + + /etc/systemd/system/disable-acpi.service + ---------------------------------------- + [Unit] + Description="Disable ACPI for sleeping" + + [Service] + ExecStart=/bin/sh -c "/etc/suspend" + Type=oneshot + + [Install] + WantedBy=multi-user.target + +The script /etc/suspend` works by disabling all devices if they are enabled: + + #!/bin/sh + + declare -a devices=(INSERT DEVICE LIST HERE) + for device in "${devices[@]}"; do + if grep -qw ^$device.*enabled /proc/acpi/wakeup; then + sudo sh -c "echo $device > /proc/acpi/wakeup" + fi + done + -- cgit v1.2.3