You are not logged in.

#1 2026-07-17 03:38:23

zcal
Member
Registered: 2010-01-13
Posts: 62

GNOME Battery Charging options not available on ThinkPad

I recently installed GNOME on my AMD ThinkPad P14s and have been unable to get the Battery Charging options to appear in the Power section of the Settings menu.  These are the options regarding the charging thresholds for the battery introduced in GNOME 48.

Running "upower --dump" does not yield any lines regarding charge thresholds.  This would suggest that my Linux kernel (running stock Arch kernel 7.1.3) does not support them.  But this is a ThinkPad, which as I understand it should be well-supported by the thinkpad-acpi module in this regard.

Prior to installing GNOME I was running TLP and had set charge thresholds which worked just fine.  I have since reset the thresholds to factory spec by running a fullcharge on TLP, disabled tlp.service, and uninstalled TLP entirely.  I thought maybe TLP had interfered with upower and GNOME, but this does not seem to be the case.

What else can I try here?

Offline

#2 2026-07-17 12:51:10

archaea
Member
Registered: 2025-10-20
Posts: 29

Re: GNOME Battery Charging options not available on ThinkPad

Does /sys/devices/platform/thinkpad_acpi exist on this system?
Do you have an entry for your battery in /sys/class/power_supply containing "charge_control_start_threshold" and "charge_control_end_threshold" files?

Last edited by archaea (2026-07-17 12:56:58)

Offline

#3 2026-07-17 13:12:47

zcal
Member
Registered: 2010-01-13
Posts: 62

Re: GNOME Battery Charging options not available on ThinkPad

Yes to both.

Offline

#4 2026-07-17 13:51:54

archaea
Member
Registered: 2025-10-20
Posts: 29

Re: GNOME Battery Charging options not available on ThinkPad

What is the output of

pacman -Qii power-profiles-daemon

Offline

#5 2026-07-17 15:51:44

zcal
Member
Registered: 2010-01-13
Posts: 62

Re: GNOME Battery Charging options not available on ThinkPad

I had uninstalled power-profiles-daemon previously while troubleshooting.  Reinstalled it now.  Battery Charging options are still not available.

$ pacman -Qii power-profiles-daemon
Name            : power-profiles-daemon
Version         : 0.30-1
Description     : Makes power profiles handling available over D-Bus
Architecture    : x86_64
URL             : https://gitlab.freedesktop.org/upower/power-profiles-daemon
Licenses        : GPL-3.0-only
Groups          : None
Provides        : None
Depends On      : gcc-libs  glib2  glibc  libgudev  polkit  upower
Optional Deps   : python-gobject: for powerprofilesctl [inshttps://wiki.archlinux.org/title/GNOME#Power_modestalled]
Required By     : None
Optional For    : gnome-control-center  gnome-shell
Conflicts With  : None
Replaces        : None
Installed Size  : 141.95 KiB
Packager        : Antonio Rojas <arojas@archlinux.org>
Build Date      : Tue 18 Feb 2025 03:49:03 PM CST
Install Date    : Fri 17 Jul 2026 10:36:43 AM CDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature
Backup Files    : None
Extended Data   : pkgtype=pkg

Both power-profiles-daemon and tlp-pd add the Power Mode options (Performace / Balanced / Power Saver) to the Power tab in the Settings menu and to the quick menu in the top bar as expected.  I don't currently have power-profiles-daemon explicitly enabled per the note in the wiki that it's not necessary with GNOME, but I have tried doing so and did not see different results.

Offline

#6 Yesterday 15:15:35

zcal
Member
Registered: 2010-01-13
Posts: 62

Re: GNOME Battery Charging options not available on ThinkPad

The problem may be in the way that upower determines if the battery supports charge thresholds.  I understand that it relies on udev to process /usr/lib/udev/rules.d/60-upower-battery.rules instead of just reading /sys/class/power_supply/BAT0/charge_{start,stop}_threshold directly.

Here's what happens when udev evaluates those rules:

$ udevadm test /sys/class/power_supply/BAT0
...
Loading udev rules files done.
BAT0: sd-device: 'uevent' sysattr contains invalid characters, refusing: DEVTYPE=power_supply\nPOWER_SUPPLY_NAME=BAT0\nPOWER_SUPPLY_TYPE=Battery\nPOWER_SUPPLY_STATUS=Charging\nPOWER_SUPPLY_PRESENT=1\nPOWER_SUPPLY_TECHNOLOGY=Li-poly\nPOWER_SUPPLY_CYCLE_COUNT=44\nPOWER_SUPPLY_VOLTAGE_MIN_DESIGN=15440000\nPOWER_SUPPLY_VOLTAGE_NOW=16236000\nPOWER_SUPPLY_POWER_NOW=28656000\nPOWER_SUPPLY_ENERGY_FULL_DESIGN=52500000\nPOWER_SUPPLY_ENERGY_FULL=54590000\nPOWER_SUPPLY_ENERGY_NOW=26580000\nPOWER_SUPPLY_CAPACITY=49\nPOWER_SUPPLY_CAPACITY_LEVEL=Normal\nPOWER_SUPPLY_TYPE=Battery\nPOWER_SUPPLY_MODEL_NAME=LNV-5B11M90028@\320\nPOWER_SUPPLY_MANUFACTURER=Celxpert\nPOWER_SUPPLY_SERIAL_NUMBER= 2026
...

There's a trailing \320 character on my battery's POWER_SUPPLY_MODEL_NAME property which causes it to be refused.

There's an open issue with systemd with a submitted patch that I believe should address my problem here.  I'll wait until that makes its way into Arch's systemd package and confirm if so.

Offline

Board footer

Powered by FluxBB