FP2 GPU gets too hot


I am using LOS in my FP2. I feel that when I use graphics the phone gets insanely hot. I really do not think it is normal. For instance, today I made a video of 10 minutes, and it got quite hot. Of course this comes with a battery drain. Some days ago, I made several videos of some minutes and it ended up rebooting (I believe that out of the high temperature).

Also I have noticed that the same happens when playing videos. So I think it is related to the GPU…

Do you guys have the same problem? I do not think this is normal. Maybe you could suggest some benchmark or something for me to give objective information.

1 Like

I recently left the camera of my FPOS phone on after taking a picture, then put it into its pocket. When I took it out again after some minutes it was extremely hot and the battery percentage had dropped quite a bit. My wife’s FP1 behaves similarly, so I assume that this is rather normal behavior unfortunately. But I don’t have any comparison with unfair phones in that regard.

This is normal with any GPU/CPU intense activity as the ones described (HD video processing I suppose). Concurrent battery charging and discharging also produce lots of heat and add to the general temperature rise of the device in those situations. Any smartphone is subject to this problem, it’s just the laws of physics at work.

Occasionally taking a few cool shots could help to limit the temperature rise. Alternatively you also could temporarily hijack Dr_Cool"s label, maybe it´s good for a few °C, too :grin:

…no, no, sorry - that´s all crap, forget about this :roll_eyes:

I totally agree to what @Dr_Cool has stated.


New or old camera module?

There could be a slightly higher temperature rise when filming with the new than with the old module due to the higher data rate being processed.

This actually could be an interesting test for someone who has both modules at hand. :thinking:


I do have the new module, it came with my FP2, so I do not have the old one to test. I have recently tried reducing clock speed in GPU with Kernel Adiutor and it seems like it gets less hot (only tried playing videos). I did not notice any worse performance, so I believe this is an optimization problem.

1 Like

I have different thoughts on this.

Both Omnivision camera chips (1st OV8865 vs. 2nd OV12870) can provide videos in full HD although the new one could catch uhd videos (relying on their original datasheet from the manufacturer). I wasn´t able to find the corresponding datasheet for the xx70, only for xx90, but 12MP looks like uhd and is usually only a matter of a different frame rate. So xx90 could go up to amazing 270fps for HD and 60fps for UHD.
I assume your xx70 type would just go a bit slower nevertheless still faster than the first OV8865 chip though.

This then could result in a higher data rate being processed which again would cause a higher heat development.

I don´t know for sure were the limitation is made as to my knowledge FP2 is only providing full HD video streams, not higher.

So if the new image chip itself is limited by its internal software settings (there are 64 bytes customer memory reserved) it wouldn´t deliver higher video shots than full HD and not more data to the SoC. Then there should not be a noticeable difference to what we had with the first module.

If it´s however going full throttle pushing all the data to the SoC which therefore limits it to full HD there is a chance for a temperature rise as all the data is being processed but saved only in a full HD sized video file. These are internals only FP can know.

For still images there is no problem as they are taken snap-by-snap and afaik there is still no series function available.

That´s a good idea, probably needs root access though as I assume.

Yes, that´s what can be expected. There is a difference though between playing back videos and recording videos. For playback only the SoC has work to do. While recording both, the camera chip and SoC are involved, the latter has even more to do as video data processing (compression) is running as well.

Someone could put it that way.
But remember what @Dr_Cool has written. Heat development is normal and cannot fully be avoided and mobiles usually do not have any fans installed for active cooling such as conventional computers mostly have.

There´s only passive cooling done which is provided by the “frame” functioning as a heat sink.

I see different options to change this without any customer having to take approaches (or a risk of burned fingertips :laughing:) as you have done like limiting the clock speed or any other action.

Since the display only goes to full HD and the software also limits videos to full HD what for take video streams with much higher resolution. This could be limited accordingly directly in the camera chip (remember 64 bytes for the customer). Then the SoC would also be relieved a bit. (only picky users would now rise their fingers as there generally is a difference).

A frame rate limit would help too as it is no action cam. Anything up to 60fps should be acceptable for all purpose (always considering the data stream between camera chip and SoC)

I know my phone only partially from the inside. Maybe there is more room for advancing the heat transport. I am not sure if the SoC case in only touching the frame or if there is a thermal heat pad clued between them. If not, this could help. (almost anyone could apply such by himself btw.)

At last that´s the design of FP and I think their engineers considered such things already. But we users are more in quantity and are making more experiences with the phone in every day life. So there is space for technical advancements.


I would have post a thread on this same topic today so I’m happy to see that the discussion is going on.
I had the same problem from when my FP2 was replaced in January, it was one of the first produced and I was happy to have a brand new phone with great new case. This hasn’t the well kown detaching problem but I suppose that it can play a role in the heating of the phone, or in the no-cooling if you prefer.
It’s a possibility?
In my experience the problem shows up when I play videos and also when it’s in charge, I don’t notice any other pattern for the moment

1 Like

Fast charging and discharging produce lots of heat. For my own benefit I created an Automate flow that checks battery temperature periodically when the screen is on and limits CPU speed to the minimum usable until it comes down to less then 40 Celsius, which is supposed to be a battery-saving value. If needed I can disable the restriction manually from notifications. I must proudly say that It’s a quite “cool” customization of my Fairphone… :wink:



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.