osx-cpu-temp icon indicating copy to clipboard operation
osx-cpu-temp copied to clipboard

Issue #31 & #32: Change temperatures to PECI

Open BourgonLaurent opened this issue 5 years ago • 2 comments

Issues related

#31 GPU Temperature is Broken #32 CPU Temperature is taken from the Proximity Sensor

How it was fixed

Used the PECI values TCXC and TCGC, instead of CPU Proximity Sensor TC0P and GPU Proximity Sensor TG0P (broken when tested on MacBookPro16,2 running macOS Catalina 10.15.6).

How it changes the software

It seems like the PECI values are much more similar to the values of each core, without actually targeting one (the microcontroller takes care of this). After a bit of research, it seems like Intel Power Gadget and macOS are using this value to change their thermals.

Compatibility

Since PECI is available on all CPUs after the Intel Core 2 Duo, this will only work on devices whose processor was made after. Looking at the MacBook line-up, this means all MacBooks made after the MacBook2,1 Late 2006 should work.

BourgonLaurent avatar Jul 26 '20 19:07 BourgonLaurent

Tried several keys. (TC0P, TC0D, TG0P, TG0D, TCXC, TCGC).

For my MacBook Pro (17-inch, Late 2011), the TCXC did not return any result (0.0), so I went with TC0D to get the CPU die temperature.

For GPU, the TCGC worked fine and returned the highest temperature compared to TG0P and TG0D.

references:

  • https://app.assembla.com/wiki/show/fakesmc
  • https://stackoverflow.com/questions/28568775/description-for-apples-smc-keys

DrPsychick avatar Aug 16 '20 16:08 DrPsychick

I went with:

#define SMC_KEY_CPU_TEMP "TCXC"  
#define SMC_KEY_GPU_TEMP "TCGC"
#define SMC_KEY_AMBIENT_TEMP "TA0P"

"TC0D" didn't do much here.

Also the orig. ambient temperature (via TA0V) was way off. No idea what it measured. Showed some 20.something°C. Even my room is hotter right now with around 30°C. 😬 So I went with "TA0P".

TurtleWilly avatar Aug 21 '23 22:08 TurtleWilly