My experience upgrading to the AMD Board and preliminary battery life review

Packaging: The outer box was only slightly dinged up but the inside was pristine. Unlike some other people, the fins on my heatsink weren’t dinged up but the board is only held in place in hard cardboard so I can see it could get damaged in shipping. The team should definitely consider adding a softer material around the mainboard such as a shredded paper.

Upgrade experience: Overall, it was really easy with one caveat. Removing the old mainboard and putting in the new one with almost all cables reconnected took only 20 minutes however, as I was about to insert the battery, I noticed a bent battery pin. It was a pain but I managed to bend it back and insert the battery connector. I also took out the battery to do this as I found that the connector was somewhat short and hard to maneuver it into place.

Using the new battery connector on the Framework 16 would really make this process a lot easier but I do understand there is the difficulty of adapting the existing connector to the new one. But with how infrequent battery changes/mainboard upgrades occur, the existing one is acceptable.

Performance and Battery Life: One thing I noticed immediately is that the fans rarely spin up. Compared to my 12th gen i5 1240p where the fans sounded like a jet engine during Cinebench R23, the Ryzen 7 board barely spun up. Temps also remained cool with an average of 65 C and a max of 80 C. The biggest impact of this was the chassis only got slightly warm and I could comfortably place it on my lap. Only when playing AAA games could I really get the fans to ramp up.

As for battery life, I’m averaging 8-10 hours on Windows 11 taking notes/browsing the web, which is a significant step up from the 4-6 hours on the i5 1240p. This is with the 55 watthour battery. I have done some tweaks to improve power consumption (eco mode on ssd, curve optimizer in x86 tuning utility, etc…)

Overall, the new board is really great and it brings the Framework laptop closer to the Apple experience in terms of battery life, heat, and fan noise.

11 Likes

Could you post a more comprehensive list of what kind of tweaks you made? Honestly I feel like I’m getting half your battery life without doing anything of note. Also having a text editor open and a browser for some quick look ups.

1 Like

Windows:

  • Brightness set to 20-30%
  • Set power mode to best power efficiency
  • Turn off bluetooth
  • Uninstall unused apps
  • Disable unused services
    (Another thing you can do is disable location tracking but I like to leave it on for Find my Device)
  • Set Samsung 990 Pro to maximum power saving in Samsung Magician (You will lose some capacity if you do this)

Power Plan Settings:

  • Enable primary nvme idle timeout and set that 100 ms on battery
  • Minimum processor state to 5%
  • Link state power management to maximum power savings
  • Sleep and screen off in 3 minutes
  • Enable USB selective suspend
  • Enable maximum power savings for USB 3.1

AMD Adrenaline

  • Power savings for iGPU

BIOS:

  • Power button led to minimum brightness
  • iGPU configuration to “auto” (Not sure if this affects power consumption but it does reduce RAM usage)

Another app you can use is O&O Shutup 10 which allows you to disable some hidden services.

6 Likes

Thanks!

I can’t seem to add Primary NVMe Idle Timeout to the power plan even though I edited via regedit like many examples showcase. A reboot doesn’t seem to help either. Any suggestions??

If you get the chance, I’d love to know if you can test the difference as I have not had any luck with UXTU. Regardless of what offset I put, there is no change in system power draw or core voltages.

I think I used this in an elevated command prompt: REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\d639518a-e56d-4345-8af2-b9f32fb26109 /v Attributes /t REG_DWORD /d 2 /f. It added immediately and did not require a reboot.

I’ll take a look over the weekend.

So I tested battery life with PCMark8 just to have a standardized way of testing battery life between using UXTU and stock. The relative value is more important than the actual value. When using UXTU, I got 4 hours compared to 4.5 hours while stock. So it seems that leaving things stock improves battery life. I’m not sure why this is the case as using the curve optimizer, I noticed that max temps under cinebench23 were lower.

Good info and thanks! I’m “patiently” waiting for mine to arrive to replace my i7-1165G7.

collapsed edits

There’s a warning about the battery pins in their mainboard replacement guide in step 7:

Be extremely careful when sliding the Battery connector out, as it is very easy to accidently bend the pins. Make sure to slide straight down, and avoid letting the connector twist or bend.

I made that mistake on mine before they added it to their guides. Or was the battery pin bent from the factory/during shipping? :grimacing:

Edit: thinking this through for a solution to the fragile mainboard battery pins, maybe Framework should release a battery pin extension card/cable. Like how a USB-C expansion card can protect the mainboard’s stock USB-C ports, the same could be done for the mainboard’s battery pins?

Edit 2: Just saw in step 23 of the AMD Ryzen 7040 series upgrade overview it says to double-check the pins and reach out to Framework Support if they’re bent, and there’s another report of it happening.

Also, any luck with undervolting?

Edit 3, lol:
Nevermind, I guess that’s what you were trying with the UXTU core curve optimizer.

Edit 4, I’m just going to collapse my other edits at this point lmao

Were your Cinebench scores the same or similar/was the CPU frequency the same or similar? I’m wondering if max temps were lower because a byproduct of the curve optimizer is causing the frequency/TDP to lower. Which would result in lower temperatures, but possibly decrease PCMark8’s battery life tests (it’d have to work longer to process the same tasks).

I think another test to gain insight would be testing a

and seeing the difference at idle and at load. Also, if y’all are on Linux and want to try some other tools/run some tests, I’d love to point to some references and help now. I should be able to pinpoint things later anyways, though.

Cinebench scores were about the same but when using the curve optimizer, it was about 200 points higher

Ah that tracks AFAIK – if your system is getting a higher score with the curve optimizer enabled, it might be allowing your CPU to run at some combination of higher/longer sustained frequency. Could be cause of the the lower temperature/better thermals.

So if the PCMark 8 test pegs the CPU at the highest possible frequency the entire time, and the curve optimizer is allowing a higher/longer sustained frequency, that would result in lower battery life.

Wouldn’t be the case if it was e.g. a fixed number of purely compute only tests assuming race-to-idle is more efficient.

If all that’s true (undervolting gains you more performance at the cost of battery life), with the undervolt, you could manually cap your TDP/frequency to match how it is without. That could gain you net battery life at the same performance.

I definitely don’t know the specifics about the test but what I can say is that temps were never an issue as the fans never ramped up. So in both tests, they should have boosted to the highest possible. With the curve optimizer, at worst, I would have expected the battery life to match the stock result as at the same frequency, power usage should be down or the curve optimizer should have a higher frequency at the same power usage.

@TheTRUEAsian Ahh, yeah that all makes sense. Hm, the curve optimizer seems like a big unknown. Tracking the frequency (both CPU/GPU), TDP, core voltages, temperatures, and power draw over the length of the tests with enough data points and shown in a graph would probably give insight into what it’s doing.

Actually, I just did some research (I thought the curve optimizer was strictly an UXTU feature). It’s actually an AMD feature (I haven’t used AMD in a long time, getting up to speed now).

Searching for “AMD Curve Optimizer” on that that big search engine, the top 2 links gave insight:

The primary functionality of this feature is to tune the AVFS curve of the entire CPU or specific cores of the CPU such that the tuning overrides the fixed curves that they are fused with, resulting in an increased CPU performance.

https://www.amd.com/system/files/documents/faq-curve-optimizer.pdf

AVFS is Adaptive Voltage and Frequency Scaling.

This video seems to explain it well, and at 1:56 in the What is Curve Optimizer chapter , the graph shows how moving the curve positively or negatively affects MHz on the x-axis and voltage on the y-axis. Also, at the end, HWiNFO is used to chart system values throughout the Cinebench runs (among some other useful info).

tldr: curve optimizer doesn’t only undervolt, it’s adjusting the AVFS curve which ties frequency and voltage together. Meaning, for example, with a negative offset, the CPU would run at a higher frequency at the same voltage. And conversely, with a positive offset, frequency would lower at the same voltage. However, this doesn’t necessarily mean that total power consumption would decrease between e.g. 0 and -15 curve offsets. It in theory could, but the curve apparently optimizes just for performance and not for total power consumption. Power consumption is just a byproduct, so it could remain the same, go down, or go up with any movement of the curve. (If I’m understanding this all correctly, lol).

Offsetting AVFS curve optimizer

Screenshots from the above linked video to show how AVFS curve offsets affect MHz/voltage (credit to Unhinged Systems!):

Stock (0 offset)

Negative offset:

Positive offset:

Offsetting just voltage (only undervolting)

Whereas a fixed undervolt to the cores (decreasing just the voltage, negative offset) would optimize strictly for power consumption (and thermals). Min/max frequencies don’t change here, just the voltages.

Modified screenshot of stock showing this (the x-axis values decrease/shift to the right):

Though it seems that the jury’s still out on how to just undervolt, or if it’s even possible, on this series.

Edit: nice that there’s an easy way for us to squeeze out more performance out of the laptop! Brings me to wonder if better thermals perhaps through PTM7950 would allow larger curve optimizations, though you mentioned temps were never an issue,

3 Likes

At least on the ally fixed undervolting is apparently possible using Smokeless but it could be a tad risky if you go too hard.

2 Likes