BIOS Feature Request - Undervolting for Ryzen 7040 Series

The latest update for SteamOS includes options for CPU and GPU undervolting in the BIOS. Given that Insyde supplies the BIOS for both Framework and the Steam Deck, hopefully Framework can eventually get Insyde to include these features.

10 Likes

+1 for that!

2 Likes

AMD officially says that the 7940hs is the only 7040 series CPU that supports undervolting.

Inside could probably enable it anyway if they decided to, however I doubt they would be willing to enable support for something that isn’t officially supported (could get them in trouble with AMD).

Not sure where you got that info. From the product pages of both processors, I see that the Ryzen 9 7940HS has curve optimizer unlocked while the Ryzen 7 7840U does not but nowhere on the page does it mention undervolting support. And curve optimizer is not the same as undervolting.
https://www.amd.com/en/product/13036
https://www.amd.com/en/product/13186

I don´t think they want any more Stability relatet problems.

If they have to support guys who undervolt it´s probably to mutch.

Undervolting is pretty safe as even if there are issues with the undervolt, you just do a BIOS reset and it resets the values.

If Framework does decide to include undervolting support, the benefit for them is it can extend the battery life of their laptops as well as reduce heat and fan noise. All of these are benefits that are attractive to a lot of people.

Also, this isn’t some niche feature. A few years ago, all laptop chips supported undervolting and some would even come out of the factory already undervolted. However, Intel decided to lock down the feature because of SeCuRiTy.

1 Like

Curve Optimizer is essentially per core undervolting.

It’s possible that something is different with Zen4, but a behavior that I have observed on my Zen2 CPU (and IIRC was confirmed as intended behavior by AMD’s head of technical marketing) is that when an offset undervolt is applied the boost algorithm starts requesting up to 0.05v additional voltage so that it ends up with the same voltage after the undervolt. If that doesn’t work then it starts clock stretching (which reduces performance and reduces the voltage the CPU needs to maintain stability).

I think the reason for this is so that if the motherboard has poor voltage regulation or something like that (anything that effectively undervolts the CPU) the boost algorithm will make sure the CPU still gets enough voltage to remain stable.

Curve Optimizer however instructs the boost algorithm to accept the reduced voltage and accept possible instability.

On my Zen2 CPU when I apply a 0.04v undervolt the reported voltage and power consumption stays the same, as does performance.

However when I apply a larger undervolt (ex. 0.06v+) it starts clock stretching. I see similar (sometimes slightly better) performance in Cinebench and average framerate in games, but the 1% lows are severely impacted and stutter increases dramatically.

So undervolting without curve optimizer is definitely problematic on Zen2 and I think it’s also problematic on newer Zen CPUs (definitely seen reports of it on Zen3, not 100% about Zen4).

1 Like

Definitely want this on my incoming 7940HS F16. Undervolting is the key to unlocking a huge improvement in battery life.

“security” is one of the two biggest lies for pushing anti-consumer practices, the other one being the “environment”

1 Like

In this case rate limiting the undervolting would have done the trick too but just locking it down is of course easier.

Undervolting and overclocking aren’t what they were even 10 years ago. Intel and AMD have gotten VERY good at automatic, dynamic voltage and clock management. I pushed my 1800x to 3.9 GHz (a measly 10% gain that needed a LOT of volts), but I haven’t bothered with my 3950X. I think that the dynamic algorithms have gotten so good that you would need to be in the top 10% of overclockers to have a shot at gaining anything, while the other 90% would be likely to make lose stability and/or performance. Put another way, if doing nothing gets me 90% of the benefit, there are very few circumstances where the other 10% is worthwhile (i.e. basically overclocking competition with below ambient cooling).

However, my very first experience with the Ryzen APUs may be useful. I am right there with you on your quest to stretch the battery, and I will share a story which may point us both in a better direction. I had an HP Envy x360 with a 4 core 1st gen Ryzen APU. The battery life was ABYSMAL, which was confusing because the specs were almost exactly the same as the AMD framework 13 (albeit half the cores). Screen, battery, APU TDP, RAM, all very similar to my current laptop, but battery life was 4 hours max. It was as if HP had wired some kind of resistance heater into the device, because the big ticket items (screen, fan, APU) were all capped at values that should’ve guaranteed 8+ hours with minimal effort. I still have no idea how HP flubbed that, but I haven’t looked at HP again since.

The point is, with APU power draw at 15-25W, focusing on the APU as a way to increase battery life isn’t the solution that it used to be when the CPU alone drew 65W and the GPU could be counted upon for at least that much. My Dell G7xxx can play youtube videos for 90 minutes with the screen at candle flicker brightness, and would certainly benefit from undervolting, but that’s a very different machine from an AMD Framework 13. Rather, on these laptops, I think that the far greater efficiency of the APU means that power sinks which used to be “rounding error” are now the major determinantns of battery life. To that end, I think that the better questions may be “what board power draw improvements are possible in BIOS?” and “can we get an OLED screen?”. I like bright, pretty wallpapers as much as anyone, but I’d go to a black wallpaper 10 minutes after installing an OLED screen,