Power management on Librem 5

Considering all important issues (battery drain, thermal control) that are to be addressed in the next couple of batches, it would be great if we could get the option within settings
to choose battery or charger to power the phone, just like in my Thinkpad laptop.
That way, we can save battery for the day (and long term) and keep the phone cooler while in use. battery heats up more when charged while in use, causing extra tear and also making the the whole phone hotter, making it much harder for CPU to dissipate it’s own heat and stay cooler.
With this kind of Power Management option, most likely I would keep the phone no mater how successful improvements in Evergreen batch are.

I thought about this, because someone mentioned that we gonna be able to use the phone without the battery, given that it’s designed to be used as a desktop. This option would just make it easier, because nobody wants to constantly mess with opening the back cover and move battery back and forth. Fit me the best use is while on the long drives.

2 Likes

This could only be possible if implemented in hardware. And it’s most certainly not. Sorry! :frowning:

Not so sure. Nearly all Androids have a kernel setting which turns battery charging off. We’ll have to wait and see.

3 Likes

yes, but to be able to switch it via software you need physical wires and configurations :slight_smile:

I didn’t want to create a new thread, but I was wondering if something like desktop standby could be implemented on the phone.

Hear me out:
There are many times when I know I wont be using my phone, and where notifications, etc. are not important. It would be nice if I could put the phone into a lower power standby mode, similar to my laptop. I think that this would be a good way to save even more power, and make getting your phone back up and running when you are ready for it again pretty quick.

This could be a good interim solution while power management is being sorted.

Honestly, even if I had to remember to stand by the phoen all the time to get through a day, I would be good with that. I have a full up linux desktop in my pocket. It happens to be able to make phone calls, which I hardly ever use on my current phone.

Thoughts?

4 Likes

I guess it depends on what that actually does. These terms are used inconsistently.

From Wikipedia, for one interpretation:

Sleep mode has gone by various names, including Stand By, Suspend and Suspend to RAM . Machine state is held in RAM and, when placed in sleep mode, the computer cuts power to unneeded subsystems and places the RAM into a minimum power state, just sufficient to retain its data.

and

A computer must consume some energy while sleeping in order to power the RAM and to be able to respond to a wake-up event.

So the first question would be: can the SoC and other hardware in the L5 do that?

The second question would be: what wake-up events do you want? (Normally it would be keyboard and mouse but neither of those apply on a phone.) Incoming call would be good! Otherwise probably some button. You probably don’t want WoL.

The advantage of this mode is that there is limited state change to come out of the mode, not much at all in the operating system itself. However if peripherals have been sent to sleep, those peripherals can be troublesome and the operating system needs to manage and recognise their state change.

Do you have a power meter so that you could measure the difference in power consumption on your laptop between normal power mode but idle (testing display both on and off) and standby?

2 Likes

Sorry I didn’t answer this for so long. All good questions.

When I say standby I mean powered down, with the current operating state in RAM. Just like desktop computing today.

As far as what could wake the device in this mode? I would say ONLY the power button. That is, you push the power button and the phone wakes from standby.

The point of standby would be that during that time it is dead to the world. Phone calls, messages, etc. would not be received. This would be functionality exactly like the L5’s laptop brethren

I don’t know if the L5 hardware would support this state of standby, but it would be great to be able to treat the phone like a laptop and get some pretty amazing power savings as a result. .

1 Like

Fair enough but then we have different desires. For me I would want an incoming phone call or some kind of user intervention (button if there is one) to wake the phone out of standby.

So the point of standby for me would be to minimise power consumption while retaining all functionality i.e. doesn’t behave any differently from a phone that is not on standby. The only observable difference is the lower power consumption, with two additional factors

  • obviously having to “press a button” to use the phone (to wake the phone) is a difference
  • it is unclear how this would affect any running applications that are active (background applications) - so let’s assume that they would stop running - so that would also be an observable difference

If I want the phone to be dead to the world as far as incoming phone calls and SMSs/MMSs go then I would additionally use the cellular kill switch.

Once convergence mode is an option, some customers will be asking for “standby” or “hibernate” in their own right, but perhaps more the former. That’s part of being able to use a phone like a portable desktop.

1 Like

I noticed on the new Linux kernel (5.6) a new generic CPU power/cooling management driver. Does this help with L5 too - and if so, how much?

What would happen if we turn off the main CPUs Cortex®-A53 while the Librem 5 is sleeping, then turn on the other little CPUs Cortex-M4 to keep the system alive, like a hybrid function. May be a big save battery to the L5. :face_with_monocle:

from what I read about the iMx8 at least on of the A53 cores has to be on for the cortex m4 to work.
but I think the biggest Problem would be that you need to write purpose build software parts for the cortex M4 to handle all the interfaces to the peripherals as well as interact with the bigger cores.
Even with zepyhr as base OS on the M4 which got a lot of similarities to Linux it would probably take at least 1 man years of work to get that interaction in a useful state.
I’m not sure what the usage of the M4 core outside of the DDR4 Ram training would do to the FSF certification.

Cortex®-A53 can be turned off total or partial AFAIK

I plan to investigate this. At minimum, all it needs to do is listen for the wakeup signal from something, and wake the main CPU. In theory, it could run all the kernel-mode stuff, but that would be significantly more work.

As for the FSF, don’t matter at all as long as purism aren’t the ones to do it.

I planed to do that with my Librem5 dev kit but unfortunately never got around to do so.

I noticed after troubleshooting with Gnunet-Messenger that Phosh eat a lot of power c.p.u on Librem 5, so that is main reason why Librem 5 getting hot in normal use. So it is crucial to Optimize Phosh and GTK to save a Lot of Battery and Thermal.
A Libre GLES3.0 is under development which will enable Acceleration for Phosh via gtk4 which will improve a Lot the L5.

3 Likes