FP2 GPU gets too hot


The most heat development is directly in the SoC. If not enough heat can be released to anything acting as a heat sink it feels like a centralized hot spot there.
Yes, without the cover the heat could be released more easily to the environment, but I think there is only a little difference between the first and the actual slim-line case in this concern.
Generally, what I usually see, is when the phone is charged it is mostly laid on its back display facing up. The other way around display down if actually not being used would be better to prevent any heat accumulation.
Worst would be to simply charge it anywhere it actually is (pillow, blanket, pocket etc.). Rather prefer solid surfaces not supporting heat accumulation too much.
There were house and apartments fires due to the cause of overheating phones while being charged and not monitored.

I think it´s rather an internal reason. Not necessarily the cpu/gpu generating too much heat, but the heat release. Some users here did post requests (ideas) for a case fully or partially made of metal. Considering the better heat conduction this may only cause even more burned finger tips. :grin: I prefer to go with less heat conductive materials, at least for the outer shell.
Generally the design should be optimized to a better thermal balance. On Ifixit I saw that the 2GB storage chip is seated on top of the SoC. This already accumulates more heat as if being separately located.
And there I cannot see much of thermal conductive components which may be supporting for a better heat distribution. I see more potential here to advance.


Hm, :thinking:…aha… it is? Very nice thanks for sharing the link.

I just took a short glance at what the link provides.
Yes, that really sounds great and the required permissions are still acceptable.

An interesting solution someone has found for so many processes which could be done automatically without any user interaction. The principle seems to offer an entertaining playground for those who like to setup their individual automation flows.


I didn’t put the flow in a public library because it may not work on all Android phones, but it works fine on my rooted FP Open OS. It would be great if I could modulate charging intensity to reduce heat when charging while in use, but I don’t know of any way of doing it. The Fairphone 2 disables the charger once battery temperature rises above 43 Celsius, and will only charge again after the temperature falls back. It would be better instead to have less intense charging, which would produce much less heat during use. In that sense, fast chargers should be avoided while the phone is being operated, use a low-current USB data port instead. Anyway, this is how it looks:


Is it possible to do without a rooted phone?

I do not think so because of the need to change very advance settings (kernel settings).


Unfortunately you need root. One example of how root has become indispensable. :sleepy:

I guess most of the flows in the library are not tested on every single android device. I would therefore (maybe it is declared in a form of EULA, warranty regulations etc.) expect using any of them is anyones own risk.
But as a startpoint for other FP2 users it would be valuable.

I would also agree to what @Javi_VM has written. As some kind of charging routine kicks in as soon as there´s some kind of power source connected without the OS even being booted. I guess it´s directly implemented in the SoC
where you only can get after boot time by modifying a kernel module.
I believe root access won´t get you much further here.

Interesting flow, btw. Makes me remind a form of Siemens S7 function diagram.
Do you remember how long it took for you to have it working to your needs?

In one way you are right, I think I can follow your thought. But this is also somehow contradicting. Yes, you want to reduce heat development while charging - But the phone is in use meanwhile.
Imagine you are doing cpu/gpu intense actions like playing back/streaming HD video (playing Pokemon Go…). Now there is a high power demand already. To push more energy into the battery instead of having it discharged while being plugged you will have to overcome the boundary. This leaves you again with a high charging current alongside with the use. I am afraid it would not work this way.
I don´t want to question your competence in this field.

Of course this would limit the current and cause less heat development. After all it then depends on what you are doing with the phone. Watching images ok, but other actions…??
Several users already had reported about having troubles with a battery discharging even more whilst being plugged. It is not yet commonly known (since being a technical subject) how this charging mechanism works. Nevertheless this problem occurs also due to the fact that there is no original FP charger provided with the phone. Therefore users take what they have at hand. Sometimes they are lucky and all matches well, in some cases tough it does not.

Again I agree here.
This is a very interesting point you are mentioning. Many users commonly believe doing so should help when having troubles with other (AC) chargers.

From the #batteryguide

I don´t want to question anyones competence in this field. Often there is personal experience covering such statements.

I have built a few usb cables in the past for my personal need.
For USB 2.0 data lines does not transmit power (different with USB3.0). So it does not matter if using a cable with 2 or 4 wires. But the used wire gauge of the wires does matter a lot here. Actually that´s the limit for the current (wire gauge and specific wire resistance/conductance). Someone may have a strong all purpose USB charger providing 3 Amps (no fixed cable, but with usb socket). Connecting a cable with too thin cable diameter won´t get them far. Most, not all ac chargers don´t know what they are dealing with anyway. So it won´t make a difference if there are 2 or 4 wires. (power output is only on USB pin 1+4). A µUSB connector has 5 pins but cannot make more use of it unless it´s a OTG adaptor.

Any cable 2/4 wires (all with proper wire gauge of course) may deliver more current for faster charging (FP2 actually has no quick charge feature enabled). The highest I could measure was about 1,4Amps.

Depending on if available and how the data lines are connected to the “power source” - may it be a computer usb output, the data mode may be enabled, limiting the current or no data mode is enabled hence proving all the current the usb port can deliver (relying to official USB specifications).

There is only little help when plugging an usb 2.0 plug into a 3.0 socket. It could deliver slightly more current, but far from what usb 3.0 could do with a compatible 3.0 device (needing at least a corresponding usb-c connector and proper cable with even more wires of course). Current/wire gauge isn´t the limit here as it can also work with different voltages but 5V dc.


Thought provoking comments. Automate works without root, but many blocks need it, here the one that sets CPU speed, it needs root: https://llamalab.com/automate/doc/block/cpu_speed_set.html

1 Like

It took me about one day to code it plus some tweaking of parameters later. I’ll try to upload it on their flow library later.


There is a lot of information provided here. I could not find a word of root access although such actions I would expect needing root access.
Maybe I slipped by it, but it also could be pointed out a bit more obvious I think.
It is very promising but spoils the fun if someone does not have root access. Of course not your fault.

That´s why, ok. In this case if I were the developer would anyway point out this a bit more clearly, so users know in advance if they may find a solution for their needs or should not download the app if needing, but not wanting to go root.

Thanks, good to know.

1 Like

Here the passage on their site: “Note! This feature require a rooted device and isn’t officially supported by Android, may not work on all devices.”


Well, I took only a short glance at their site. But in the google play store I wasn´t able to find this piece of information. As stated before, maybe I slipped by.
Thanks again.

Good idea.
Doesn´t sound like needing a long study to get into it. So it looks like a intuitive piece of software. And all this for free…:ok_hand:

This sounds valuable. Maybe don´t leave this unmentioned when uploading it to the library or bring it up by the developers as a bug report (just my consideration).
Hopefully the governors default values are not some which may :fire: the cpu :grin:


Messing with the CPU governor is really tricky, the flow sometimes crashed and there are bugs that impede the governor to be brought back to the default settings depending on what you do with it. The way I did it is the one that showed to be 100% stable.


And had to find the minimum speed settings that allow for smooth browsing operation while reducing battery heat. Putting 2 cores at 300 MHz did it, easily knocking off about 5 Celsius.


I think this was a bit time consuming as having to run several tests by using the phone in different situations always tweaking those settings.
You have catched your reward for this effort as it sounds.

What have you experienced (if possible in this way), rather reduce clock speed or switch off cores?
Does it mean reducing a cores clock speed to 0 is actually switching off the core or is this done a different way?

Switching off is not always the best solution as e.g. MXPlayer utilizes all available cores.

I am a bit curious about how this multi core mechanism works. Some day maybe I have spare time to get deeper into this multi core matter.

Doesn´t sound much, but in electronic concerns this is noticeable and specifically when it comes to feeling the difference.


My experience with the Fairphone 2 is that shutting down cores, although possible, was messing with Qualcomm’s proprietary mpdecision, breaking hotplugging (dynamic core shutdown) until next reboot. And hotplugging seems to be quite effective in reducing CPU energy use. Changing governor had similar effects. So the least aggressive change that was still very effective was to cap CPU speed. Maximum speed is 100%, and 0% represents 300 MHz, the minimum possible without hotplugging. So I set cores 1 and 2 to “0%”, core 3 to 50% and core 0 to 80%, what seemed to be the best compromise since core 0 normally takes care of the main tasks while core 3 is usually active when there’s user/phone interaction. 80% and 50% was just enough to have smooth touchscreen operation under low stress.

1 Like

Concerning the temperature, keep in mind that battery operation temperature ideally should remain below 40 Celsius, and I believe that the phone will shutdown when battery temperature gets close to 50 Celsius to avoid fire hazards. It means that the “overheating” range is only 10 degrees Celsius, so knocking off 5 Celsius gets you half the way out of trouble! Besides, long-term battery life and rate of discharge are negatively affected by overheating. So again, 5 Celsius can pay you handsomely in terms of protecting your battery and hardware.

The question is: if this is so beneficial, why is it that engineers don’t introduce more strict battery temperature control in their smartphone designs? The reason is simple and quite twisted: because users would think those correctly designed smartphones are inferior products, after all they slow down when battery is under stress. The marketing decision therefore is to allow battery and hardware abuse to give users the impression that their gear performs better than their competitors’.

We’re all the way back to the OP question: why smartphones produce so much heat? Well, they overheat by design, it’s another case of race to the bottom, enabled by consumers’ lack of discernment.


Interesting read btw. Active drain will vary from user to user, even with the same device!
That´s a true statement which for some reason don´t have the power to convince many users.

I would guess there is some kind of feedback signal to let mpdecision know and keep track of which core is active and which not. Taking actions in this concern from the outside may cause this routine to break until it´s restarted at next boot.

A few days ago I have tried out the system monitor app to have a bit more insight in background processes. And yes, I realized that core 0 and 3 were the most in use while core 1+2 only occasionally. At first glance your setup makes sense.
I would had expected the core usage to be a bit more balanced for a more even wear. At least that´s the impression I have when on plain Linux.

Yes, indeed.

Another good point from a different view. Not to mention better sells as the hardware lifetime will be limited due to the stress - mainly spent non-replaceable batteries.

Although performance can be measured not every user is out for gflops,gmips and such. So at last my personal user experience would make the decision if a device suits my expectations or not. FP2 is my first smartphone. I don´t have any comparison to others (yet). But up to now I can proudly say - it is a very satisfying start-off.
If it´s not for gaming I think most handsets these days are way to powerful already. To assure a high efficiency there is a good task scheduler and governor needed. Up to now I had assumed this would only be done by Android. But that Qualcomm also had its fingers in wasn´t known to me.

Yes, again as so many things that can be taken influence in by consumers.


Here some pictures showing the difference between battery use under maximum load and when underclocked. First two pictures show clock frequencies and electric current under maximum load, while the last two pictures show clock frequencies and electric current when underclocked. As you can see there’s a reduction in current of about 20%, quite significant. The effect on heat production of such a reduction is clear, keeping in mind that heat tends to increase nonlinearly as energy consumption increases, so reductions close to the limits of the equipment can be quite effective.


Yes indeed, very obvious.
I always say these are the last but most important remaining 5% of work to be done prior to finish.
I am afraid most manufacturers won´t even bother with such optimization issues. At last it´s energy and money which the user has to pay. And if more stress to the hardware results in a shorter lifetime but higher sales it seems to be fine for them.
This market is still mainly untouched related to efficiency.
We have efficiency labels (A+++ - G), although they are not very close to real measurements. But since the EU has released the regulations for the maximum power use of e.g. vacuum cleaners, manufacturers did put more focus on more efficiency by producing better motors, develop better air stream systems and floor nozzles to get a better cleaning after all.

I think it´s time to put this mobile sector also more into regulations.
In the beginning in the 90s most people were concerned about being exposed to the radiation of such devices. Now we have very little values and these are also often test criteria beside others these days.
But if it comes to energy values there only seem to be the batteries capacity and runtime of importance. How efficient the device operates does not (yet) seem to be of any importance. If the runtime is too short usually it´s put that the batteries capacity is insufficient.
I think this is the wrong focus considering there are more mobiles around than humans living. Even notebooks have a much stronger focus on efficiency and runtime no matter which manufacturer.

1 Like

Indeed. The problem is that the business model of the GAFA, as they captured and monetized the infrastructure of the Web, is incompatible with engineered efficiency, it runs around keeping your gear as awake as possible so it tracks and spies on you, and then they sell all the information gathered in the most insidious way as an edge factor to the highest bidders. And to think that in the 90s and 00s some pundits were pushing this madness as “free lunch for all.” Well, there’s no such a thing as a free lunch, and I wonder when is it that the average consumer will wake up to realize that they’re being scammed.

1 Like