Is there a single Linux phone/tablet that can last an 8 hour day of actual use? Librem/Pinephone/Juno can't. My uConsole can't. Different category, but my MNT mini laptop lasts like 4 hours and can't be left in standby for too long or it drains to zero.
Meanwhile, it's been 10+ years since I've worried about daily battery life on mainstream mobile devices, even my 3-5 year old ones. I can fall asleep with Youtube playing and it's still playing when I wake up. I'm certainly not here to dunk on Linux phones. I want one! But if someone willing to put forth above average effort to use these devices can't realistically daily drive them, who can?
What's "actual use"? Furi FLX1 has the best battery life I've seen on a Linux phone. Idling, it last 3+ days. I'm sure it could survive 1 whole day of "actual use". I also think almost any (official) SailfishOS device would last a day of actual use.
It does seem like there’s been a backlog with the latest orders though - maybe due to tariff hell? I keep wanting to order but their forum has a few people being thrown for a loop on the order side, so…
e.g. your device consumed 1 Watt on average, you wanted 8 hour runtime, then you need a battery with 8 Watt-hours, or 2,162.162162162162 mAh at 3.7V of capacity, before factoring in buffers of various kinds. But it's also roughly the datasheet nominal capacity of a single 18650 cell.
You don't worry about daily battery life on mainstream mobile devices and you can fall asleep with YouTube playing and it's still playing when you wake up because manufacturers know consumers do that and optimize the phone to make that work. They probably reduce display brightness, cut powers to mics and P cores, ask 3M to make the pouch films 1% thinner so battery could be few more percent bigger inside, fudge battery gauges so you would be nudged correctly to have enough charge before you fall asleep, the list goes as far as your imagination could possibly go.
The fact that same behaviors don't happen on Linux devices, even with something like four of fresh 18650s, means the list ends before it begins. They probably don't do ANY power profiling AT ALL. I'm sure they don't do ANY environmental testing, either.
Would I accept that as a consumer? No. Would I if I was the manufacturer? ...
> FuriOS allows for running apps inside a container running Android codenamed Andromeda. This container has complete integration with the host and makes all Android applications work like native applicationsI'm running a couple of messenger clients and a web browser (Fennec under Android App Support as the native one is sadly a bit behind the times currently) all the time. The only thing I've noticed to eat a ton of battery is having wifi enabled when outside the range of my own networks, it seems the scanning the phone does in the background to look for known wifi networks is not energy efficient at all.
I think UBPorts and Sailfish prove that Linux for phones is practical if you're willing to rely on Linux applications that stick to mobile friendly APIs.
You need to configure and compile your Linux kernel for aggressive power saving, of course. Seeing how Linux currently struggles to effectively do power management on laptops without S3 sleep, there's plenty of work to be done if you want to use it with a phone.
It's not just about app developers either, Qualcomm's modifications to the Linux kernel are public thanks to GPL but most phone kernel modifications haven't made it into the upstream kernel so far. Projects like postmarketOS are trying to make things better but it's not easy to port practical code that works into code that's acceptable for the maintainers of the broader Linux project.
Hell, my watch runs Tizen and that's running a bog standard Wayland + PulseAudio + systemd setup: https://docs.tizen.org/platform/porting/system/#systemd
With the right kernel drivers, configuration, and tweaks, with a well-configured userland on top of that, you can run the "normal" Linux stack in a mobile device.
Getting applications to conform with an API that won't let them drain the battery in the background to make sure notifications don't arrive two seconds too late is much harder. Desktop applications don't really like being suspended/resumed the way mobile applications do.
Are there well-known good practices?... Or, do they need to be rediscovered as they are perhaps proprietary know-how?
And, yes, I often turn off wifi. I never go over my Data limits and 4G/5G is much more efficient for some reason.
It's a model that worked fine in multi-user setups where you ran a single executable, so that the security per user was meaningful, but today it just sucks.
Android is quite elegant in reusing the Linux kernel's permission system, but on a granularity that actually makes sense (apps are started as separate users, and they just elevated their concept of user a level higher).
Will you be happy with xeyes and a terminal? Like, even a technically superior solution is completely useless without an ecosystem to make use of it, and desktop GTK/qt apps won't work nicely on mobile without actual porting. Let alone a technically significantly inferior one that is a misfit in this shape for mobile hardware.
Mobile apps just had to "grow up" in this environment, plus they have proper APIs for this two-way communication between OS and the app. Android will just ask the app to save its state and then simply unload it from memory (after a while) - but this also makes perfect sense for the desktop scene, you also want to improve energy efficiency there. A spreadsheet app doesn't have to continuously run when it's in the background. You just have to add proper APIs and permissions so that apps can optionally ask for extra background work.
In terms of polish and app/dev ecosystem, I feel SailfishOS still rules, but it's getting harder to justify using/development, with it's increasing divergence from upstream.
I was actually surprised it is this good. I reinstalled recently and before the reinstall I had much worse battery life (Maybe 8 hours with normal usage). I think it was because of Syncthing running in the background.
It is also possible to use s2idle suspend which will improve the battery life even more but you will not be able to receive calls during suspend (though that may also be fixed in the future)
FuriOS (and its base Droidian) are at a better stage of development for devices made to run Android using the old Android Linux kernel, whereas postmarketOS is better for devices made specifically for Linux, like the Liberty Phone, Pinephone, etc. Droidian will not even work on them.