Battery Life?

That is a fair point.

On all of the Linux laptops I’ve owned, getting 5 hours of battery life was considered good. Forget about 8-10 hours.

On the flipside getting 10-12 hours is pretty normal on a lot of Windows laptops.

Not a competition. I would prefer using Linux myself. It is just that Windows has undeniably better thermal and power management. (This is not the fault of Linux per se.)

2 Likes

Interesting. Guess I’ll try Linux on my Framework with and without the HDMI card

1 Like

We’ve confirmed that the card itself is entering the low power state, so it sounds like the system itself is entering a higher power state with the card inserted. We’re seeing if we can replicate this.

5 Likes

@Michael_Lingelbach

I installed tuned/did your steps, in /etc/tuned/power-saver/tuned.conf it showed

# Autosuspend for USB device HDMI Expansion Card [Framework]
/sys/bus/usb/devices/3-4/power/control=auto

Confirmed tuned-adm active shows power-saver, and also tried the power-saver profile.

Unfortunately, I’m still seeing an extra ~1W draw from the HDMI expansion card.

Also, not sure what was happening, but tuned seemed to bork my S3/deep suspend. It would either:

  • fail to suspend, resuming immediately
  • fail to resume from suspend (on but stuck on a black screen)

No worries though, uninstalled it and went back to power-profile-daemon as I seem to have good results/battery with that.

As for the cpu frequency capping, tuned’s power-saver and powersave profiles didn’t seem to cap the max cpu frequency.

By my tests

  • unplugged, on battery
  • using s-tui’s stress option, to…stress the cpu
  • Powertop to measure battery discharge

Uncapped frequency results:

  • CPU turbos up to ~3.9GHz, ~39W peak draw. Fans loud.
    Then shortly after settles down to 2.8GHz, drawing ~24.7W. Fans a little less loud.

With power-profile-daemon’s power-saver profile capping frequency at 1.6GHz (and idk what else it does):

  • CPU stays at 1.6GHz results in a max of ~14W, with fans barely audible.

@nrp Thanks! I was looking at Fedora logs and saw some errors regarding starting/restarting whichever USB port the HDMI expansion card was being plugged into? Can try to replicate if needed. However, I double and triple checked in Windows 10 and still saw similar deltas, leading me to believe that it isn’t solely a Linux-issue.

I’m using Powertop on Linux and BatteryBar on Windows to track power consumption.

Of course, please let me know if I can provide anything to help.

3 Likes

@Michael_Wu sorry you went through that hassle!

I tested power-profiles-daemon with power-saver mode and I also don’t see any energy draw from my HDMI card. I’m not sure if it makes any difference but it’s in the right slot closest to me (as opposed to one of the rear slots).

I’m getting about the same power draw with power-profiles-daemon as with tuned, (although powertop complains some settings are “Bad”) so power-profiles-daemon is probably the way to go. It looks like while browsing this will get about 7 hours consistently which seems pretty good? The lowest idle power usage I recorded on sway/waybar was 4.25 W.

1 Like

@Michael_Lingelbach no worries! I wanted to try out tuned at some point, anyways :grinning:

Yeah, I dedicate the front left slot to it but have tried other slots – same thing. Hmm, just to confirm, if you unplug the HDMI card completely does your lowest idle power remain the same?

From my previous testing, with just a terminal running Powertop:
powertop --auto-tune, which turns all tunables to Good, seemed to save around 0.3W during idle vs. the defaults.
Note that each setting can and probably should be tested for stability/side-effects/power savings, and extra steps are needed to persist the settings upon reboot. I’m currently using Powertop just for monitoring and not adjusting tunables to avoid any harmful side-effects, though.

In prior testing, I noticed that power-profile-daemon's power-saver profile idled about 0.5W lower than the balanced profile, with nothing open but a terminal showing Powertop.

7 hours would be 55Wh/7 hours ~= 7.857W on average, which I would say is in line with what I’ve noticed just with normal browsing – but of course, these are very rough estimates.
Edit: in the spirit of not misleading anyone, the better wording would be my own varied/constant browsing, which can also vary wildly between which browser I’m using, the websites I visit, the number of tabs open, the idling time between scrolling/typing/video-watching. I can sit on a few resource-light websites/tabs, just reading, and maybe achieve 10 hours (5.5W average usage).

With that edit being typed, does anyone have any suggestions for cross-platform and/or Linux battery benchmark tools/standardization? MobileMark isn’t available on Linux, would be nice imo if people could see battery run times (perhaps of various tasks) with a detailed breakdown of peoples’ hardware/settings!


Some notes on power-profiles-daemon:

Fedora 34’s current stable version is 0.8.1, which does not support saving the last used profile after reboot. Defaults on boot to the balanced profile. 0.9.0 does support it (currently available on Fedora 35 stable), along with this neat feature:

support for “holding” a power profile while running a task
or application, making it possible to switch to a performance profile during
a compilation, or to a power-saver profile when low on battery, reverting to
the original profile when done.

Running powerprofilesctl list:

  performance:
    Driver:     intel_pstate
    Inhibited:  no

* balanced:
    Driver:     intel_pstate

  power-saver:
    Driver:     intel_pstate

powerprofilesctl get (currently active profile)
powerprofilesctl set power-saver|balanced|performance

Fedora 35 (Changes/Power Profiles Daemon - Fedora Project Wiki):

will install power-profiles-daemon in Fedora Workstation and enable it by default.


Side-note, maybe some of this info should go under

and/or

not sure how to proceed, though, so I’m just going to link the two pages :sweat_smile:

3 Likes

@Michael_Wu wrt. battery benchmarking not anything well known. Ars did their battery test by just playing a video on BBC via a browser, for instance.

There is gnome-battery-benchmark as well, which allows you to set custom loops of actions and run them for a certain amount of time and measure your average power consumption. I haven’t used it personally, though.

1 Like

@Michael_Wu thanks for the HDMI card information. I measured the card power draw when plugged in with no HDMI cable attached, and it is around 0.1W. I suspect if the system power went up by 1W it may be related to powering up the retimer as well, but will need to do some more measurements to see if this is what is causing the higher power draw.

4 Likes

Thanks for the update/transparency @Kieran_Levin!

If there’s anything on my end I can do to help troubleshoot, please let me know and I can try.

Youtuber Brad Ling found out about this in his recent livestream that the module cards being plugged in draw significant amounts of power without anything actually being connected to them at 2:27:00. Could there be a fix for this in the future?

2 Likes

I’m wondering high power draw from some modules could be one possible symptom of this linked issue. These exact symptoms aren’t described on that page, but I could totally imagine a scenario where if that EMI sticker was shorting the particular wrong pins it could high power draw when some modules are connected.

1 Like

This is possibly the same issue Michael Wu is reporting earlier in this thread where the HDMI Expansion Card was keeping the retimer active, which we are investigating.

6 Likes

Anecdotally I noticed some substantial power savings swapping out my HDMI and USB-A for usb-c cards as well, on the order of 700 mW idle. Not I did not notice this in powertop, only by removing the card.

1 Like

Ditto to @Michael_Lingelbach 's experience, my HDMI card shows ~900mW draw and for some reason 100% usage on powertop. Possibly interestingly, before plugging in to an external monitor for the first time, the HDMI card if it drew any power was <200 micro-Watts (low enough it did not show in the top ~60 entries in powertop).

Perhaps to someone better versed in the technical details this is a clue to some sort of toggle that may have been tripped during the first HDMI usage that can maybe be un-tripped afterward to save a few joules here and there? Whatever the initial configuration was, it worked fine for recognizing the outputting to the external monitor on first use.

1 Like

It seems that the retimer on the mainboard is not re-entering the low power state that it should be when nothing is plugged in. We’re digging into why that is.

9 Likes

Could be part of the issues stated here before but,


This happened last night. Surprised me a little

1 Like

By the way, as others have reported, with a combination of, in my case, auto-cpufreq and tlp (and not having the HDMI card installed), I was able to get down to 5-6W idle, 7-8W doing light web browsing and so forth.

As an experiment I disabled hyperthreading (and while I was at it, side-channel attack mitigations), and it got down to a little over 4W while idle. Since I don’t need the extra horsepower, this is seeming like a good tradeoff for me, so I’ll keep running it and see how it looks.

Of course, in a perfect world I’d undervolt, but… thanks Intel!

1 Like

@Brett_Kosinski That’s actually pretty high, mine idles closer to 3.5W (but 8W seems about right for firefox or video streaming)

I’m seeing 9.9 while viewing this page in Chrome and screen at 1/2 brightness. I don’t have the display cards in. I do have two of the USB-C, one USB-A and one 250gb installed.

What happens if you turn screen brightness down? The backlight is a huge power draw and when I’m assessing my battery tuning, I’m running with the screen at usually the second or third lowest setting.