Linux: saving laptop’s battery energy
Tags: linux
Published: 2022-12-12 05:10:21

---
title: Linux: saving laptop’s battery energy
published: true
date: 2022-11-19 04:29:03 UTC
tags: linux
canonical_url: https://rtfm.co.ua/en/linux-saving-laptops-battery-energy/
---

![](https://cdn-images-1.medium.com/max/377/1*1ychgWUdivjVChpWAXNHcQ.png)

This time it became interesting to me — is it possible to somehow save the charge of the laptop battery? Not to say that it discharges quickly, it is enough for 5–6 hours of work, but it will not be too much, especially with the current power outages in Ukraine.

Found several utilities, and will write about them today.

### Upower

The first one - ` upower`:

```
$ sudo pacman -S upower
```

First, you can call with an option `--monitor-detail` - will display information about the battery status in real-time:

```
$ sudo upower --monitor-detail
Monitoring activity from the power daemon. Press Ctrl+C to cancel.
[20:42:20.071] device changed: /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
vendor: SMP
model: LNV-5B10W13895
serial: 2056
power supply: yes
updated: Fri Nov 18 20:42:20 2022 (0 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: charging
warning-level: none
energy: 36.7 Wh
energy-empty: 0 Wh
energy-full: 0 Wh
energy-full-design: 0 Wh
energy-rate: 15.538 W
voltage: 12.391 V
charge-cycles: N/A
time to full: 22.7 minutes
percentage: 86%
technology: lithium-polymer
icon-name: ‘battery-full-charging-symbolic’
History (charge):
1668796940 86.000 charging
1668796850 85.000 charging
History (rate):
1668796940 15.538 charging
1668796910 15.784 charging
1668796880 16.006 charging
1668796850 16.253 charging
```

Here, we can see the model of the laptop battery - ` LNV-5B10W13895`, and its status - `watt-hours (36.7 Wh) being used, and how much it consumes now (15.538 W), and at what power -  12.391 V.

You can calculate in ampere-hours:

`
>>> 37.31/12.3
3.03
`

That is, there is now 3033 mAh of charge in the battery.

Also, we saw the battery device - `itself  /org/freedesktop/UPower/devices/battery_BAT0`.

Get information about it without monitoring, only once  - an option `-i` with the device - `sudo upower -i /org/freedesktop/UPower/devices/battery_BAT0`.

### ACPI

Another similar utility  -  `acpi`, but also can display the temperature (and not only, see [About ACPI](https://tldp.org/HOWTO/html_single/ACPI-HOWTO/#aboutacpi)):

```
$ sudo pacman -S acpi
```

Get information about the battery:

```
$ acpi -i
Battery 0: Charging, 91%, 00:21:40 until charged
Battery 0: design capacity 3649 mAh, last full capacity 3431 mAh = 94%
```

“design capacity 3649 mAh” — almost as calculated above, only there they took the current charge, which is now somewhere around 94% of the design capacity.

### Batstat

The third useful thing  - ` batstat`. Simple, but it can be useful.

Download the repository, build it with make:

```
$ git clone https://github.com/Juve45/batstat.git
$ cd batstat
$ make
$ chmod +x batstat
$ sudo mv batstat /usr/local/bin/
```

Run it:

![](https://cdn-images-1.medium.com/max/639/0*xaKhECt5lqnN0JD4.png)

### Powertop

Powertop is able not only to display information about the battery, but also, firstly, to display information about processes that consume energy, and secondly, it can perform settings to save charge.

```
$ sudo pacman -S powertop
```

Run under the root user

```
$ sudo powertop
```

![](https://cdn-images-1.medium.com/max/1024/0*LEKh77X78t3hIY7Y.png)

The _Tunables_ tab displays information on settings that can optimize energy consumption.

Select a desired item, hit Enter — and the option switches:

![](https://cdn-images-1.medium.com/max/1024/0*JpF3u5w47vlZJROo.png)

Also, can produce an HTML report:

```
$ sudo powertop — html=powerreport.html
```

And its result:

![](https://cdn-images-1.medium.com/max/1024/0*GAt9y7S2JlJAqdGi.jpg)

You can add a systemd service, which will perform automatic tuning at system startup.

Create a new file `/etc/systemd/system/powertop.service`:

```
[Unit]
Description=Powertop tunings

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/powertop --auto-tune

[Install]
WantedBy=multi-user.target
```

Activate it:

```
$ sudo systemctl start powertop.service
$ sudo systemctl enable powertop.service
```

### TLP

It’s just a monster. It is better to read more information [here>>>](https://linuxconfig.org/how-to-optimize-laptop-battery-life-with-tlp-on-linux) and [here>>>](https://wiki.archlinux.org/title/TLP), and now about the main features.

Install:

```
$ sudo pacman -S tlp
$ sudo pacman -S tlp-rdw
```

There is a graphical interface:

```
$ yay -S tlpui
$ sudo tlpui
```

![](https://cdn-images-1.medium.com/max/1024/0*VoOxHz1Q1KzhRGXH.jpg)

Under the hood, it already has all the settings that it does powertop, so the `powertop.service` better to disable.

Start the service:

```
$ sudo systemctl enable tlp.service
```

And block ([mask](https://wiki.archlinux.org/title/Systemd#Using_units)) services that may interfere tlp:

```
$ sudo systemctl mask systemd-rfkill.service
$ sudo systemctl mask systemd-rfkill.socket
```

Configuration file - ` /etc/tlp.conf`, and you can place your own configs under the `/etc/tlp.d/` directory.

Display current settings:

```
$ sudo tlp-stat
 — — TLP 1.5.0 — — — — — — — — — — — — — — — — — — — — — — 
+++ Configured Settings:
defaults.conf L0004: TLP_ENABLE=”1"
defaults.conf L0005: TLP_WARN_LEVEL=”3"
defaults.conf L0006: TLP_PERSISTENT_DEFAULT=”0"
defaults.conf L0007: DISK_IDLE_SECS_ON_AC=”0"
…
```

Brings up a bunch of hardware and optimization options, all customizable.

### General advice

And let’s not forget about the most basic things.

First of all, this is, of course, the brightness of the screen — reduce it with the Fn +/-brightness buttons, or through a file, I have it in the `/sys/class/backlight/amdgpu_bl0/brightness`:

```
$ sudo bash -c 'echo -n 25 > /sys/class/backlight/amdgpu_bl0/brightness'
```

Also, you can turn off unnecessary USB devices such as mouse/keyboard/external drive and Bluetooth and/or WiFi if connected by cable.

_Originally published at_ [_RTFM: Linux, DevOps, and system administration_](https://rtfm.co.ua/en/linux-saving-laptops-battery-energy/)_._

* * *