It's a burning phone

This is almost certainly it. iOS and Android basically turn apps “off” when they are not in active use… especially iOS - so they don’t use power/battery while you are not using. As far as I’m aware there is no mechanism for this on the L5 currently. You will need to adjust your habits to close everything that you don’t need to be running before putting it back in your pocket. Especially something like a browser running some crappy JS code.

So we might rewrite this fact: “Maximum temperature raise at different discharge currents: 1A:+1,2°C, 2A:+3,3°C, 3A:+5,8°C, 5A:+11,3°C, 7A:+16,6°C, 10A:+22,1°C,” based on testing upon Eneloop NiMH AA HR-3UTGB in order to pretend that we are focused onto 1.0A range only (up to 4.0A range?), on what is actual BPP-L503 temperature raise (with/without WiFi on, particular apps open/closed, etc.),

to something like: with 10 FFox open Tabs (because of swapping) might raise your L5 battery (when battery inside of the phone and with display on) temperature to about “+22,1°C”, might (occasionally) add significant temperature to your L5 battery itself and the rest of the phone will be used to cool it down, please reduce number of open FFox Tabs. Just asking, don’t get me wrong (if you can).

1 Like

In the Ubuntu mobile (BQ E4.5, M10, …) any app which is not on the screen receives the SIGSTOP signal and when it returns to the screen a SIGCONT. You can define exceptions for this, for example for the browser to be able to listen some stream from Internet while reading other stuff in another app.

1 Like

You could killall -19 firefox to freeze firefox, and killall -18 firefox to unfreeze.

Edit: what guru says, did not read this far yet.

1 Like

Very interesting, works well using firefox-esr and really freezes the browser and brings it back when needed. Memory usage stays the same though, which should be expected as it saves the state it is in when frozen. If this could happen automatically when switching apps it would be awesome!


although I would not want to have this for all applications. Your music player would stop when backgrounded, your messenger stop to receive messages, ssh connections would time out…

For other, well defined things, that would be a nice way to save CPU cycles indeed (although improving specific apps to use less CPU when idling is a worthwhile goal in itself).

1 Like

I totally agree with that, but maybe a setting to decide which apps are allowed to freeze in the background.


For, say, email - and I suspect it’s the same with text messages - it is more complicated than that because there are two processes. There is a GUI process that interacts with the user and which could be safely frozen when not the current app and there is a background process that interacts with the remote system in order to get “messages”. The background process can probably manage itself, as it will likely be idle most of the time anyway, either polling infrequently or being event driven by the arrival of a message.

Of course, but the devil is in the details :-). If you freeze “thunderbird” you might as well freeze the service thread which is supposed to run in the background, so it really depends I guess. But I think, in the end we are all on the same page that it would be immensely useful to be able to freeze (or stop) an app at any point in time (for some app and frontend processes)…
This is what Android has actually done well. So well, that it is hard to keep an app running in the background even if you want to.

1 Like

What does this method precisely do? Does it send specific signals to the process? What happens with the memory? Will the memory swapped to disk? How long would that take on a process like FF with three digits of tabs?

I wonder how FF mobile handles my 4 digits of tabs on my android. Since I am permanently low on storage I see that FF always has to reload a tab. It has to store more than the URL because it also state like the viewport or input like text in text fields. Now that I wrote this I am not sure anymore if that’s always the case. It might be done by the website. This forum e.g. can store drafts of a post.

1 Like

Yes, SIGSTOP, which basically tells the kernel to not give any time slices to that process until SIGCONT.
It does not automatically swap anything, but when swapping is needed, I think the kernel should prefer swapping pages which were not used for a while.

1 Like

There is a merge request to fix the issue initially reported in this thread.


I am getting the slow blinking light when trying to charge sometimes and the phone is hot. I noticed what sometimes helps is not only killing unused processes but clearing the memory swap for that program (If this is what usage app does).

This should almost be a automatic function since charging the phone should take priority over all other processes and apps). Maybe with priority:

  1. phone too hot while charging,
  2. send that suspend signal to all running processes, except maybe the clock and any timers,
  3. if process does not suspend kill it,
  4. for killed process clean swap,
  5. dim screen,
  6. if bluetooth is on turn off,
  7. if wifi is on turn off (keep alive mobile connection if that was on),
  8. exceptions to the above rules for processes related to streaming video or audio over wifi, bluetooth, usb, lan,
  9. set all networks connected to metered connection,
  10. set wifi if still connected to power save mode, is there such a thing for bluetooth?
  11. finally limit any remaining running processes to 5% CPU.


Well the Librem 5 it is a Hot and Cold phone by design(first in world) :stuck_out_tongue: because the all terrain Freescale CPU it get hot a lot because the powerful cpu, but at the same time the dedicated-monitor-and-frame-plus-paste get cold the phone fast. Of course the L5 can be more cooler when the free-software got more optimized and adapted.
So if the red light it blink for temperature the phone will get cold by waiting time.
Hot to Convergence Mode = Docked
Cold to Personal Mode = Undocked
Most mobile device is designed to block the temp to outside by using a dedicated and closed unlinux cpu plus materials also including the pinephones slightly.
L5 is diferent.


The fake 85C bug seems gone on linux-5.16.18.


On the same topic of a burning phone, I disassembled my Librem 5 to fix something else but did not replace the thermal paste on the CPU. It was hot before, but since the reassemble the metal ring around the side of the phone is burning. I suspect I should attempt another tear down and replace the thermal paste with some top tier paste. Has anyone done this, and if so, was it worthwhile? Thanks!

1 Like

Ive not done this, however I would point out that thermal paste will improve heat transfer from the chip to the heat sink, it should have no meaningful impact on the heat transfer away from the metal ring out to the environment. I would suspect the heat transfer to said ring from the cpu is working fine as it is getting so hot and rather you desire a way to improve airflow over the phone itself.


This makes sense. The heat I’m feeling is proof that the thermal paste is working. In the end, I found that the heat is tolerable when I’m running on battery or the battery is at full charge. I avoid using the phone while it is charging. That is when it gets hottest. Thanks again!


Another hot summer day is coming, but @williamtries you forgot to mention status of: WiFi/BT card, as related:

And it is way less about thermal paste (important factor but not the main/critical one within/related to the Librem 5), IMHO. It is about power supply (source) used over there as/while when the Librem 5 reaches 5.00V it stops charging its battery! Yes I still need some time to be 100% sure, but when the BPP-L503 under 50% of its rated capacity (4.20V related one) Librem 5 uses/recharges internally its battery with 4.75V (or to be precise compliant power supply or powerbank in usage outputs 4.75V, as I might show within another post of mine). Actually I’ve noticed this for many months ago but I was unjustly disregarding (ignoring) that fact (therefore this post of mine relatively late in time :wink:):

With the WiFi/BT HKS off:

Also and if someone is wondering at all on why used tester is showing UNKNOWN code/protocol (when WiFi card out of the related circuit) it is because BPP-L503 battery is out of the charging loop (just my guess, as of now) and Librem 5 runs purely from the attached powerbank. For those living within or not far away from Italy, like @fiacco, it is available from here:

Yet I do not mind or recommend directly to take here presented 8000mAh one as it takes way too many hours to be recharged over its micro USB (input) port. Please consider newer generation ones, as much better choice (with upgraded but still compliant quality that your Librem 5 is desperately looking for):

As sbsmobile shows us here: 20000mAh one with the USB 1A port integrated (+ USB-C input) is available for purchase as well, car chargers … (might buy one to proof that, but I do not plan to do this any time soon).

RELATED NOTE: Preferably/only use, please, with Librem 5, USB-A output port in black (not the blue one) that is “marked” with 5V/1A. As I unofficially observed from my side USB 1A output provides current of 4.75V/1.45A throughout/when BPP-L503 under 50%.

NOTE II: With the WiFi HKS off (meaning WiFi connected and in use) Librem 5 consumes more power when its screen off, as shown (in order to be compered with the initial, very first picture attached here containing word UNKNOWN).

P.S. If someone wandering on why I wrote this post it is to proof that there are no heating issues in excess, whatsoever, if we are not (of course not) technically making Librem 5 “life” (when on) poor/misery! For example (as tip): recharge your Librem 5 battery when its capacity percentage around 40%−50%. Furthermore, someone might even leave it connected if 100% compliant power supply, like the Anker PowerPort Atom PD 2 − A2029, used after red LED light off (as this puts BPP-L503 battery out of power supply circuit, after 4.20V reached, please take a look at sensors command output, as attached above, I think as no “tricks” over original PureOS installation applied, and therefore cannot overcharge it). Use only quality charging cables (even if there is no queue for the 24AWG/2C ones any more), adjust “things” toward Librem 5 usage, not against it (or buy right away another smartphone :speak_no_evil:). And not to forget, I like my Librem 5 too (even more than yours)! Thanks Purism!


I did not receive my librem5 yet, so I can not test or adjust them to the librem5 and the used screensaver on the librem5.

But on my desktop computer I had a similar problem: my wife always uses firefox to watch a cpu consuming weather page (with much advertising). I asked her to stop this when she leaves the computer, but she often forgets it. And while I have many other kvms running on this computer for example vdr for tv, calibre for epub, asterisk for phone, the firefox process of my wife eats all the cpu. So I have written a script that solves the problem:

in my wifes .config/lxsession/LXDE/autostart I have added the line:

@/usr/local/bin/my-xscreensaver-watch &

And /usr/local/bin/my-xscreensaver-watch basically looks like:

xscreensaver-command -watch | while read input; do
  case "$input" in
        ( set -x
          pgrep -U $USER firefox | xargs -r kill -cont
          set +x
        ) >>/tmp/log.$USER 2>&1
        ( set -x
          pgrep -U $USER firefox | xargs -r kill -stop
          set +x
        ) >>/tmp/log.$USER 2>&1

Maybe this can be adjusted and be useful on the librem5.