Battery Life?

PSR should be enabled by default, there are many reports of it causing issues like stutter/lag (the arch wiki recommends disabling it, but the linked issues are extremely old forum posts), but it is a power saving feature so disabling it does impact battery life (consensus seems to be about 0.5w)

https://bbs.archlinux.org/search.php?search_id=1157216867

If anyone can find a tracking issue with intel, that would be awesome :slight_smile:

The closest I could find was

It’s possible based on the latest comment the issue is fixed in 5.14

@A_L thank you for taking that time and your detailed write-up, I pretty much do the same!

I went back for some more detail, and noticed something strange.

With the HDMI Expansion Card plugged into the Left Rear (LR), Left Front (LF), or Right Front (RF) slots:

Fedora idle with no expansion cards: ~2.6W.

  • Idle without autosuspend: ~3.7W
  • Idle with HDMI USB auto suspend tunable: ~3.4W

However, plugged into the Right Rear (RF) port sees:

  • Idle without autosuspend: ~3.7W
  • Idle with HDMI USB auto suspend tunable: ~2.9W

So in Fedora, LR, LF, RF slots see:
~+1.1W without autosuspend.
~+0.8W with autosuspend.

The Rear Right slot, however, seems to consume less power, with only a ~+0.3W increase with auto suspend. My Right Rear consumption seems in line with your findings @A_L. Which slot do you have your HDMI card plugged into, and can you test your other slots? :sweat_smile:

Edit: Important info I forgot to add, might give some clues?
On all slots but my Right Rear, when I insert my HDMI Expansion card, I get this error:
dmesg:


journal:

Card still functions normally. Inserting into the Right Rear slot shows the same initial message but without the red error sentences and attempt to power cycle.

On the Windows side: idle with no expansion cards: ~2.4W.

  • Idle HDMI card in LR, LF, RF slots: ~3W
  • Idle with HDMI card plugged into RR: ~2.7W

So in Windows, HDMI in my RR port consumes just ~0.3W less than the other slots, and another ~0.3W vs. HDMI card not plugged in.

tldr, for me:
Fedora: with auto suspend, HDMI card in Right Rear slot consumes ~+0.3W. All other slots consume ~+0.8W. Without autosuspend, all slots consume ~+1.1W.
Windows: HDMI card in Right Rear slot consumes ~+0.3W. All other slots consume ~0.6W.

tldr of tldr: HDMI card seems to draw extra power. Right Rear slot seems to draw less power than all other slots.


Some good news regarding PSR though!

For me, it caused noticeable stuttering in Fedora in both Gnome40 and Sway. Simply typing in a terminal the text would stutter very badly. Constantly moving the mouse cursor around, I would see freezes every few seconds or whatever, jarring and annoying. Issue wouldn’t occur if graphics was being used, say watching a video in the background.

I too read that thread yesterday, and decided to try out 5.14. Pleased to report that I don’t see the issue on Fedora 34 5.14.0-60.vanilla.1.fc34.x86_64 kernel! On Windows PSR seems fine as well.

This means that Linux Fedora and possibly other distros can now see the PSR energy savings (at least ~-0.5W) and hit C9/C10 states, without the micro stutters.

Now I’m going to go pickup my 2x32GB 3200mhz kit in the mail and see the comparison vs. current 2x8GB :no_mouth:

5 Likes

Well I can confirm PSR also works fine in 5.12.19 vanilla, as I’m definitely not seeing any symptoms like that!

Glad to hear you got it working!

1 Like

When using powertop what determines if it shows wattage for individual devices?

@Tyler_S you need to led powertop run until it’s collected sufficient samples to infer per-device usage. You can just let it run in the background on battery for a couple hours and the numbers will show up (powertop --calibrate will make them more accurate). In practice, the display power draw is never estimated correctly.

To add onto @Michael_Lingelbach’s answer, per powertop_users_guide_201412.pdf Section 2.1:

The overview tab lists the top power consuming items which keep waking a processor from its idle state. When tuning applications and device drivers for power, the idea is to reduce the number of wakeups/second to maximize the system’s power performance. This tab shows the usage, number of events, category, description, and power estimate of the most consuming power items in the system.


Here’s some personal power consumption data from my quick/rudimentary tests on my i7-1165G7 between:

  • [1] 16GB (2x8GB), 2133MHz: SK Hynix (timings too lazy to look up/verify) 1.2V model: HMA41GS6AFR8N
  • [2] 64GB (2x32GB), 3200MHz: G.Skill RipJaws Series CL22-22-22-52 1.2V model: F4-3200C22D-64GRS

tldr: seems like [2] definitely consumes more power. Note size, MHz, and timing differences, so unfortunately, I’m not sure what combination (GB, MHz, timings, chips, etc.) is affecting what. See below for the data.

Sidenote, my 3DMark Fire Strike score by 2-300 as expected, probably due to 2133MHz → 3200MHz.

Data for this round of tests, lowest power draws recorded, no expansion cards plugged in:

  • [1] denotes 16GB 2133Mhz set, [2] denotes 64GB 3200Mhz set
  • Idle test: PSR on, 10% brightness, wifi/bt on
  • Video playback test: 720P version of Tears of Steel: Download | Tears of Steel, what PCMag uses to test shrugs
    • Speaker volume: ~50-75% (was too lazy to control, please forgive me)
    • Fedora: MPV using VAAPI hardware decode
    • Windows: Microsoft Movies & TV / stock Win10 media player

Fedora (I’m currently using TLP with @Brett_Kosinski’s config (thanks!), though at some point I may switch back to power-profiles-daemon. Both have seemed good, as it really depends on how governors/profiles etc are set. Note I’m also currently using a non tested 5.14 vanilla kernel, which seems better battery wise vs. 5.13?):

  • Idle test [1]: 2.2W (this is the lowest I’ve seen. It was 2.6W on kernel 5.13)
  • Idle test [2]: 2.6W
  • Video test [1]: 5.2W
  • Video test [2]: 6W (not sure why this is so much higher. Though I was getting 6W with [1] on kernel 5.13. Meaning [2] on kernel 5.14 is matching [1] on kernel 5.13. shrugs Take that as you will, maybe the 2133MHz → 3200MHz jump is causing more gpu power draw? Maybe it’s due to what I ate for dinner, shrug shrug shrugs)

Windows (battery saver profile):

  • Idle test [1]: 2.7W
  • Idle test [2]: 2.9W
  • Video test [1]: 5.2W
  • Video test [2]: 5.5W

Some extra general Linux (Fedora)/Windows battery life findings:

For idle/video playback battery life, Linux Kernel 5.14 seems close Windows. Maybe slightly better, maybe slightly worse. For video playback, ensure that hardware decoding is being used for best battery life. Makes a big difference.

On Windows, for YouTube 1080P playback, Microsoft Edge with Efficiency Mode on, I’m drawing 5.5W which means that the laptop can run for 10 hours with the 55WHr battery…well at 10% brightness. Maybe realistically/easily 8-9 hours with higher brightness. Not too shabby! This should be about the same on Linux with browser hardware decoding, but I haven’t been able to get the experimental feature flags working in Chromium/Edge on Fedora, yet.

5 Likes

I assume you mean 5.14.1? If so, out of curiosity, have you tested bluetooth with it?

I just built out a 5.14 kernel to see what worked and what didn’t, and it looks like the Bluetooth regression for the AX210 is back (or, was never resolved), as I’m seeing “hci0: No device address configured” in dmesg.

5.14.0, just tested bluetooth to my JBL Flip 5 which works on my end (connects and outputs sound). Booted into 5.13.12 and that also works.

I glanced at that thread before, but I never encountered any bluetooth issues (though I’m on Fedora, if that matters). AX210 no vPro
Read it again and found someone on Fedora that also didn’t have issues:

dmesg | grep hci0
[    4.727743] Bluetooth: hci0: Firmware timestamp 2021.28 buildtype 1 build 28502
[    4.798497] Bluetooth: hci0: Found device firmware: intel/ibt-0041-0041.sfi
[    4.798669] Bluetooth: hci0: Boot Address: 0x100800
[    4.798672] Bluetooth: hci0: Firmware Version: 86-28.21
[    4.798674] Bluetooth: hci0: Firmware already loaded

If there’s anything else that would help, lmk!

@Michael_Wu that power usage seems a bit low for youtube in my experience. Are you on chrome or firefox? With firefox/vaapi enabled/hardware on 5.14 I am averaging about 7.5W on a 720p youtube video which gives me about 7-8 hours on average.

Also, one thing to note, I would not recommend CPU_ENERGY_PERF_POLICY_ON_BAT=power unless you are really trying to save battery as it does significantly impact the responsiveness of the system. As a contrived reference, starting emacs takes ~3x longer with the aggressive power saver profiles (either via TLP or via power-profiles daemon).

Interesting, I haven’t noticed significant performance degradation. But, as always, YMMV!

Oh I should have probably mentioned before I have it set to Balanced Power (in Settings > Power). Probably should try some of these measurements in Performance and Power Saving mode as well.

I am unsure how everyone is getting down to such a lower wattage. Running just firefox for this forum and using tuned-adm powersave I am seeing around 9-10w consumed in powertop. I have never been able to get it below 6w or so. This is with 1 usb-c, 2 usb-a and an HDMI adapter. I tried removed the HDMI one but it didn’t do much. This is at lower brightness also.

Oh and Ubuntu 21.04 mostly stock.

1 Like

My results were all with tlp and the settings I described previously. Have you tried tlp and compared?

Browsing with Firefox I’m usually in the 6W range, though that can vary a lot by website (some sure love to spin the JavaScript…)

1 Like

I am also having a difficult time getting power consumption down, I see ~6.5w just from the screen backlight at %20. Can tlp and tuned be used in conjunction or should I use just one or the other? I have windows installed on the 250gb expansion, and powertop shows ~1.5w of power consumption and %100 usage, is there a way to minimize that?

I have pretty high “total system power” in hwinfo, usually 10w+. “cpu package power” seems to be around 4-5w.

You may need to set the cpu scheduler to schedutil or ondemand.

Interesting. I wasn’t able to get lower than C8 reported using the same settings, and that is with PSR enabled as well. I usually have it disabled because mine is stuttering with it on. I wonder what the difference in software and configuration is. Would you mind uploading the output of tlp-stat somewhere? I would like to compare it to mine when I get the chance.

How do I do that? Is that through tlp?

Sure thing! You can find it here:

https://blog.b-ark.ca/assets/files/framework-tlp-stat.txt

1 Like