Continuing the discussion from Librem 5 media (photos and videos):
I generally respect Rob Braxman’s take on things, but he got quite a few details wrong in his review of the Librem 5, and he didn’t spend enough time with the PinePhone and Librem 5 to properly review them in my opinion. As someone who has used LineageOS on my Android phones since 2015 and owns both the PinePhone and Librem 5, I generally would agree with Rob that Linux phones are mostly for Linux enthusiasts at this point. Nonetheless, I found so many details to be wrong, that I decided to document them just in case anyone is relying on Rob to give them an informed opinion.
6:20 “Somebody actually gave me a Librem 5 a year ago I think and it ran for like one minute and then I was never able to run it again.”
If Rob had bothered to do a simple web search, he would have found out how to get the Librem 5 to boot. Usually it is just a matter of holding down the Power button for 20 seconds or taking out the battery briefly, but there is a more complicated procedure listed on the developer’s wiki.
7:15 “So I took a picture and the sucker hung.” 8:20 “The camera does not work”
People on the forum reported Millipixels hanging after having used it a while, but it usually didn’t happen immediately on the first picture. At any rate, Millipixels 0.22 released on May 9, 2023 should have fixed the problem. Again, Rob didn’t bother to keep trying to use the camera or do a web search to find out if the camera usually worked.
9:50 “It’s a Linux issue because Linux wasn’t made to handle power savings on mobile so Linux itself is not a mobile operating system”
While Google has done a lot of tuning to make Android more power efficient, like aggressively turning off background processes and limiting the background polling to keep the processor from having to constantly wake up, that doesn’t explain most of the difference in power consumption between Android and Linux phones. If we look at the Volla Phone, using a MediaTek Helio P23 processor, Notebookcheck reported that its battery life was 17 hours in a WLAN test when using VollaOS (an Android Open Source Project derivative) and 2-3 hours less with Ubuntu Touch. The Volla Phone with Ubuntu Touch uses the same Android kernel/drivers with libhybris as VollaOS, so it shows that the software stack above the kernel is not the biggest determiner of battery life.
Given that NXP wrote the drivers for both Android and Linux, I doubt that there is significant difference in the power consumption of the Android and Linux drivers for the i.MX 8M Quad. While I’m sure that the power consumption of Phosh and Plasma Mobile can be improved, and suspend needs to be improved in the Librem 5, the biggest difference in power consumption is caused by the hardware, not the software. The problem is that none of the makers of integrated mobile SoC’s (Qualcomm, MediaTek, UNISOC, Samsung, Apple and HiSilicon) support Linux, so Linux phones like the Librem 5, PinePhone and PinePhone Pro are using processors designed for SBCs and larger devices. Linux phones use 5 or 6 chips with larger planar node sizes in place of a single mobile SoC which has a cutting-edge FinFET node size (4 - 10 nm), and Linux phones have 1.5 - 3 times more electronic components than Android phones, which makes Linux phones less energy efficient.
[Holding up the Librem 5] “They haven’t changed the internals of this, as it was designed four years ago”
Purism has produced five hardware versions of Evergreen that I know about (1.0.2, 1.0.3, 220.127.116.11, 1.0.6, 18.104.22.168) with the last revision in Feb. 2022, which improved the GNSS/GPS. In comparison, the PinePhone had 3 revisions (1.2, 1.2a, 1.2b) with the last revision in Q4 2020. PINE64 fixed the problem with data transfer not working in the USB-C port, but PINE64 has refused to fix the problem with the screen flickering when at lower brightness and has refused to change the eMMC’s voltage from 3.3 to 1.8 volts, which would have increased its sequential read speed from 55 to 125 MB/s. PINE64 doesn’t provide a way to report hardware bugs, and my attempts to get the errors in the PinePhone’s schematics fixed have been in vain.
11:35 [Holding up the Librem 5] “So it’s a very expensive phone, and it looks like it’s well made. Obviously we sell this for half that [holding up his BraX2 phone], so we’re selling these phones for $420 currently… I wish Linux were more successful, … Unfortunately there’s a problem with Linux succeeding in this space. They have a lot of work to do and nobody’s really investing in it.”
Rob misses the fundamental point that the higher price for the Librem 5 is paying for the software development of mobile Linux, whereas buying another Linux phone (PinePhone, PinePhone Pro, Volla Phone 22 and X23 or F(X)tec Pro1 X) does not pay for much software development. Purism’s new software projects for the Librem 5 contain 344k lines of code and libhandy, libadwaita, Calls and Chatty are now official GNOME projects, and Purism has added code to roughly 20 GNOME applications (GNOME Software, Nautilus, Contacts, Calculator, Geary, etc.) to make them mobile friendly. Thanks to Purism’s dev work, GNOME is becoming adaptive and touch friendly, so it will now work on mobile devices. Because Purism tries to work upstream as much as possible (~200 commits to Linux kernel, Coreboot, wlroots, GTK/GNOME, Debian), it is helping to improve FOSS in general.
The only other company investing in mobile Linux development is besides Purism is Jolla. Now that Plasma Mobile has stopped using Halium, libhybris and oFono, Jolla’s dev work on those projects has become less relevant to the community. Jolla’s dev work on the Halium platform used to be important, since it was shared by Sailfish OS, Ubuntu Touch, Plasma Mobile and WebOS/LuneOS. However, Sailfish OS has not been successful in attracting hardware sellers and will never be adopted by the wider community due to its proprietary Silica interface and its proprietary AlienDalvik library. Ubuntu Touch only has a tiny number of volunteers to maintain a mountain of siloed code and its Lomiri (Unity8) interface only had 7 commits in the last year. LG has stopped developing WebOS for mobile devices, and its community derivative LuneOS is little more than a reskin. Realistically the only Linux interfaces with enough developers to be sustainable in the long term are KDE’s Plasma Mobile and Phosh, which is developed by Purism and is based on GTK/GNOME.
33:55 [Talking about PINE64] “Everything that they do is open source. They open source the hardware. Who has seen that? Open source circuitry, circuit boards. That’s pretty awesome, so that’s a very legit company, and take the price. It’s a fraction. They are making these phones for hardly any money.”
PINE64 does NOT produce open source software or hardware, whereas Purism does both. Both PINE64 and Purism have released the schematics for their phones in PDF, but PINE64’s schematics are proprietary, whereas Purism’s schematics have a GPL 3.0 licenses, so any company can legally use or modify the Librem 5’s schematics. Purism released the original source files for its Librem 5 dev board and the files for its case, but it said that it would wait until it recovered its development costs for the Librem 5 before releasing its CAD/Gerber files. In addition, Purism has publicly released the wire drawing/board view of its circuit boards, so people can actually work on the circuit boards, whereas PINE64 doesn’t publicly release those files.
Purism pays for substantial free/open source development and upstreams its code as much as possible, whereas PINE64 doesn’t pay much for FOSS development. It offers a few DevZone bounties and it gives some money to Manjaro for each PinePhone that it sells, but Manjaro does mostly configuration and distribution maintenance, and doesn’t pay for actual software development. Most of PINE64’s support comes in the form of free hardware that it sends to volunteer developers. I think PINE64 is doing a great service for the Linux community by selling hardware at a small markup over cost, but PINE64 is not paying for much FOSS development and it is not taking a huge financial risk to develop mobile Linux like Purism. Purism says that it went way over budget developing the Librem 5, because it used a new processor in the i.MX 8M Quad that has required a lot of kernel dev work and it developed a new mobile Linux interface in Phoc+Phosh, which has required several million dollars of dev work. Rob calls Purism a “scammy company” without acknowledging how the development of the Librem 5 caused huge financial problems for the company, which resulted in dissastified customers who couldn’t get their money back when they cancelled their orders.
In contrast, PINE64 took existing processors (Allwinner A64 and Rockchip RK3399) which already had good Linux support and adapted existing boards that PINE64 was already selling in an SBC and laptop to add a cellular modem and sensors to make the PinePhone and PinePhone Pro. Then, they sold them with a 30-day hardware warranty and asked the community to develop the software. I think it’s great what PINE64 is doing, but there is very little financial risk for the company. Given that PINE64 has probably sold around 100,000 Pinephones, it has likely recovered any investment that it made in the development of the phone, whereas Purism has probably only sold around 5000 Librem 5’s and is unlikely to ever recover its investment in the Librem 5.
34:40 [talking about the PinePhone vs Librem 5] “You don’t feel bad doing a project phone for under 300 bucks. You do feel bad spending 800 bucks and really getting nothing usable.”
38:30 “The Librem 5 is almost a matching spec with the original PinePhone, so they’re very similar”
Rob looked at the amount of RAM and eMMC and the four Cortex-A53 processors and assumed that the Librem 5 and PinePhone Convergence are roughly equivalent, but using the Librem 5 feels nothing like using the PinePhone in my opinion. I benchmarked the Librem 5 to have 30% better integer performance, 35% better floating point performance and 150% better graphics performance than the PinePhone. According to my tests with Sysbench, the Librem 5’s RAM is 4.8 times faster than the PinePhone and the Librem 5’s eMMC sequential file reads are 5 times faster and its random file reads are 3 times faster than on the PinePhone.
I played around a lot with the PinePhone when I first got it, but I rarely use it any more and it mostly sits in a drawer in my desk nowadays. In contrast, I have kept using the Librem 5 due to its better hardware. For example, it takes 11.2 seconds to load Firefox on the PinePhone with Mobian, whereas it takes 3.8 seconds on the Librem 5 with PureOS. Over time the Librem 5 has gotten more usable, because Purism is paying developers to work on it, whereas I don’t think that I will ever use the PinePhone on a regular basis, because its GPU, RAM and eMMC is simply too slow in my opinion.
This isn’t to say that the i.MX 8M Quad in the Librem 5 is a good processor–it runs too hot, it sucks too much energy and it will probably never do good video recording at a high resolution–but it is good enough for most tasks and it isn’t hampered by extremely slow RAM and eMMC like the PinePhone. I also don’t feel bad investing in the Librem 5 due to the fact that it has helped finance a lot of good software dev work.
I feel more ambivalent about the PinePhone, since I haven’t gotten much personal use out of it. At first I was more positive about the PinePhone, but its software development seems to have stalled over the last 1.5 years in my opinion compared to the Librem 5.
I’m overjoyed that the PinePhone has attracted so many volunteers to work on Plasma Mobile and Phosh, and given 20+ different distros hardware where they can run their flavor of mobile Linux. The PinePhone was a shot in the arm for postmarketOS and Ubuntu Touch and led to the creation of the Mobian and Danctnix distros to make mobile versions of Debian and Arch. It inspired Ubuntu Touch to add support for Linux drivers (rather than using Android drivers with libhybris), Mobian to build the telephony stack via their eg25-manager project, Martijn Braam at postmarketOS to create the Megapixels camera app, Megi to work on the kernel support for the hardware, and Biktors to work on free/open source firmware for the EG25-G modem.
I think that the PinePhone has been a fantastic community project, but I haven’t gotten much use out of the hardware, and it looks like many of the volunteer developers that made the PinePhone a success haven’t stayed around for the PinePhone Pro and PineNote, so it is unclear how sustainable these community-based projects are. Rob assumes that the PinePhone Pro will become a usable device like the PinePhone, but I am less certain after seeing the lack of progress over the last year.
Personally, I think that PINE64 should have charged $50 more per device and used that money to pay developers to develop the drivers for the hardware and work on fundamental components like libcamera. It doesn’t make much sense to pay a distro like Manjaro when it isn’t doing much software development and not helping the other distros. The focus should have been on kernel development and the guts of Plasma Mobile, rather than distro development in my opinion, because that is putting the cart before the horse. Another problem is that much of the kernel development for the PinePhone hasn’t made it into the standard Linux kernel, which would have happened if PINE64 had paid developers in the same way that Purism did.
38:40 "Now let me talk to you about the BraX2 phone. The BraX2 phone was first sold in April of last year, so that was a year ago, and I’m definitely going to be out of BraX2 phones around June.
This to me is one of the fundamental drawbacks of Android phones and Linux phones like the Volla Phone which rely on Android drivers. Their chipsets are often only manufactured for 1.5 to 2.5 years, and then they generally only get two years of security updates after that (although credit to Apple and now Google for providing 5 years of support for their phones). By choosing a MediaTek processor, Rob is helping to promote planned obsolescence and a device that will quickly become insecure because its major kernel version is locked and it will stop getting security updates within a couple years. I don’t really disagree with Rob in his general assessment that AOSP phones are more usable than Linux phones, but I wish that he would clearly explain their drawbacks as well. Rob’s web site sells the Pixel 3a with LineageOS and the Pixel 4a with CalyxOS, but those phones are no longer getting security updates from Google, whereas NXP promises to sell the i.MX 8M Quad till Jan 2033 and will probably provide security updates for several more years after that.