Bug 2435841 - HybridSleep should not be the default CriticalPowerAction as it doesn't work by default
Summary: HybridSleep should not be the default CriticalPowerAction as it doesn't work ...
Keywords:
Status: CLOSED COMPLETED
Alias: None
Product: Fedora
Classification: Fedora
Component: upower
Version: 43
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Kate Hsuan
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-02-01 20:30 UTC by Nick
Modified: 2026-04-23 22:09 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-04-23 22:09:27 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Nick 2026-02-01 20:30:01 UTC
I'm a reasonably new user of Fedora, so please let me know if this is not the appropriate place to raise this.

Fedora in its default configuration as installed does not support the Hybrid Sleep mode, because it doesn't set up appropriate swap space for it. Running the `systemctl hybrid-sleep` command confirms this with the error message `Call to HybridSleep failed: Not enough suitable swap space for hibernation available on compatible block devices and file systems`.

However the default UPower.conf sets CriticalPowerAction=HybridSleep. This means that when my laptop reaches the critical percentage of battery (2% by default), UPower tries to enter HybridSleep mode, fails, and so the laptop just stays on consuming full power until it runs out of battery and all is lost.

This seems like bad default behaviour to me.

Instead, either the CriticalPowerAction should be changed to something which is supported by the default install, or the default install should be changed to support the CriticalPowerAction. From light research it sounds like the switch away from assigning swap space by default is quite new, so I presume that's a decision that has good reasons behind it, so therefore I suggest that UPower.conf be changed so that CriticalPowerAction=Suspend, and AllowRiskyCriticalPowerAction=true. I'd also suggest increasing the PercentageAction to 5.0 or similar to account for the fact that the battery will still be drained slowly from this state, unlike in HybridSleep. I am aware that the implication is that this is switching to a more "risky" configuration, but the reality is that suspending on low battery is much less risky than doing nothing, which is what is actually happening at the moment.

I'm very happy to make a PR to the repo with the above changes (or others, based on feedback).

Reproducible: Always

Steps to Reproduce:
1. Let battery run to 2% capacity
Actual Results:
No effective action is taken by UPower. I didn't see anything in the logs from `journalctl -u upower`

Expected Results:
Some lower power state is entered when the battery is very low.

Comment 1 Nick 2026-02-19 10:27:23 UTC
I just created a PR adding a config file to /etc/UPower/UPower.conf.d to change the default behaviour to Suspend on critically low power: https://src.fedoraproject.org/rpms/upower/pull-request/8

Comment 2 Kate Hsuan 2026-02-25 07:02:20 UTC
Thank you for reporting the issue.

I noticed this error and will fix it in Upower.
After fixing it, the new release of upower could resolve the issue:)

In the meantime, you can set the CriticalPowerAction to Suspend as a workaround and restart upower to fix the issue.

Comment 3 Kate Hsuan 2026-03-16 07:52:06 UTC
Next upower release will resolve this issue.

Comment 4 Kate Hsuan 2026-04-09 07:07:06 UTC
Hi Nick,

The new release of the package was pushed.
You can update the upower package and test it.

Thank you :)

Comment 5 Nick 2026-04-23 22:09:27 UTC
That's great, thanks Kate! I've been super busy so haven't been able to test it, but I will soon, and in the unlikely event that it doesn't resolve things for me I'll leave a note.


Note You need to log in before you can comment on or make changes to this bug.