[Nexus 6P General] LarryChendragon2099:
Hey, this is my first post here! **Edited for... uh... clarity and to add some information. Hopefully it's more readable now.

I found a way to control and manage the thermal throttling of the device.***

Modern smartphones create a lot of heat, and usually the casing of the device or the aluminum midframe chassis is used as a heatsink. Unlike a laptop, it does not have a cooling fan, so it must rely on the passive dissipation of heat through the casing of the device and the display panel to keep the CPU temperature down. On the Nexus 6P, there is decent thermal contact between the processor IC and the midframe. However, due to both the fact that the RAM is layered over top of the CPU and because the thermal contact is still not ideal, it is difficult to keep the CPU as cool as a computer implementation.

In order to reduce heat production and control the temperature of the device, the OEM implements thermal engine for Qualcomm MSM chipset in order to slow the frequency of the CPU and GPU cores down when the temperature is high.

Right now it is set to 50C throttling temperature, presumably so that the heat production does not cause the display panel to heat up to the touch, as at lower powers, the thermal mass of the aluminum frame plus passive dissipation will make case temperature increases not very noticeable. However, at 50C, the CPU will often throttle even at medium load, because the hardware does not make it easy to keep the temperature under that. This has been true for every phone I have worked with in the past and some are even worse at this.

Personally, I find that having a high (>45C) surface temperature is not a huge problem (You can decide that for yourself. if it is a problem for you, this won't help you. You can't change the power efficiency limit of the processor). In my use case, when I have a lot of applications open, especially Firefox in desktop mode, or 4-way Android M multitasking or something like that (or just typing to a lot of people in Facebook Messenger or something similar). I kinda use the thing like a computer so obviously it has extended periods of high CPU workload and the device starts to throttle back to something like 1344 or 960MHz or even lower.

Given this, what I want to do is change the CPU throttle temperature to a higher one. Generally, we don't need to worry about protecting the processor hardware because it has built in thermal shutdown/reset functions should something go wrong. It's at something like 110C, which sounds high, but as someone who uses a MacBook Pro, it is normal to see the CPU temperature that high! Intel generally throttles at a much higher temperature because they don't care about the actual temp of the heat sink, only that of the processor die.

In the past kernel I tried, there was an option to set up the thermal throttling temperature (God's Kernel). However, I switched to the AK kernel recently, due to its High Performance Audio feature. This kernel did not include support for this configuration.

I am running MH19Q Marshmallow stock.

I used File Explorer with root access to go to system/etc I think and there is a file called thermal_engine.conf or similar. If you edit it, you see there are a lot of values. Actually basically if you look around, there are a lot of temperature values in there seperated by the things they control. I would like to explain more, but I think it is better if you can open up your file and my file side by side and see for yourself what's different. The gist is that there's a table of values and a bunch of actions to take when they're hit, and of course, there are release temperatures, which are basically the lower hysterisis limit I think. The temperature values look like 44000 or 43000 by default, which means 44C and 33C (celcius)and I changed mine to 97000 (97 C)

Here you can find the content of the file. Type in the pastebin website, then put slash QYhi05rE.

I didnt keep my old file.... sorry about that... Perhaps someone can post it if they have it.

With stuff set to 97 C, the device heats up a lot more, obviously, but it's manageable. If you have something like Cinema 4K open for a long time, of course it will get to like 50C on the surface (That is quite unconfortable to put your hand on, but I'm okay with it). Hangouts video calling seems to be the worst and sometimes the battery will get higher than 50C and then stop charging. Given the design of the phone, by the time the battery gets too hot to be safe, the system will probably shutdown or restart, and you'll notice it LONG before anything becomes a problem.

Thanks for looking!

***Do this at your own risk, as with all root mods and tricks. Obviously this has the risk of breaking things or causing hardware to fail. High temperatures on BGA soldered chips have been observed to increase the failure rates, even in stuff like routers and TVs and other stuff that you don't generally think of as having thermal issues. My last phone (Note 5) kinda broke after a little while, although I'm not sure if me doing this caused it. (Appears to be display panel issue, but have not tested). All I know is that earlier that day I was outside filming on it and processing video, and that the area above the SoC got rather warm to the touch. Which should be read as "painfully hot" to most.