Battery Conservation Mode Not Available in Power Settings on Fedora (Ideapad 3)

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’ve been successfully using the Battery Health Charging GNOME extension. Check device compatibility for your model.

1 Like

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.

On ThinkPads, the kernel provides an interface to set the charge start and end limits. These are then saved to the battery controller.

To see if the kernel also provides that for your IdeaPad, you could check for /sys/class/power_supply/BAT0/charge_* files.

1 Like

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.

Like most things on Linux, you have to do it yourself, generally through the terminal, a shell script, systemd service, and so on.

Lenovo IdeaPads use ideapad_acpi for configuring the following features:

/sys/bus/platform/drivers/ideapad_acpi/VPC2004/
conservation_mode
fan_mode
fn_lock
usb_charging
camera_power

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
1 Like

Preserver Battery Health Shows up on settings on Fedora 43 by Default for me.

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.

1 Like

Both the presence and implementation of this feature vary by model. Particularly, the name of the folder VPC2004:00 could differ.

I’m wondering if your Ideapad uses a different folder.

In addition, is there an inconsistency between your command and your script? In the command, it’s VPC2004, while in the script it’s VPC2004:00.