Subject: Cinnamon on Beowulf - Power Management fails to update battery status

From: [email-masked]
Date: Thu, 13 Feb 2020 18:28:48 +0000

Package: gir1.2-upowerglib-1.0
Version: 1:0.9.23-2+devuan1.3

On Devuan Beowulf, the Cinnamon Power Management (and therefore also the battery indicator applet) fail to read updated information from the system.

The script that handles this is cs_power.py, which is a module called by cinnamon-settings.py. I have pared it down to the bare minimum lines to return the battery percentage and state:

###################################################################
#!/usr/bin/python3

import gi
gi.require_version('CinnamonDesktop', '3.0')
gi.require_version('UPowerGlib', '1.0')
from gi.repository import CinnamonDesktop, Gdk, UPowerGlib, Gio

(UP_ID, UP_VENDOR, UP_MODEL, UP_TYPE, UP_ICON, UP_PERCENTAGE, UP_STATE, UP_SECONDS) = range(8)

up_client = UPowerGlib.Client.new()

csd_power_proxy = Gio.DBusProxy.new_sync(
    Gio.bus_get_sync(Gio.BusType.SESSION, None),
    Gio.DBusProxyFlags.NONE,
    None,
    "org.cinnamon.SettingsDaemon.Power",
    "/org/cinnamon/SettingsDaemon/Power",
    "org.cinnamon.SettingsDaemon.Power",
    None)

devices = csd_power_proxy.GetDevices()
for device in devices:
    if device[UP_TYPE] == UPowerGlib.DeviceKind.BATTERY:
        batdevice = device
percentage = batdevice[UP_PERCENTAGE]
state = batdevice[UP_STATE]

print(percentage)
print(state)
###############################################

The result, when I ran it, showed 89% and discharging whereas $(upower -i /org/freedesktop/UPower/devices/battery_BAT0) returned 58% and charging. Therefore the issue is with UPowerGlib, which is provided by the package gir1.2-upowerglib-1.0

Current software versions:

Lenovo Thinkpad T480s
Linux Josh-Laptop 4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
Devuan Beowulf
gir1.2-upowerglib-1.0/now 1:0.9.23-2+devuan1.3 amd64
cinnamon-settings-daemon/testing,now 3.8.4-2 amd64
upower/now 1:0.9.23-2+devuan1.3 amd64

---

From: Mark Hindley <[email-masked]>
Date: Thu, 13 Feb 2020 20:25:22 +0000

Josh,

Thanks for this.

Devuan has reverted to Debian's packages for beowulf. Unfortunately they 
don't have an epoch, so it *looks* like a downgrade to apt. However, we 
need to know if this issue is still present with those packages.

The Debian upower versions are 0.99.10-1

 apt install --allow-downgrades upower/beowulf

You might need to manually install the libraries too.

Thanks.

Mark

---

From: Mark Hindley <[email-masked]>
Date: Thu, 13 Feb 2020 21:01:32 +0000

Control: tags -1 beowulf
Control: notfound -1 0.99.10-1

On Thu, Feb 13, 2020 at 08:36:38PM +0000, [email-masked] wrote:
>    Downgrading upower and gir1.2-upowerglib-1.0 fixes the issue. Battery
>    state changes are immediately reflected in the power management window
>    and the battery applet.

Great.

We will need to ensure that this requirement goes in the Release notes for
ascii->beowulf upgrades.

Mark

---

From: Mark Hindley <[email-masked]>
Date: Fri, 10 Feb 2023 08:44:40 +0000

> We will need to ensure that this requirement goes in the Release notes for

Closing: fixed and included in Release Notes.

Mark