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.
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.
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.
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.
@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.
@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.
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?
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.
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.
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.
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!