I’m using a Lenovo Ideapad 3 laptop. On Windows, this device supports a battery conservation mode which limits charging to around 60% to extend battery lifespan.
However, on Fedora, I don’t see any option related to battery conservation or charge threshold in the Settings > Power menu or anywhere else in GNOME.
Does anyone know how I can enable or configure this feature on Fedora?
I’m aware of GNOME extensions like Battery Health Charging, and I may consider using one if there’s no native alternative. But my goal with this post was to understand whether Fedora or the Linux kernel itself can support conservation mode on my device (Ideapad 3) without relying on third-party extensions.
Thanks — I checked /sys/class/power_supply/BAT0/, and unfortunately, I don’t see any files. So it looks like my Ideapad 3 doesn’t expose charge thresholds through the standard kernel interface (unlike ThinkPads).
If this is handled through ACPI or some vendor-specific method, I wonder if there’s any effort to support Ideapads more fully in the kernel
Hi, the following Arch Wiki guide should work on Fedora too, but it’s device-specific. The Ideapad 3 is a whole series, and only some models support the ideapad_laptop kernel module settings. So you need to check your exact model and its implementation.
The conservation mode can be enabled by echoing 1 to /sys/bus/platform/drivers/ideapad_acpi/VPC2004/conservation_mode:
sudo sh -c "echo 1 > /sys/bus/platform/drivers/ideapad_acpi/VPC2004/conservation_mode"
NOTE: It is possible that this feature will not work for much longer since Lenovo have decided to depreciate conservation_mode in favor of charge_types:
ideapad_acpi VPC2004:00: conservation_mode attribute has been deprecated, see charge_types.
I do not have charge_types attribute listed under /sys/bus/platform/drivers/ideapad_acpi/VPC2004/… So we’ll see if they fix that in the 6.18 Kernel or just break this for everyone once they remove the conservation_mode attribute.
Below is a basic shell script that must be executed with sudo privileges to enable the BCM:
sudo ./enable-bcm.sh
#!/bin/bash
#Lenovo battery conservation mode (keeps battery around 60% charged)
#conservation_mode=<0|1>
bcm="/sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode"
if [[ ! $(cat "$bcm") = 1 ]]; then
echo 1 > "$bcm"
echo "Lenovo Battery Conservation Mode: enabled"
else
echo "Lenovo Battery Conservation Mode: already enabled"
fi
I can’t see the attached image for some reason, but I think this is a GNOME 49 feature, not something Fedora 43 specific.
Anyways, enabling that setting did not enable battery conservation mode on my IdeaPad. But if it works on your laptop that’s great to hear. I have a udev rule to enable it when plugged in to my dock. At this point, writing my own systemd services and udev rules is honestly not a big deal.