Minimum Power Draw Competition

I thought it’d be fun to hold a little competition for any other power efficiency enthusiasts here. The rules are simple: demonstrate the lowest possible power draw on a FW 16 you can get so long as:

  • the system is on
  • Is portable/not tethered to a stationary fixture (e.g. wall outlet, stationary monitor, etc.)
  • system is ready for use, but does not need to be actively performing a workload

My current record is -5.37W
image

This was achieved sitting at the desktop with arch linux, power-profiles-daemon, and powertop --auto-tune (with the keyboard tuning disabled). Ryzen 7, no dGPU.

Looking forward to seeing what others achieve. Happy hunting!

6 Likes

What’s your CPU model and do you have dGPU installed?

Good catch. Ryzen 7, no dGPU. I added this to the original post.

1 Like

I havent managed to go below 6W yet, so that’s a pretty good result. Most of the time I get 7-8W though, but that’s with apps running.

Did you try the amdgpu.abmlevel kernel config setting as per Adaptive Backlight Management (ABM) ?

2 Likes

I’ll average 7-8W with regular spikes to 10W during actual usage yes, but that’s ok. That’s not quite what I’m targeting with this particular test. Battery life is a spectrum across a minimum and maximum. The minimum battery life is obviously something approaching 0, as a heavy load will destroy any hopes of working without a charger, and is thus not that interesting.

But what’s the upper bound? What is the maximum possible battery life the device is capable of existing at? Knowing this can help understand how much battery life is either left on the table, or how much your sacrificing for certain features/workloads.

As an example, if my 5.37W is the minimum possible draw, then that would suggest a battery life of 15 hours (85Wh / 5.37W). If my average draw is 7.5W, then that is 75% of my maximum possible battery life, not too shabby imo. But if also makes me wonder… what if I could get more?

Compare this to my Thinkpad T470 with a slighly smaller battery (72Wh) that has a higher maximum battery life of somewhere around 24-30hrs due to the fact that I’ve observed it’s minimum draw around 2.4-3W.

I have not! I wasn’t aware of this, I’ll definitely be checking it out. Thanks :slight_smile:

1 Like

I got some lower numbers, though I may not have followed the spirit of the competition exactly… Here’s my specs:

Framework 16
7840HS
7700S module
2x16 corsair ddr5-5600
1TB corsair mp600 active nvme drive
2xUSB-C 3xUSB-A 1xAudio Card

NixOS Unstable
Stock 6.8.0 Kernel
PPD 0.20 on Power Saver
Mesa 24.0.2
amdgpu.abmlevel=4 kernel param (don’t have the patch for PPD integration)
powertop --auto-tune with keyboard autosuspend disabled

My lowest with a reasonable setup was 4.69W via powertop

I was able to push it a bit lower to 4.30W by disconnecting all but 1 usb-c port, and both the keyboard and trackpad modules

I’ll be happy to be beaten though, I think there is still more juice to squeeze so to speak!

6 Likes

Thanks for sharing! Both of your tests are definitely valid and in the spirit. The second more extreme test may seem odd to some, but it provides us some useful information about the power draw of those components.

I wasn’t aware of the amggpu.abmlevel parameter, which brought my arch install down to 5.11W. I was also experimenting with a minimal kernel (via make localmodconfig) with speculative protections diasbled, but I don’t think that changed much. I’m very excited to see your NixOS pull down into the 4’s because that means my arch install should be able to do the same without having to install all the hardware with my own compilations.

As excited as I was to be beaten, I’ll be back to take back my crown :wink: . Let’s see how far we can push it!

1 Like

@Bryan_Ames I see you didn’t bench NixOS on your thread, but you chose to use it here. I’m not familiar with that distro at all, was this coincidental or is there something about the distro that lends itself towards higher efficiency?

Rather than setting the default like that you can instead set it up so it only applies on battery if you take the kernel patches. PPD 0.20 will do this when the kernel patches are present.

Just add these two patches which are to be on 6.9-rc1:

This balances the experience against power savings.

5 Likes

I haven’t applied a patch before so it’s a bit of a learning curve for me. At first I manually copied to code changes into the source, make sure they fit in with the logic (the double return r looks a lil odd in amdgpu_dm_connector_late_register) but when I went to use Arch’s makepkg to rebuild, it wiped my changes by making a fresh tar extract lol. So I’ll have to find the proper way to do it when I get another chance.

I’m using nixos for fun/curiosity. It’s a bit of an oddball distribution with a novel package manager that I’ve been meaning to test out for a while, and decided to give a go on the framework 16. Its main claim to fame is that it can have a declarative package manager rather than an imperative one. In practice, you define your system in a couple files, then you can reproduce it down to the specific versions of packages trivially by just copying and running those files on any other machine. I don’t think it has any special benefits for power efficiency other than having access to very new packages. I imagine arch could get the same results.

Just curious, but if you took an educated guess as to the timing these patches might make it into the kernel, what would you say?

They’re already in Linus’ tree. So they’ll be part of 6.9 unless something comes up needing them to revert.

2 Likes