[TRACKING] Linux battery life tuning

I could edit the wiki on this thread now. Maybe it was fixed at the following timing.

@Linen

I got this to work with Fedora 35 with Chrome, it does help some, thought it seems some but not all video vendors use codecs that Chrome supports.

See my post below.

Did everything in the post you showed and even more still could not get it to work :frowning: Although I’m wondering if this is because I’m using ungoogled-chromium instead of the normal chrome / chromium browser. Nevertheless I might just go with the yt-dl/mpv option if I see a significant increase in battery life. Thanks!

Hello just updated my system and found out that I have to remove either tlp-rdw or power-profiles-daemon since they are in conflict. Which one should I remove? Is one better than the other? Thanks!

@Linen If you want to use TLP you should remove the daemon, that is used by gnome to regulate power profiles and TLP can handle that, you just would lose the toggle in the gnome ui

I was investigating how to improve the battery drain after powered off (shutdown).

I found some tips.

  • shutdown -H -P +0 is better than shutdown -h now in a new hardware?
  • Is the command like hwclock --systohc --local executed when doing shutdown? If it is, it might cause the battery to drain when the laptop is off.
1 Like

Did anyone test auto-cpufreq ? Heard that it’s a replacement for TLP & also does the job of cpu-freq & indicator-cpufreq.

Increase and Optimize Linux Laptop Battery Life here is one example, I’m sure you can find a few more by searching for “auto-cpufreq”

Adnan Hodzic (auto-cpufreq dev) mentioned that it’s a complete replacement for tlp & cpufreq. Caz he merged both of their codebases & automated the cpu governor toggles in the fly.

That might be true for the latter, but it only replaces the CPU-related parts of TLP. If you disable those, you should be able to run them in tandem from what I’ve read. I plan on doing that, as I want TLP to manage the power draw of my wifi card and SSD.

Hello has anyone experienced regression with the newer versions of Firefox and ungoogled-chromium? Hardware acceleration doesn’t work for me now. Currently on Arch 5.16.9, Firefox 97.0-1, and Ungoogled-chromium 98.0.4758.102-1.

Just wanted to add my result regarding power consumption in suspended mode:
10h = 14% drain
i7 1165G7
16 GB RAM
512 GB SSD
Elementary OS 6.1
Linux 5.13.0-28
Deep Sleep enabled (s2idle [deep])
BiOS 3.0.7

Just got hibernate and suspend-then-hibernate working on Ubuntu 21.10 following this guide, and I wanted to share in case anyone else runs into the same issues. I had to add resume and resume_offset to my grub and initramfs configs. However, mem_sleep_default caused a lot of problems for me, presumably because it was already enabled. Hibernate would work just fine, but when I ran suspend or suspend-then-hibernate, my WM (i3) would reload and appear fine for a few minutes, but then crashed. It seemed that the OS wasn’t aware of what was in $PATH, but I couldn’t find anything useful in my systemd logs that would indicate what the problem was. Removing mem_sleep_default from my grub config solved the issue.

2 Likes

Works for me, I’m on void, kernel 5.16.11, brave-browser (chromium’s derivative).

I have

--ignore-gpu-blocklist
--enable-gpu-rasterization
--enable-zero-copy
--enable-features=VaapiVideoDecoder
--use-gl=desktop
--disable-features=UseOzonePlatform

flags on ~/.config/brave-flags.conf.

And have enabled these options under chrome://flags

2 Likes

Weird, I have exactly the same setup with you and it was working before, but now it’s not.

What error do you get if you start your browser from the cli (in the stdout)?

Maybe it’s better to share this on this thread too that is a main thread of battery life tuning.

2 Likes

Does changing the battery life setting in the BIOS make a stark difference? Would it be worth mentioning here?

Just got my Framework Laptop (Bios 3.0.7, 64GB RAM, i5, WD Black SSD, Arch Linux with Gnome and pipewire) and want to report back after reading a lot here.

Hardware is just running fine out of the box and I got C9 power saving right away, but never reached C10. PSR is enabled by default (kernel 5.16.12-arch1-1), no problems at all with that.

Suspending using “mem_sleep_default=deep” works fine and uses 2% battery per hour, but waking up takes a few seconds longer than at my other laptops. Hibernation to disk is only slightly slower at waking up and works fine, too.

Using only tlp daemon with a few basic settings, 50% display brightness, keyboard lights, WiFi+BT enabled and 1x USB-C, 2x USB-A and card reader I got ~8W idle battery usage (peaks at ~9W) and ~7 hours runtime according to powertop.

I will try a few more tweaks in the next weeks, but so far I’m pretty happy with it for now. Got a tiny 65W USB-C charger from Anker which should do the job at most of the places where I will go to :slightly_smiling_face:

// Update
After removing all four extension cards I’m reaching C10 now, which results in ~6.1 W total according to powertop (just a few background application with nearly no load running). The card reader was listed as an extra USB device at powertop using a lot of energy (seems not be to realistic), this seems to interfere with C10. As long as it is attached, I cannot reach C10 (no SD-card inserted). When I remove this module, C10 will be used immediately and the power consumption drops for about 1.5-2W. The USB-A und USB-C modules seem to be working with C10.

7 Likes