Currently we have an option to set the battery charge limit in BIOS. However, that setting is not propagated to the kernel and thus is not visible to the userspace.
For example my KDE battery applet still shows the battery as charging even when upper limit is reached. Also, it incorrectly calculates the battery wear.
I suppose this happens because kernel does not provide the information in sysfs:
Note the missing thresholds and charge limit (90%) mistakenly treated as actual capacity.
Any ideas on what needs to be done to support that in the kernel? My understanding is thath it could be supported, since overall battery info is detected and is more or less accurate.
So, exposing the charge threshold in sysfs is something I’m working on. The limit is mediated by the EC, and exposing it in sysfs requires the installation of a battery “extension” (it’s a kernel interface that allows one driver to add sysfs entries to an ACPI battery node owned by another driver.)
I’m planning on seeking upstream approval for this patch soon. For now, though, some teasers:
Does charge_full/charge_full_design represent true battery wear? I’ve been using an 11th-gen laptop for 5 months and have battery charge capped at 80%. 10% wear seems too high.
Been wondering about it as well. My old-ish huawei laptop exposed those entries just fine, but the AMD framework does not - a pity. I actually used to change those depending on my use case, rebooting to BIOS is rather inconvenient, not to mention only the max charge can be changed.
Thanks for the heads up, but that’s still a workaround for me. I do use the console, but I’d like to make use of Plasma’s powerdevil / activity profiles, which means GUI. Sadly, that only works if charge_control_start_threshold and charge_control_end_threshold are exposed…