One of my great frustrations is that there are no decent CPUs available for Linux phones. None of the manufacturers of powerful mobile processors (Qualcomm Snapdragon, Samsung Exynos, MediaTek Helios/Dimensity, Apple A-series, UNISOC Tiger, HiSilicon Kirin) are willing to support Linux. Yes, it is possible after a couple years to get Linux support for some Snapdragons and Exynos chips, but I don’t think that Purism and PINE64 are willing to go that route, since community drivers often don’t fully support all the hardware, and proprietary blobs are required for the cellular modem, GNSS, WiFi, Bluetooth, HDMI video out, etc. Another option is to run Linux on top of Android drivers through libhybris, but it isn’t a good solution because Android drivers will stop being supported after a couple years by the chip manufacturer.
The current mobile processors with official Linux support are underpowered, outdated or suck too much energy for a phone. We just need a low-energy processor with some Cortex-A7x cores that uses a recent node size, but the chip companies don’t seem to be interested in making these kinds of chips for Linux.
The L5’s 1.5GHz i.MX 8M Quad at 28nm sucks too much energy and it lacks Cortex-A7x cores. The 1.8GHz i.MX 8M Plus (which is proposed for the Fir batch) uses a decent 14nm node size and is more energy efficient, but it has worse graphics than the i.MX 8M Quad, no DisplayPort support, and no Cortex-A7x cores.
The Allwinner A64 used in the PinePhone is hopelessly outdated and underpowered, and Allwinner doesn’t want to collaborate with the Linux community to support its more recent chips. The Rockchip RK3399S, which is used in the PinePhone Pro, has decent performance with two 1.5GHz Cortex-A72 cores, but they suck too much energy with a 28nm planar node. The Rockchip RK3566 (which will be used in the future PinePhone 2) has four up-to-date A55 cores, but no A7x cores and it still uses a 22nm planar node, so its performance and energy efficiency aren’t that great compared to the processors in today’s smartphones.
The Broadcom BC2711 (used in the Raspberry Pi 4) is pretty powerful with 4x 1.5GHz Cortex-A72 cores, but its 28nm planar node isn’t that energy efficient. I think it could make a decent Linux phone if downclocked, but Broadcom refuses to sell the processor to low-volume device makers like Purism and PINE64. Only device makers like the Raspberry Pi Foundation which ship millions of devices per year can get access to Broadcom’s chips.
The best chip that is currently available (that I could find) is the Amlogic S922X with 4x Cortex-A73 @ 1.8GHz, 2x Cortex-A53 @ 1.9GHz); 12nm fab; Mali-G52 GPU with 6x 846MHz EEs. It is designed for TV setup boxes, and I couldn’t find much info about its energy consumption, so I’m not sure how it would do in a phone. It is limited to a max of 4GB LPDDR4 RAM and it doesn’t support DisplayPort, so it requires adding an extra chip to convert HDMI to DisplayPort in order to get video out over USB-C. According to this web page, Mesa supports the GPU, but there is no support for hardware video encoding, the CSI camera interface, and the DSI video out (which would presumably be used by the phone’s screen) and only partial support for hardware video decoding.
The best chip that will be available in the near future is the 8nm Rockchip RK3588, which will have great performance with 4x 2.6GHz Cortex-A76, 4x 1.8GHz Cortex-A55 cores, Mali-G610 MP4 graphics, 6 TOPS NPU (neural processing unit), 8K@60Hz video decoding, PCIe 3.0, and USB 3.1 Gen 1. It is unclear when Mesa will support the Mali-G610 GPU, and I assume that there will be some blobs required just like for the RK3399. It also wasn’t designed for phones, so I doubt it will be energy efficienct, but it is hard to know at this point. However, at least it will make fantastic convergent phone/PC with support up to 16GB RAM and high resolution video out.
I noticed in the recent Register interview with Todd Weaver that Purism is considering using an NXP i.MX 9 processor in the next Librem 5.
He also said the processor tends toward the toasty side. “We pushed really hard with NXP, modified a bunch of Linux kernel development, so that we could get that cooler. It’s just that CPU runs hot. The next iteration, we’ll be using probably I.MX9 … that’s still probably two years away.”
I did an online search and all that I could find about the future i.MX 9 was that some i.MX 93x processors were announced in Nov. 2021, which only have two A55 cores and a 2D GPU and are designed for IoT devices.
I assume that NXP must have told Purism that it will be announcing more powerful processors in the i.MX 9 series in the future, but I’m skeptical that NXP is going to release a high-performance mobile processor for a Linux phone, because it didn’t do that with the i.MX 8M series. The future i.MX 9 processors will reportedly use 16 and 12 nm node sizes, which tells me that NXP isn’t going to try compete in terms of performance. If all NXP gives us in the i.MX 9 series is a four-core A55 chip at a 12nm node size, the Librem 5 v2 won’t be much better than the PinePhone 2 with a RK3566 processor.
Honestly, this doesn’t make me very optimistic about Linux phones being able to compete with Android/iOS phones any time soon. PINE64 says that it plans to make devices for the RK3588 just like it is planning to do with the RK3566, but if the RK3588 sucks energy like the RK3399, I don’t think the RK3588 will be a very usable mobile processor for phones. It appears to me that we will have the RK3588, which will make a great handheld PC, but will have poor battery life, and an i.MX 9 processor, which will have decent battery life, but poor performance for a convergent phone/PC. Meanwhile, Apple Qualcomm, MediaTek, Samsung, etc. will be rolling out 3nm mobile processors with great performance and great battery life, which Linux phones can’t use.