I am yet to share in the forums my 6 months review of the Librem 5 (I do not own another phone) and I found out that a lot of what I thought were issues with the Librem 5 are actually mentioned in the article as being issues with GNOME when it comes to performance.
I can’t test different distros or operating systems with my Librem 5 (it is my daily driver, after all), but, for the sake of a reference, my ThinkPad W530 has a 96Wh battery that, after a decade, has lost 20% of its capacity.
My installation is heavily customized. After booting, I don’t have more than 15 processes running. After starting X and OpenBox, I have perhaps 25 (I load a few accessories on top of OpenBox). With this setup, using WiFi, I get 5-5h30 hours of productive time with my machine. Windows gives 3h30-4h and, when I had Ubuntu with GNOME, I used to also get 3h30.
I wonder what we would gain in terms of lower temperatures, battery life, RAM usage and performance if GNOME didn’t suck as much as the author claims it does. (and, gnome-software, uuuuuuuuuuugh!!!)
I now also daily my L5 and I get 8 hours of battery life out of the device. This is normal, my android is only marginally better, if at all. For phone calls, texts and a bit of email and web browsing, it is exactly as expected and I just need to buy a power bank to give me extended life if I want it or just carry spare batteries and swap them out.
The power consumption comes primarily from the following areas:
The L5 is not hyper aggressive about power consumption the way an android is configured to be. The screen is what uses up the battery the most and android are hyper aggressive about shutting down the screen to conserve power. For my use case, aggressive power management impedes my ability to use my android and I prefer that my L5 keeps the screen on for as long as I want and shuts the display down when I want it.
In other words, even under optimal settings, I want to waste battery power because that makes sense.
I am not certain that we have fully accelerated video drivers in comparison to the native drivers that android gets. They are reverse engineered and I have no idea how they compare. If they are not as efficient as native drivers even applications that use acceleration will be using more power than on native drivers. I could be wrong about this and I don’t know if this could even be measured.
Then, of course, there are apps that are not 3d accelerated and end up being rendered in software on the cpu which is the second biggest drain on power. The problem here is that we all are using slightly different applications so who knows what is using up power relative to anything else.
My conclusion here is that Purism has solved the core battery issues which is what allowed me to start to daily my L5 now. All of the other tweaks are going to take forever to address and implement, if ever. Not everything is under the Gnome project banner even if they do use GTK and even if it is a GNOME project proper I am not sure how much power Gnome has to tell volunteer to work on their apps.
Probably there is room to address low lying fruit like Firefox video acceleration which, I am told exist, but is not working on the L5 because of a conflict between the subsystems in the L5.
I think “GNOME sucks” is the type of generalisation that doesn’t lend itself to making technical improvements.
Also “performance is not a goal of V1.0”.
I’m sure that if there are some strong specific wins that Purism finds then, at some point in the future, Purism would pursue them. However we also have to bear in mind the benefits of having the platform support upstream - if GNOME is not in agreement.
Not disagreeing with that but possibly booting from the uSD card would enable you to test other environments without breaking too much. However, as always, image your phone using Jumpdrive before getting adventurous.
The closest thing to being able to compare this that I’ve seen was the PinePhone. The PinePhone is also capable of running Phosh. But after I used it for Phosh, decided it was laggy and slow and crashing too much, then my Librem 5 arrived and wasn’t laggy and wasn’t crashing, I stopped using the PinePhone in favor of the Librem 5 because the Librem 5 was so much better.
But later a friend mentioned GloDroid. It was like a hack someone put together to make the PinePhone able to run Android.
It was honestly creepy, like a big slap in the face to Phosh and a reminder of how much money Google has. On the PinePhone, GloDroid made that hardware that was otherwise quite painful seem capable of a smooth, “makes you want to use it” Android experience.
I would be surprised if given sufficient development time whether it might be possible to run that on the Librem 5, too, and then it might have tremendous performance. But even in a world where that might work, would it subtract something from our collective experience to tempt us to just run Android on these things? Maybe it’s better if nobody gets GloDroid running on Librem 5, so that we don’t face that kind of temptation.
From a hardware acceleration perspective, that is really interesting. All of that comes down to the drivers, I guess the managed to find the right version of android and stuff the correct native driver blobs in it?
Sounds like heck of a lot of work and shows where we are at a real defecit.
That’s mostly related to the graphics acceleration. I’ve tested the Pinephone with Phosh rather early and in some later stages. It improved drastically when Phosh implemented hardware acceleration. For example pulling down the quick settings panel from the top was a night and day difference. So I’m not surprised that Android feels that responsive already.
The most issues we have now using the GNOME software stack is actually on application level. Many applications still use GTK3 which leads to worse performance overall than with GTK4. Additionally many applications are developed for a desktop PC with pretty solid single-thread performance. However on mobile you end up with multiple low powered cores. So it’s much better if intensive tasks are handled asynchronous to make the GUI responsive during load. Users will feel the difference.
Last piece is that we need to get maximum of performance out of the hardware. So for this you actually want improvements on the GPU driver, support for modern APIs (for example to utilize the new unified GPU renderer of GTK) and improvements on scheduling.
Obviously there would be less issues when the hardware was simply more powerful. There are things a Librem5 can’t do because of lacking performance. But I think for most tasks, it’s totally fine spec-wise. It just needs more optimization.
a postmarketOS user thinks only thing working well on gnome is phosh made by purism.
Screen doesn’t increase temperature as bluetooth/modem/wifi does. I noticed battery is drained quickly when modem/wifi is on. Also using modem / wifi increase temperature which also reduces the battery charge.
Run PostmarketOS on librem 5
check battery life, RAM usage and performance.
Compare with Gnome
How can we boot pureOs without gnome desktop, only phosh?
It is possible and how to boot librem 5 with PostmarketOS from SdCard?
I may not have been clear. I was more about the application level. For example, when I run the terminal and run top, kgx uses 1.5% of CPU to draw the characters to the screen. My HP 712/60 with nextstep 3.3 also uses around 1.5% CPU to redraw the screen. Granted, kgx is way newer, loads a custom font, output is scaled and antialiased, etc, etc., but we are talking here about a multicore GHz+ CPU vs a machine with a 60MHz CPU and 128MB of RAM.
I don’t think the Librem 5 has to be faster, hardware-wise. The software has to get better. I am well aware that Purism is responsible only for a minimal part of what happens on the phone when running pureos but mankind seems to always make the software heavier way faster than it makes hardware faster.
For example… Feeds. Does it need to be so heavy?
Chat goes for a while high CPU usage when a new message comes. What is it doing? Isn’t it just receiving ~150 characters from the modem, writing the result to the DB and displaying the output? I know I am being overly simplistic here, but, I don’t know…
The answer to my questions may never come, and I am not a good enough of a programmer to be able to contribute in any meaningful way. It’s not so much about how fast the UI renders and how much better it could be with hardware acceleration but the fact everything seems to use more CPU and RAM than my sense tells me, and I wonder how much faster the phone would be and longer the battery would last if just booting to desktop and loading a few background services wouldn’t be so resource-demanding.
I may install and boot from my SD something else to compare.
The biggest culprit, in my daily use, is the web. But that’s not GNOME or phosh or Firefox - the web just sucks nowadays.
Okay well yes. As much as I hate to point this out, I have a Windows nt4 installer that is 40 mb in size total! Windows 95/98 are unbelievably snappy on hardware of that era. I need to get some hardware similar to yours to test out the nix environments of that time.
In comparison, I have no idea what has happened in the software world to get the results we are seeing. For example, I have been exploring the Arcan (https://arcan-fe.com/) display server on a test environment and the display server consumed 37 mb and that includes the Durden window manager, entire sound and media subsystem and a whole bunch of other goodies. The PHD level dev did most of the development on a single core Raspberry PI.
I agree with your sentiment. It is embarrassing to have this much power in the palm of my hand and for software to be this slow.
Indeed. It works the other way too. Faster hardware is used as an excuse for crappier software.
However unless someone can find something specific, not much will happen.
As you also imply, I think web browsing is an area where the problem is as much in the specification as it is in the software. If the specification is massively overengineered then it becomes difficult to write a fast, compliant implementation. Even with a fast implementation, you are limited by the web page itself, if the page includes scripts.
I often browse the BBC and at some point the ratio between data consumed for visible content vs invisible content was 20:1. I don’t know how it is now.
It’s insane to download (and process!) 10MB of data to get 500KB of images and 5KB of text. Browse some old school page, maybe one of Cameron Kaiser’s project pages, or even Wikipedia. It’s quite refreshing to see immediate reaction between a click and the screen refreshing, even over 2G.
What upsets me the most is all the talk about CO2 emissions and the sort. With all the efficiency improvements we had, if software had remained as efficient as it used to be, we would all be emitting way less CO2 and generating way less trash.