It was a clean install of 24H2. Driver install/update order might have something to do with it, Windows Update updated quite a few after the initial setup.
Resuming from standby also seems to “reset”/change to the 115/100W profile sometimes despite the mode being set to “High Performance”. Switching to Balanced and then back to High Performance does the trick.
I wouldn’t be surprised if some of the benchmarks are a bit off tho.
Indeed and I’m surprised Framework aren’t on this a bit more in terms of reviews.
Pretty sure the Framework Desktop would get 90%+ easy, but not if its defaulting to “laptop” high performance levels. I mean they do want to sell this stuff don’t they
Performance mode on the Framework Desktop I believe is:
stapm-limit: 120
fast-limit: 160
slow-limit: 140
This is in Watts. You set things in mW, you can safely enter high values as the are BIOS-locked limits (132, 176, 154).
For extra performance, set tuned to use tuned-adm profile accelerator-performance to turn all the performance dials. Set amd_iommu=off for slightly better MBW performance.
With Clear Linux shuttered, CachyOS is probably the easiest way to get optimized packages (core packages compiled with flags optimized for modern CPU architectures), although surprisingly in Phoronix testing on a Framework 13 Ryzen AI 9 HX 370 (Zen5) laptop earlier this year, Debian 13 actually is up there for perf as well: https://www.phoronix.com/review/framework-13-amd-linux-2025/9
i wonder if those bios limits are based on what the VRM is capable of handling or not. Because according to the AMD spec page the cpu has PBO and Curve Optimizer (Voltage Offset) support. I was planning on trying to run core cycler once i get mine to get the per-core voltage offsets tuned to squeeze a bit of extra performance out of the system.
I activated my acount in this community only to thank you for this comment, a couple weeks ago I recived my Framework desktop motherboard, I decided to cut some cost by purchasing only the motherboard and finish the build with parts I already had (SSD/PSU/fan/case). and I last night I got curious about some benchmarks and overall max TDP of my build and if I was thermal throttling my APU or not due to my custom build and 3D printed case. that is how I got here the moment I nottice the 100/115 beheavour and the fact that is was quite far from thermal throttling.
now thank to your comment I was able to unlock the TDP and I’m now having the 160/140 beheavour and zero thermal throttling.
Hey there. Just curious which fan you are using? One of the Framework supplied ones and which or another one? Only asking as a data point to define the context under which this behavior is/was occurring.
I know peak and sustained temperatures were discussed. Curious however if what was at the fan spinning at 100% or lower (didn’t see that discussed but I skimmed), and which fan. Since even different Noctua NF-A12x25 fan variants have a different capability for pressure and airflow per RPM.
Just finished 2 days of work setting up, had to drill out my non-standard backplate (someone water jetted stainless steel plate, it’s flimsy I had to bend it a bit for pretension to get enough mounting pressure) and fit 4mm M3 step nuts for the Framework heatsink. Wasted time tinkering with fans to realize the fins are ice cold and the heatpipes are the bottleneck, right now have a Sunon 92mm on an adapter shroud. I used foam to block off the 4 screw access holes and some other minor tweaks to the fan.
Spent half a day figuring out:
Fedora 44 default power profile was “balanced” which limited it to 115W burst below 60C, 100W continuous. tuned-adm profile throughput-performance uncorks it.
Memory clock is only 3700mhz? No way to adjust, I thought it would be 4000.
At the moment I have it set at PPT 160W 5 second burst, TDC 140W, btop confirms, it runs ambient+63C, exhaust temp +50C, which is honestly pretty good! A true continuous load would be a few higher.
Those of you with Framework cases that pull fresh air should see ambient+(watts/2.7)ish with airflow saturation. I guess no need for liquid cooling if this works this well. I got around 65 generated tokens per second for 105W on Vulkan Qwen 3.6 35b Q6K MTP which is actually pretty usable.
I noticed if I set the power limits higher than 160/140/120, it will still run 160 and then settle at 140, then go down to 132. Had the idea of setting slow PPT time constant to 900, and it managed to run at 160W for around 40 seconds. Tried toggling mprime on and off and it seems to throttle on some kind of backward looking moving average of power. I guess in practice 160W bursts for 30 seconds is probably more than enough as I don’t see maximum load in real world workloads.
I don’t know if this is just because of my backplate or case but when I leave the board vertically oriented for a while, I get some mounting issues where the cooler pulls away from the CPU. I added 2 small silicone washers to raise the mount pressure at the top, hoping this leads to stable thermal performance.
To be clear, I don’t have a Framework backplate or case. My backplate is I think a water jet or CNC piece of stainless steel someone made, and I had to adapt it by drilling the holes out and gluing in step nuts. It is not very stiff so I bent it to give it some preload as well, but based on my testing I don’t think board flex is an issue. The step nuts were flush with the top of the motherboard surface.
It seems that was insufficient mounting pressure as the CPU would start running very hot (GPU doesn’t) and 2 times I noticed some air pockets with clumps of thermal paste at the top of the die. I put silicone spacers I had laying around on the top two, so now when I mount the cooler I need to apply a little force to compress the springs so that the threads will engage.
CPU runs the coldest it ever has now (ambient +58C @ 159W), but I’ll give it a few days before declaring victory. Since the thermal performance is quite good, I changed the curve optimizer offset from -5 to -9, it might get me +100mhz or so for some workloads but it’s a bit difficult to tell. TBH I’m starting to wonder if I made the right platform choice given the PCI-e expansion limitation…oh well, I should listen to myself about cloud AI being better than local
I bent it that way. I think I am getting very severe thermal paste pump out as what used to be a steady 70C is now an instant jump to 95C, ordered a phase change pad to see if it does better. Perhaps it’s the Zen 5 cores just running very hot, since my laptop doesn’t have this problem with the same paste (and very marginal mounting pressure).
or there is not enough thermal mass to absorb sudden heat release. if the cpu is 1 unit mass, hs is maybe 3? maybe intermediate need a 5 to 10 units. so the temp ramp up when 140j/s comes out, there is like a mass to “suck” that for maybe 2s, that would make the ramp slope a “slope” . copper is 385J/kg.C. typing this on a bus ride , i probably need to look at more variables and parameters . but then all end user sinks looks thin and server stuff seems always heavy?
Swapped in the phase change pad today, saw that with my silicone washers raising the mount pressure the contact pattern was better than last time, only the sides of the CPU chiplets had dried out. Hoping the phase change pad has no issues because I’m tired of removing the heatsink. Bought this slightly expensive “Coxbyte” one advertising 13.5w/mk and the peak temp is indeed slightly lower than the original Honeywell.
Now that the temperature can hold under 75C for longer, I find it’ll hold 160W for 54 seconds, so I’m guessing there’s a temperature threshold somewhere between 70 and 75C that triggers a hidden timer that overrides the fast PPT timer. When the weather is cooler and my air conditioning is able to hold the room at 18C instead of 23C I’ll be able to see if that hypothesis is true.