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.
The first one –
$ 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 –
Get information about it without monitoring, only once – an option
-i with the device –
sudo upower -i /org/freedesktop/UPower/devices/battery_BAT0.
Another similar utility –
acpi, but also can display the temperature (and not only, see About ACPI):
$ 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.
The third useful thing –
batstat. Simple, but it can be useful.
Download the repository, build it with
$ git clone https://github.com/Juve45/batstat.git $ cd batstat $ make $ chmod +x batstat $ sudo mv batstat /usr/local/bin/
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
$ sudo powertop
The Tunables tab displays information on settings that can optimize energy consumption.
Select a desired item, hit Enter – and the option switches:
Also, can produce an HTML report:
$ sudo powertop --html=powerreport.html
And its result:
You can add a systemd service, which will perform automatic tuning at system startup.
Create a new file
[Unit] Description=Powertop tunings [Service] Type=oneshot RemainAfterExit=yes ExecStart=/usr/bin/powertop --auto-tune [Install] WantedBy=multi-user.target
$ sudo systemctl start powertop.service $ sudo systemctl enable powertop.service
$ sudo pacman -S tlp $ sudo pacman -S tlp-rdw
There is a graphical interface:
$ yay -S tlpui $ sudo tlpui
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) services that may interfere
$ 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
Вивести параметри, що є зараз:
$ 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.
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
$ 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.
Also published on Medium.