How to limit battery max charging percent on MSI/non Lenovo machines

I’d like to prevent my laptop (a 2019 MSI model) from charging above 80% to prolong battery life. This machine is permanently connected to a power source as it’s mostly a desktop replacement. once 2 or 3 months I work on the move and use it on battery, but that’s about it.
I’m using XFCE.
Relevant inxi information:

Battery:   ID-1: BAT1 charge: 76.5 Wh condition: 76.5/80.3 Wh (95%) volts: 17.0/15.2 model: MSI BIF0_9 type: Li-ion 
           serial: N/A status: Full 
           Device-1: hidpp_battery_0 model: Logitech Wireless Keyboard K270 serial: [xxx]
           charge: 100% (should be ignored) rechargeable: yes status: Discharging 

I noticed there is a setting in TLP, but it’s limited to lenovo machines only.

# Battery charge thresholds (ThinkPad only, tp-smapi or acpi-call kernel module
# required). Charging starts when the remaining capacity falls below the
# START_CHARGE_THRESH value and stops when exceeding the STOP_CHARGE_THRESH value.
# Main / Internal battery (values in %)
# Default: <none>
# Ultrabay / Slice / Replaceable battery (values in %)
# Default: <none>

I’ve read this thread: [HowTo] Power savings setup| 2021-01-25
However I can’t find anything related to my problem there.

You can try slimbookbattery, it works just fine in my asus tuff

1 Like

you may also check in the bios if there is any option for battery charging limit

Thanks, i installed the app and it’s a great tool for fine-tuning system performance on battery, I will keep it installed for this alone.
Unfortunately it doesn’t limit battery charging, even if I configure the limits.

Unfortunately there is no such option in bios for this machine.

1 Like

Work just fine in my laptop, even the battery charge limits. Recheck the config just in case

Unfortunately, this is a firmware thing and patented by IBM (which sold the ThinkPad line to Lenovo) and ThinkPads have had this forever (I.E. at least 25 years)…

The only way you can do that on your MSI is to:

  • Remove the battery at 50% charge level and keep it stored somewhere dark and cool and re-insert it and charge it a few hours before you go on the move: this has the same effect as charging between 15 and 80% all the time.
  • unplug when 80% of your charge level is reached and recharge when 15% is reached.
  • change your battery when its efficiency drops below 50% ( it’s now at 95%)


Thank you all for the input.

The interface is pretty user friendly, not sure how I can configure it better than this:

My machine has an internal battery. It’s not practical to remove and replace it when needed.

I had this feature on my previous machine, a Samsung ultrabook. MSI also offers this feature through their proprietary Windows 10 utility (Dragon Center). I hope there is something similar for Linux. I will keep looking for a while, although now that I think about it 5% in 8 months is barely worth improving.

If anyone know a utility that works on MSI please share.

In that picture looks like you have cycle alert disabled. The rest looks right

Oh, sorry and thanks for setting me straight: the patent must’ve expired by now!


Yeah I don’t really care for those alerts. I just want the charging to stop without distracting me from what I’m doing.

Update: just to make sure this doesn’t affect the charging limitation, I’ve enabled the Cycle alert. Same result.

Ok, so I’ve solved the problem:
I’ve booted into Windows and installed the MSI Creator Center (the dedicated Windows App for this model). I’ve set the option to stop charging at 60% and start charging at 50% then rebooted into Linux.

The battery is currently not charging even though it is lower than 100%.
Lacking other Linux only method of limiting charge level, I’ll mark this as a solution.

Should anyone find a method that doesn’t involve Windows I’ll be glad to mark that as a solution.


This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.