Hibernate doesn't support as the default action in Ubuntu when critical power

Bug #1945418 reported by jeremyszu
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
Confirmed
High
jeremyszu
gnome-settings-daemon (Ubuntu)
New
Undecided
Unassigned
upower (Ubuntu)
New
Undecided
Unassigned

Bug Description

In a stock ubuntu 20.04.3, g-s-d will notify the critical action when battery is lower than warned critical threshold.
The notification is "The battery is below the critical level and this computer is about to hibernate."

When hitting critical threshold, it takes "HybirdSleep" as the action.
```
 九 29 11:24:48 ubuntu-HP-ZBook-Studio-15-6-Inch-G8-Mobile-Workstation-PC systemd[1]: Reached target Sleep.
 九 29 11:24:48 ubuntu-HP-ZBook-Studio-15-6-Inch-G8-Mobile-Workstation-PC systemd[1]: Starting Hybrid Suspend+Hibernate...
 九 29 11:24:48 ubuntu-HP-ZBook-Studio-15-6-Inch-G8-Mobile-Workstation-PC kernel: PM: Image not found (code -22)
 九 29 11:24:48 ubuntu-HP-ZBook-Studio-15-6-Inch-G8-Mobile-Workstation-PC systemd-sleep[3212]: Suspending system...
 九 29 11:24:48 ubuntu-HP-ZBook-Studio-15-6-Inch-G8-Mobile-Workstation-PC kernel: PM: hibernation: hibernation entry
```

You could see the hibernation called by logind but it will fail to restore since either not enough SWAP or resume address is not specify to kernel.

It confusing users about the critical actions.

In UPower.conf:
```
$ tail etc/UPower.conf
# reached for the batteries (UPS or laptop batteries) supplying the computer
#
# Possible values are:
# PowerOff
# Hibernate
# HybridSleep
#
# If HybridSleep isn't available, Hibernate will be used
# If Hibernate isn't available, PowerOff will be used
CriticalPowerAction=HybridSleep
```

In g-s-d:
```
          /* We don't make the difference between HybridSleep and Hibernate */
          if (g_strcmp0 (action, "PowerOff") == 0)
                  policy = GSD_POWER_ACTION_SHUTDOWN;
          else
                  policy = GSD_POWER_ACTION_HIBERNATE;
...
                  /* use different text for different actions */
                  if (policy == GSD_POWER_ACTION_HIBERNATE) {
                          /* TRANSLATORS: computer will hibernate */
                          message = g_strdup (_("The battery is below the critical level and "
                                                "this computer is about to hibernate."));

```

There are two approach if possible:
1) change "CriticalPowerAction" to "PowerOff" because the suspend to ram is almost useless when battery is in critical threshold and the suspend to disk is usually not working in default installed ubuntu.
2) have a new "GsdPowerActionType" type for "HybridSleep" to show the appropriate message but taking the same action (notify logind).

---
$ dpkg -l | grep -i 'upower\|gnome-settings-daemon'
ii gir1.2-upowerglib-1.0:amd64 0.99.11-1build2 amd64 GObject introspection data for upower
ii gnome-settings-daemon 3.36.1-0ubuntu1.1 amd64 daemon handling the GNOME session settings
ii gnome-settings-daemon-common 3.36.1-0ubuntu1.1 all daemon handling the GNOME session settings - common files
ii libupower-glib3:amd64 0.99.11-1build2 amd64 abstraction for power management - shared library
ii upower 0.99.11-1build2 amd64 abstraction for power managemen

jeremyszu (os369510)
tags: added: oem-priority originate-from-1943959 stella
tags: added: originate-from-1911231
summary: - Hibernate is not the default action in Ubuntu when critical power
+ Hibernate doesn't support as the default action in Ubuntu when critical
+ power
Changed in oem-priority:
assignee: nobody → jeremyszu (os369510)
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks Jeremy, could you open it for discussion upstream. There had been similar problems discussed in the past, see https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/547 , is the outcome matching what you can observe?

Revision history for this message
jeremyszu (os369510) wrote :

@seb128,

got it, I created this one for discussion.
https://gitlab.freedesktop.org/upower/upower/-/issues/156

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.