[EXPERIMENTAL] Throttling and it's caveats

airidosas252

Senior Member
Mar 22, 2014
864
946
123
Šiauliai
While being owner of my Redmi Note 7, which definitely has some issues, I started experimenting with it.

Throttling is a common term amongst electronics and such. It's a way to safe our precious silicon from eventually cooking under high temperatures. There're a lot of issues involved here. Let me explain:

Xiaomi's belief is maximizing battery life while forgetting about optimal device's performance. Here's the issue, though - neither of which are properly calibrated. For a battery of this size, you would expect something better, but it's not. Looking through system files, there are several thermal config files, which simply tells to the thermal-engine binary at what state device should throttle. Sounds like a good idea, right? Yeah, not quite.

Upon opening these exact config files you see several lines, which describe temperature thresholds and which frequency device should start to use under it's determined state. There's more to this - GPU gets less voltage when it's getting warmer, thus reducing the ability for GPU to reach higher power levels. Everything would be great, if the device wouldn't start to throttle it's clocks at 45° degrees, which is basically nothing.

After seeing device's guts it's safe to state, that our phone has proper cooling done to it. Sure, it's basic, but with that much space and the price this phone is built for, you couldn't ask for better cooling.

So, what can you do to it?

There're several solutions.

-Deleting thermal-engine entirely and forgetting about the problem. Here's the thing, though - it's really dangerous, because not only you lose the ability to monitor your battery's temperature, you could cook your phone while charging. Charging throttling is a thing too, when phone slows down pulling current from a wall as soon as you are doing something intensive. It's a dirty fix with a lot of risks involved.
-Modifying thermal config tables. This way you could ensure device's safety while having optimal device's performance.
-Mounting hugeass cooler at the back of your phone or better yet - mounting cooler straight to the cpu silicon. Jokes aside, this is not recommended at all, unless you're insane and don't care about sacrificing device's size.

I'm actually thinking about making completely custom thermal tables and make them compatible with Magisk. Even if Magisk method wouldn't ensure enough confidence, I will make flashable zip for recovery flashers. Everyone's happy.

FAQ

-But the device has kernel level throttling monitor. That one works too, right?
-Yes, but it does not do anything related to cpu clock management and such. All it does is turning off your device entirely when undesirable temperatures are reached. Thermal-engine is what's monitoring temperatures and adjusting clocks when necessary. Kernel level throttling is there for additional safety, in case thermal-engine is not working properly.

-My device runs great. Why bother modifying what Xiaomi did?
-It's up to you to do anything with your purchase. If you are happy, it's fine, leave it as it is.

-I noticed hugely increased benchmark scores and games working smoother after deleting thermal-engine. Is that normal?
-Exactly. Here's your answer to what thermal-engine actually does. It hampers our device too much.

-When are you going to research this modification?
-As soon as I'm free from doing routinal things: school, job, home and such.



BONUS TIME!

Gfxbench 3 Manhattan 1080p offscreen scores for your reference:

With thermal-engine running: 15fps
Without thermal-engine running: 23fps

REMEMBER, I'M IN NO WAY RECOMMENDING YOU TO DELETE THERMAL-ENGINE. IF YOU DO THIS, IT'S YOUR RESPONSIBILITY WHEN DEVICE STARTS COOKING OR CATCHING FIRE. THIS IS SORT OF MY OBSERVATION OF A PROBLEM OUR DEVICE HAS. EVERYTHING IS AT OUR OWN RISK!
 

aron11195

Senior Member
Jul 16, 2018
166
29
28
theres currently 2 thermalmod magisk module for our device, one is jthermal and the other is thermalx, currently using thermalx and it essentially removes thermal throttling, highest temp i got was 48°c playing pubg at smooth+extreme settings at noon.
 

Morutimeru

Senior Member
Feb 26, 2009
152
37
28
theres currently 2 thermalmod magisk module for our device, one is jthermal and the other is thermalx, currently using thermalx and it essentially removes thermal throttling, highest temp i got was 48°c playing pubg at smooth+extreme settings at noon.
Where are these? I can't find any mods like these for lavender., only for violet.
 

brundark

Senior Member
Mar 16, 2014
188
55
0
São paulo
www.youtube.com
Oh... I can't understand russian so that's a no for me :/
I do not recommend using these mods! They completely remove the limits, leaving the phone vulnerable to overheating during charging.
but here is the link JThermal, I took the file I downloaded from telegram and uploaded it. To install use MAGISK!
 

Attachments

  • Like
Reactions: Morutimeru

Morutimeru

Senior Member
Feb 26, 2009
152
37
28
I do not recommend using these mods! They completely remove the limits, leaving the phone vulnerable to overheating during charging.
but here is the link JThermal, I took the file I downloaded from telegram and uploaded it. To install use MAGISK!
Thanks! I got a hold of the thermalX one. Registered on 4pda and downloaded it.
 

Attachments

  • Like
Reactions: brundark

airidosas252

Senior Member
Mar 22, 2014
864
946
123
Šiauliai
Possible. I was at PE 10 Beta. Maybe it's because of the SDK differences.
Most of the custom roms reuse already available binaries and stuff from MIUI, unless dev is clever enough to transition fully to CAF, so it should work, I think.
From what I've seen, MIUI is not any different when it comes to thermal configurations. Both of them use the same binary and same configs (they might be changed, not sure)
 
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone