How to Enable Battery Conservation Mode on Lenovo Laptops (Linux)

2025-10-20
3 min read

Introduction

It’s a common recommendation for extending the long-term lifespan of lithium-ion batteries: avoid keeping them at a 100% charge for long periods. Holding a battery at a high state of charge, especially while plugged in, can accelerate its degradation.

Many Lenovo laptops include a built-in “Battery Conservation Mode” that instructs the firmware to stop charging at a lower level (typically 60% or 80%). On Linux, you don’t need a special utility to control this; you can manage it directly through the kernel’s sysfs interface.

This guide shows you how to find the control file, toggle the mode, and create a simple systemd service to enable it automatically on every boot.


Finding Your Device Path

This feature is managed by the ideapad_acpi kernel module. The control file lives in a sysfs directory, but the specific device ID in the path can vary between laptop models.

You can find your specific device ID by listing the contents of the driver’s directory:

ls /sys/bus/platform/drivers/ideapad_acpi/

You’ll likely see an identifier in the output, such as VPC2004:00 or a similar string. In the commands below, replace YOUR_DEVICE_ID with the ID you found.


Controlling Conservation Mode Manually

The conservation_mode file accepts a 0 or a 1 to control the feature.

1. Check Current Status

You can check if the mode is currently active by reading the file:

cat /sys/bus/platform/drivers/ideapad_acpi/YOUR_DEVICE_ID/conservation_mode
  • A 0 means the mode is off (will charge to 100%).
  • A 1 means the mode is on (will stop charging at the conservation threshold).

2. Enable Conservation Mode (Limit Charge)

To turn the mode on, write a 1 to the file. You’ll need sudo and tee to write to this system file as root.

echo 1 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/YOUR_DEVICE_ID/conservation_mode

3. Disable Conservation Mode (Charge to 100%)

To turn the mode off and allow the laptop to charge to 100%, write a 0:

echo 0 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/YOUR_DEVICE_ID/conservation_mode

Making the Setting Persistent with systemd

The manual setting above will reset every time you reboot your laptop. To make it permanent, the cleanest method is to create a systemd service that applies the setting at startup.

1. Create the systemd Service File

First, create a new service file using a text editor like nano:

sudo nano /etc/systemd/system/battery-conservation.service

2. Add Service Configuration

Paste the following content into the file. Remember to replace YOUR_DEVICE_ID with your actual device ID.

[Unit]
Description=Enable Lenovo Battery Conservation Mode

[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo 1 > /sys/bus/platform/drivers/ideapad_acpi/YOUR_DEVICE_ID/conservation_mode"

[Install]
WantedBy=multi-user.target

Save the file and exit the editor (in nano, press Ctrl+X, then Y, then Enter).

3. Enable and Start the Service

Finally, use systemctl to enable your new service. This tells systemd to run it on every boot.

sudo systemctl enable --now battery-conservation.service

The --now flag also starts the service immediately, so you don’t need to run the echo command again or reboot.


Conclusion

That’s it. You’ve now configured your system to automatically enable Battery Conservation Mode every time it starts. This simple, one-time setup helps protect your battery’s health and extend its overall lifespan with no further intervention required.