I am trying to get hibernation to work on my installation of Ubuntu 22.04 LTS which is installed on a Razer Blade Advanced (early 2022). I am currently using kernel version is 6.0.0
. Previously I was using 5.17.15
, on which I was only able to get hibernation working from the CLI.
Currently, I am only able to run a successful hibernation (either from closing the lid or from the CLI running sudo systemctl hibernate
) if it is performed twice in a row. I would like to get suspend-then-hibernate
working to preserve battery life. This command currently doesn't successfully complete at all.
Turning on pci=nomsi
in the kernel parameters resolves the issue for both CLI and lid instantiated hibernations, but unfortunately has a tendency to crash the system.
So far I have done the following:
- allocated and assigned a
/swapfile
and updated the kernel parameters to check for the resume
and resume_offset
- disabled all wake-up devices (one named
PXSX
refuses to turn off)
- set
button.lid_init_state=open
to prevent suspend loops associated with this laptop
- tried both
s2idle
and deep
mem_sleep types
- denylisted the NVIDIA driver from loading
This is an overview of the status of each command permutation:
With pci=nomsi
:
- hibernate (success)
- suspend-then-hibernate (success)
Without pci=nomsi
:
- hibernate -> hibernate (success)
- hibernate -> suspend-then-hibernate (fail)
- suspend-then-hibernate -> suspend-then-hibernate (fail)
- suspend-then-hibernate -> hibernate (success)
Potentially relevant command outputs:
➜ ~ grep . /sys/bus/*/devices/*/power/wakeup
/sys/bus/acpi/devices/LNXPWRBN:00/power/wakeup:enabled
/sys/bus/acpi/devices/PNP0C0A:03/power/wakeup:enabled
/sys/bus/acpi/devices/PNP0C0C:00/power/wakeup:enabled
/sys/bus/acpi/devices/PNP0C0D:01/power/wakeup:enabled
/sys/bus/acpi/devices/PNP0C0E:00/power/wakeup:enabled
/sys/bus/i2c/devices/i2c-1A58201B:00/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:01.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:06.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:06.2/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:14.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:14.3/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:16.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:1c.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:1d.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:00:1f.3/power/wakeup:disabled
/sys/bus/pci/devices/0000:01:00.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:01:00.1/power/wakeup:disabled
/sys/bus/pci/devices/0000:02:00.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:03:00.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:04:00.0/power/wakeup:enabled
/sys/bus/pci/devices/0000:05:00.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:05:01.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:05:02.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:05:03.0/power/wakeup:disabled
/sys/bus/pci/devices/0000:06:00.0/power/wakeup:enabled
/sys/bus/pci/devices/0000:3a:00.0/power/wakeup:enabled
/sys/bus/pci/devices/0000:6e:00.0/power/wakeup:disabled
/sys/bus/platform/devices/ACPI000E:00/power/wakeup:disabled
/sys/bus/platform/devices/alarmtimer.0.auto/power/wakeup:enabled
/sys/bus/platform/devices/INTC1070:00/power/wakeup:enabled
/sys/bus/platform/devices/rtc_cmos/power/wakeup:enabled
/sys/bus/thunderbolt/devices/0-0/power/wakeup:enabled
/sys/bus/thunderbolt/devices/domain0/power/wakeup:enabled
/sys/bus/usb/devices/1-10/power/wakeup:disabled
/sys/bus/usb/devices/1-8/power/wakeup:disabled
/sys/bus/usb/devices/usb1/power/wakeup:disabled
/sys/bus/usb/devices/usb2/power/wakeup:disabled
/sys/bus/usb/devices/usb3/power/wakeup:disabled
/sys/bus/usb/devices/usb4/power/wakeup:disabled
➜ ~ cat /proc/acpi/wakeup | grep enabled
PXSX S4 *enabled pci:0000:04:00.0
➜ ~ free
total used free shared buff/cache available
Mem: 16059020 1592612 11627868 966844 2838540 13180228
Swap: 20971516 0 20971516
Logs
Hibernate -> hibernate (successful)
sudo systemctl hibernate
(first run - fail):
https://pastebin.com/mbxNkrBa
sudo systemctl hibernate
(second run - success):
https://pastebin.com/hn4fujLG
Hibernate -> suspend-then-hibernate (fail)
sudo systemctl hibernate
(first run - fail)
https://pastebin.com/FJ6PEh8f
sudo systemctl suspend-then-hibernate
(second run- fail)
https://pastebin.com/MWfKp7yU
With pci=nomsi
sudo systemctl suspend-then-hibernate
(success)
https://pastebin.coclm/VqBqZsfh
sudo systemctl hibernate
(success)
https://pastebin.com/53mCBNHw
Thank you! I will gladly provide any more command outputs and/or logs.