Should I Undervolt the Ryzen 9 7940HS?

It doesn’t matter which edition, changing the CPU is impossible. Framework, still being a small company, probably orders those as needed and would run into a problem if too many people first order one CPU just to switch to another as that would fill out their storage capacities unnecessarily with the first ordered CPUs and those are the most expensive part of the whole laptop, I guess.

There are some things to keep in mind when undervolting using Curve Optimizer:

  • Stability: The problem is usually stability during idle and switches between lower and higher powerstates. Hence the lots and lots of people throwing a big CO undervolt at their CPUs and claiming stable after running some load tests. The instability at lower power/voltages can be very subtle and hard to trigger.
  • Clock stretching: This is a protection mechanism at higher points on the voltage/frequency curve to prevent crashes caused by voltages to low for the wanted frequency. Your system will show high clocks but benching can show lower results caused by this behaviour.

Essentially, test stability on the whole frequency range and with spiky/transient loads and check if you actually gain performance by doing more CO offset while controlling other variables (temps,fan speed).
Be prepared to sink a lot of time into this if you want do it properly. I have done it for a desktop 5950X and while it gained me some performance it’s more the fun while tinkering aspect for me than the actual result. Single digit gains on some of the cores. Maybe there is more potential in a laptop because of thermal limits but YMMV.

1 Like

Did the undervolting reduce power consumption in general, or does the same amount of power wind up used when under load? And would undervolting reduce thermal throttling, or again when it’s under load does it not make a difference?

My experience with the desktop version of the 7000’s is that it reduces both thermal throttling and power consumption as wattage is turned into waste heat. Validated with HWInfo and my UPS, my avg watts pulled on my 7800X3D is around 28-30watts with a ton of tabs and things up and running. 70-80w maximum peaking while gaming.

As mentioned above, For those looking into it, both of the CPU’s per AMD don’t support overclocking officially, while only one (7940) supports offsets. Whether or not they classify undervolting as overclocking, I’m not entirely sure. See 7940 vs 7840 here. Other thing to note with the mobile CPUs is STAPM, when they hit their max thermal sink, they throttle. I think that both GN and Level1 Techs had videos about STAPM due to issues with the recent desktop 8000 apu’s.

Both is achievable. I have gone for performance (mainly single core was important to me) since my desktop is a power hog anyway, but CO gives you higher clocks in the same power envelope in the first step. In low load scenarios that means less power used. If you then limit frequencies/wattage with PBO to reach the same performance as before using CO you should end up with less power even at high load.
I don’t know if it applies to to the monolithic 7000 mobile, but my 5950X can save about 10 watts in idle with slightly lower SOC voltage. Also not for me since my memory is overclocked but noteworthy.

has anyone tried the curve optimiser yet? has it had any effect on battery life?

I have tried the curve optimizer on windows 10 and it improved my cinebench score but I didn’t check the battery life.

4 Likes

Hey, did you ever try undervolting the cpu? and if you did did you see any noticeable benefits in battery life? currently have the 7840hs but thinking might return it for the ryzen 9 cpu instead but want to see if its worth it first.

1 Like

Hey, has anyone tried undervolting yet to see what kind of performance boost is possible? And if so, is this the kind of thing that tends to be consistent between devices so you can share what numbers you’ve used? I’ve never undervolted, so I’m nervous to explore that on a brand new device

There are various methods to undervolt, and no, settings will not be consistent across all devices. All silicon is different and some will undervolt better than others.

I am by no means an expert at all. The only experience I have is messing with the “safe” curve optimizer undervolt on the Steam Deck. My first Steam Deck was able to undervolt a massive amount (think a couple hundred milivolts) which let it throttle the cpu much higher within the power budget and my fan was noticeably quieter with the same workloads. I blew up the motherboard in an unrelated accident, and my replacement unfortunately barely undervolts at all to the point it’s not really worth it. So it just depends on how lucky you are with the silicon library.

This software optimizer was done by using this tool:

Another method is modifying the bios. There is a tool called smokeless that can do that on AMD hardware, but it brings massive risk. If you go too low, it wont even POST and you would have to reflash the bios to get it back. I went as far as purchasing the bios flashing tools with a claw to grab on the bios chip to directly flash it in case something went wrong. But I never got the courage to try. Would rather play my steam deck instead of messing that much with it. And besides, the curve undervolt was pretty good.

As for the Framework16? I’m too busy using it and messing with it’s features that I haven’t had the want to try undervolting yet.

4 Likes

Undervolting is reportedly IMPOSSIBLE on the 16, just because the options aren’t exposed in the BIOS.

Really disappointing if true. The CPU can handle it, I want the chance to individually try and eke out that little bit of extra perf. Bought the 7940HS for the higher-quality silicon, not the tiny extra baked-in performance.

3 Likes

Same thing here. Undervolting would really help keep temperatures down at load on the Ryzen 9.

You can undervolt the 7940hs using Universal X86 Tuning Utility. I have the curve optimizer set to -25 and it has increased my multicore clock speed

2 Likes

Thank you, unfortunately that app is windows only

I was under the impression that program is kind of a kludge and never saves from boot to boot? If it works I’ll be really glad, but I thought it got wiped out constantly whenever you did anything that might change the config.

This thread is kind of a roller-coaster… I currently have the low spec chip on order in batch 16, but if there is a way to undervolt then I think I would switch to the high spec chip even though it would bump me back… But if there is not a way to undervolt then I’m really confused about what the value prop on the high spec chip is? Performance diff can’t possibly be noticeable in any sort of real workload, can it? Is there some rumor that the BIOS will eventually gain voltage tweaking or something?

You can also use Smokeless UMAF to undervolt and enable S3 sleep on BIOS
DISCLAIMER: not tested

2 Likes

I’m stuck on an overnight DC flip at work, so thought I would mess a bit with ryzenadj to see if it works. I’m doing this on Arch so it was easy to install the required packages from the AUR (i use “yay”). I’m on a Ryzen 9 7940HS.

  1. Install kernel headers if not already:
    pacman -S linux-headers
  2. Kernel module to expose the System Management Unit:
    yay -S ryzen_smu-dkms-git
  3. Install Ryzenadj:
    yay -S ryzenadj
  4. Load the kernel module:
    modprobe ryzen_smu

Test ryzenadj. This is non-permanent so you can’t brick your laptop AFAIK. Type ryzenadj --help for a list of options available. Of interest should be “–set-coall” and “–set-cogfx”. I found setting anything less than -20 for set-coall causes my laptop to promptly powercycle when I try to tax the cpu so I know it does something :stuck_out_tongue:
I set the following and it’s working fine so far:
ryzenadj --set-coall=-15

If you plan to use this permanently, you would need to set up systemd services/targets and udev rules to keep your setting applied. At least on the steam deck, these are reset when power source changes and wake/sleep cycles.

Just sharing for any who would like to mess around. To be honest, I probably won’t bother with it, unless the gpu one works and provides a good curve undervolt. I’ll leave that for another day.

7 Likes

Here for the updates

I bet Framework’s software and firmware have been a mess, but it’s working on them | Ars Technica is related. Undervolting is very likely a lower-priority feature, especially since it affects only a subset of Framework AMD owners. So I wouldn’t be surprised if it’s not officially addressed for quite awhile while basic functionality and security updates finally get back on track for all their systems. Maybe not even until 2025, who knows.