linux-mbp-arch icon indicating copy to clipboard operation
linux-mbp-arch copied to clipboard

Is it possible to undervolt the CPU in MBP15?

Open zhiyuanzhai opened this issue 3 years ago • 4 comments

Model: MacBookPro15,1 CPU: i7-9750H

As it's known that 15-inch MBPs suffer a throttling issue due to overheating of VRM. This issue is partly resolved by Apple's factory undervolting the CPU.

It turns out that the throttling issue still exists when running Linux, which features very few optimizations specifically for this particular hardware. The issue is even more serious in Linux, as the CPU runs at 0.8GHz even nothing is being done.

So, I think there might be a significant effect after undervolting the CPU.

I've tried several undervolting tools (intel-undervolt, for example). They doesn't work properly (problems like "values do not equal", etc). It seems that the adjustments are blocked.

Is there any possibility to work around?

zhiyuanzhai avatar Aug 27 '20 07:08 zhiyuanzhai

Well... I think it ~is~ might be impossible. Closing.

zhiyuanzhai avatar Sep 15 '20 16:09 zhiyuanzhai

@zhiyuanzhai Sorry, I rarely check these issues. In any case, power management is handled by Apple's custom Calpe D2449 PMU chip, which is connected to the T2 over an SPMI interface. The PCH has little control over the voltage and other power metrics of the CPU. The key to controlling this would be in the SMC firmware. More research is needed to actually develop a working software tool.

aunali1 avatar Sep 15 '20 16:09 aunali1

Well... actually I did some investigation here. The MacBook Pro's VRM can easily get hot for some reasons. One of them is that the CPU is too thirsty, and Apple has actually got it fixed in macOS system. We just don't know if that still happens in other OSs.

The other reason, though, is that the MacBook is using its AMD dGPU only, so that both CPU and GPU consume a huge amount of power, and push too hard on the VRMs. So we may consider using the Intel's iGPU instead. There has been a success on this operation.

However, when we do need dGPU for gaming, deep learning, etc, this is not the ultimate solution since the VRMs could still be overheated. Maybe undervolting the CPU may help with this situation.

Finally decided to reopen this to attract more discussion.

zhiyuanzhai avatar Sep 28 '20 08:09 zhiyuanzhai

@zhiyuanzhai For hybrid graphics it is now possible but limits other functionality, namely suspend/resume. See http://wiki.t2linux.org/guides/hybrid-graphics/ for more info

aunali1 avatar May 18 '21 20:05 aunali1