Can't get auto hibernate working

So here’s what I want

Screen blank 2 minutes, lock 3 minutes, suspend 5 minutes, hibernate 15. I can’t seem to get it to hibernate (full off automatically) no matter how much I try. Doing it manually seems to work.

As a side note, I can’t seem to get the integrated usb camera to shut down either, and I never use it

Lenovo ThinkPad X1 Carbon Gen 8
Intel® Core™ i7-10610U × 8
Mesa Intel® UHD Graphics (CML GT2)
Gnome 43.2
Wayland
tlp 1.5.0
systemd 252.5

logind.conf

[Login]
UserStopDelaySec=30
HandleLidSwitch=suspend-then-hibernate
IdleAction=suspend-then-hibernate
IdleActionSec=15min

sleep.conf

[Sleep]
SuspendMode=suspend-then-hibernate
HibernateMode=suspend
HibernateState=disk
HibernateDelaySec=15min

tlp.conf

CPU_BOOST_ON_AC=1
CPU_BOOST_ON_BAT=1
CPU_ENERGY_PERF_POLICY_ON_BAT=power
CPU_HWP_DYN_BOOST_ON_AC=1
CPU_HWP_DYN_BOOST_ON_BAT=1
CPU_MAX_PERF_ON_BAT=90
CPU_MIN_PERF_ON_BAT=10
CPU_SCALING_GOVERNOR_ON_AC=ondemand
CPU_SCALING_GOVERNOR_ON_BAT=powersave
CPU_SCALING_MAX_FREQ_ON_BAT=800000
CPU_SCALING_MIN_FREQ_ON_BAT=400000
DEVICES_TO_DISABLE_ON_BAT="bluetooth nfc wwan"
DEVICES_TO_DISABLE_ON_BAT_NOT_IN_USE="bluetooth nfc wifi wwan"
DEVICES_TO_DISABLE_ON_LAN_CONNECT="wifi wwan"
DEVICES_TO_DISABLE_ON_STARTUP="bluetooth nfc wwan"
DEVICES_TO_ENABLE_ON_STARTUP="wifi"
DISK_IDLE_SECS_ON_BAT=5
INTEL_GPU_BOOST_FREQ_ON_BAT=1150
INTEL_GPU_MAX_FREQ_ON_BAT=600
INTEL_GPU_MIN_FREQ_ON_BAT=300
NMI_WATCHDOG=0
PCIE_ASPM_ON_BAT=powersupersave
PLATFORM_PROFILE_ON_AC=balanced
PLATFORM_PROFILE_ON_BAT=low-power
RESTORE_THRESHOLDS_ON_BAT=1
START_CHARGE_THRESH_BAT0=75
STOP_CHARGE_THRESH_BAT0=95
USB_AUTOSUSPEND_DISABLE_ON_SHUTDOWN=
USB_EXCLUDE_AUDIO=0
USB_EXCLUDE_PRINTER=0

mkinitcpio.conf

BINARIES=("/usr/bin/btrfs")
COMPRESSION="zstd"
FILES=""
HOOKS="base systemd sd-plymouth autodetect keyboard keymap sd-vconsole block sd-encrypt modconf filesystems resume"
MODULES="crc32c-intel i915"

Any help? trying to make the battery charge as long as possible. P.S. TLP does boost take priority or max?

PPS, if any devs read this I would love a manjaro-laptop-power-settings that could set all this up for me.

So here is what I think:

suspend turns the thing off - just keeps the RAM alive in order to wake up fast

hibernate writes the RAM and all to the disk (to swap) and then turns the power off completely

How do you suppose the latter can happen when the system is shut down already for several minutes?

The system would need to up and running in order to hibernate - but it is suspended already (and not running anymore).

There is hybrid sleep - it performs the save to disk, then suspends - in case the power runs out and RAM content is lost, it resumes from disk.

1 Like

I would think suspend-then-hibernate could do it, maybe suspend needs to be hybrid sleep though?

Id guess the Arch wiki has some info on this.
I know it has for hybrid sleep.

It does, but nothing I tried worked. Probably something stepping on something else’s toes.

Does it work or does it not?

More detailed system info might help others help you:

inxi -Fazy