Ubuntu 22.04.4 LTS
Kernel 6.5.0-1015-oem (installed per the Framework install guide instructions)
Display resolution at 2560x1600, 125% (fractional) scaling
Wayland
GNOME Shell 42.9
Running the PPA version of AMD PPD
I’ve run powertop --auto-tune (after collecting the necessary # of measurements). All tunables are set to “good”, except for the USB 2.0 hub (for the keyboard and trackpad).
The various measurements below are taken with no applications running other than a terminal window running powertop.
Setup A
Balanced PPD profile
165 Hz refresh rate
Screen brightness at minimum
Bluetooth off
Idle draw of 16.5 W; disabling the wireless radio brings idle draw down to 15.2 W
Setup B
Power saver PPD profile
165 Hz refresh rate
Screen brightness at minimum
Bluetooth off
Wireless radio off
Idle draw of 14.9-15.0 W
Setup C
Power saver PPD profile
60 Hz refresh rate
Screen brightness at minimum
Bluetooth off
Wireless radio off
Idle draw of 14.3-14.5 W
Setup D
Identical to setup C, but I disabled fractional scaling (so UI is just at 100%)
Phoronix on an Ubuntu 23.10 + 6.7 kernel + GNOME 45.2 install got as low as a 2.01 W draw, though this was probably on hibernation?
I’m wondering what other optimizations beyond powertop + PPD profiles are available to optimize battery life, or whether these are as efficient as we can expect to get with the current kernel and PPD.
Has anyone successfully undervolted the Ryzen 9 7940HS?
I find it is the RAM that eats most of the idle power, because it does not down-clock in power save modes, only the CPU down-clocks.
Your 96GB of RAM is probably the main cause.
I did do ram power testing on the 13 and found it was much less of an issue than I expected, 4800 and 5600 were within margin of error (<0.2W) of each other when using one or 2 sticks and using just one stick only saves you a barely measurable 0.2-0.3W at the cost of half your memory bandwidth. I highly doubt capacity makes much of a difference either but I am not getting more sticks to test that.
With all powertop tunables set to “Good”, and no undervolting
Setup A
Screen brightness at minimum
Bluetooth on
WiFi on
Idle draw of 4.9-5.4 W
Setup B
Same as A, with Bluetooth off
Idle draw of 3.29-4.7 W
Setup C
Same as B, with WiFi off
Idle draw of 3.17-4.85 W
I’m happy to provide any other data/specs as needed, but it seems strange to me that my 2020 Dell XPS is getting substantially better efficiency/battery life numbers. The Ryzen 9 7940 HS is on a substantially newer process, DDR5 is more efficient than DDR4, the newer Samsung SSDs are more power efficient, etc.
So you are comparing linux and windows numbers and then blame it on the ram? There are still quite a few power consumption issues with the amd platform on linux (especially with video playback) that could explain the power difference a lot better than ram.
In my testing there was no measurable difference between a single stick of 16gb 4800mhz crucial and a single stick of 32gb 5600mhz kingston.
It can most likely be other factors at play, which is why I made sure to specify linux/windows, but I thought maybe it still played a role in it bcs I came across that 0.08 number in an older forum somewhere else and calculated those numbers for 8gb and 64gb with it and thought something like that could explain some of the difference
I just got mine today, my arch install seemed to idle somewhere around 8W. I plan to do more testing when I can, but 15W is definitely not what I was seeing. I do not have the dGPU module.
I’m also running powertop autotune and autocpu-freq
Also, are you able to reach the GPU by invoking nvtop? For me, nvtop reports No GPU to monitor, but powertop still reports some draw (0.3-0.5 W) from a process called amdgpu. Probably the iGPU (780M)?
So on my XPS 17, even on idle nvidia-smi reports that my GPU uses ~3W of energy, so some of the discrepancy in our idle power usage may be down to the GPU module’s idle draw.
More importantly, I was able to reduce my idle draw substantially (user error in this case).
I was running Warp terminal (which I use on my desktop on both Ubuntu and MacOS). Even though it’s billed as an Electron-free, Rust-based terminal, it turns out it was using significant energy.
With the native GNOME terminal, and the following setup:
“Power saver” PPD profile
powertop tunables set to “Good” (with the exception of the USB 2.0 and 2.1 devices)
I know this is a thread for Ubuntu 22.04, but I’m gonna throw in my own 2 cents. One metric I’m personally a fan of is the minimum power draw during idle. So far with my arch install I’ve seen my FW 16 get down to -6.3W, with it usually sitting between -7.5W and -11W.
I tried using ryzenadj to fix the CPU to 1W draw, which seemed to more consistently stabalize the draw to around 8W, but I don’t know enough about the technical details to know if it’s doing exactly what I think it is. I do know that having ryzenadj limiting power vs not results in lower powerdraw while running stress -c 16
I’d like to see how far down I can possible get that minimum draw to, it’s usually at least valuable information regarding each components power draw.
Kneecapping it that hard is also murdering your performance/w, unless you have a workload that just loads up everything and you can’t stop this’ll make your laptop feel slow as hell and actually use more power for the same work.
May want to look at my findings about performance/w
Some of my workloads (offline text editing/writing) are very light and could be handled by a raspi, so in those cases the only thing I care about is battery. But yes, if you need more performance, 1W would certainly hinder it! Interestingly enough I was still able to web-browse on it, but it was a noticeable performance hit.
I’m going to give your post a read, it certainly looks like some good content.
If your workload doesn’t exceed the power limit anyway the power limit won’t make much difference, if your test editing uses too much power you may want to take a look at your background tasks.
Power limit doesn’t seem to influence idle and near idle usage anyway in my experience.