Why I’m not backing the Purism Librem 5 phone

NOTE: This is a post about my opinion on the device, hence the title of “Why I’m not backing….”, people have been explicitly asking me why I’ve not backed it, this documents it so I don’t need to keep repeating myself!

Numerous people have come up to me and asked “So will you get Fedora to run on your Librem phone?” and when my response is “No, I’ve not backed it” I get weird looks with a question of “Why?” I had thought it was time to do document my concerns with this laudable venture. This was certainly further qualified when I had to inform someone from the EFF that they’re delirious about the “it doesn’t need closed source firmware” on the i.MX chips that are being proposed. While I applaud the general principals and ideas of a fully open rights protecting phone I can’t help but feel that the group doing it either are being false at worst or naive at best with some of their statements.

Firmware

Their site claims “The i.MX 6/8 CPU will be completely free software without any binaries whatsoever!” while this could be sort of true if you want a hobbled device it’s not really the case at all. There’s a number of firmwares that are needed to make a number of pieces of functionality of a mobile device useful. Firstly the SDMA driver needs a firmware to run at any level of reasonable speed. Secondly the accelerated media decode, which will be required if you actually want to consume meda on your phone and have more than moments of battery life, also needs firmware. You’ll note on the media decode I don’t reference the actual firmware! Why? Because it’s not actually distributed in the linux-firmware repository so you have to request it from NXP or somewhere with appropriate signups (while I’m not 100% sure I believe having a driver in the linux kernel without required firmware in linux-firmware is a breach of the requirements of said driver in the upstream kernel).

i.MX6 or i.MX8 SoC

The i.MX 6 or i.MX 8 option concerns me. Basically make a choice! The core issue I have is the i.MX6 SoC is ancient, being announced back in Jan 2011, and based on a Cortex-A9 SoC. It doesn’t support USB-C so to ship as promised they’ll need to add a PCI-e attached USB-3 controller, charging circuitry, and maybe even a LVDS to Display Port option plus a chip to MUX the three through the actual USB-C port if they want to be able to ‘dock’ which will make power consumption on the phone even worse! If I’d spent $600 and received a phone in January 2019 based on an eight year old 32-bit chip design I’d be seriously pissed off. To be quite honest the i.MX8 is no spring chicken either, being announced in September 2013, it’s based on the already quite long in the teeth Cortex-A53 SoC design which was the original aarch64 “little” low end design but it does at least support USB-C on the SoC. The i.MX SoCs are generally quite nice, and the i.MX6 is quite well supported upstream, but the whole line of SoCs are more targeted towards embedded applications like cars, so they do have a long support cycle. They’re not a mobile phone focused SoC though, they also tend to be quite slow to get moving in the market/availability and the i.MX8 has little upstream support in the kernel as yet. Sure the etnaviv driver enables an open 3D accelerated driver, one that isn’t supported by the vendor so doesn’t enable all the features upstream, but you can run this today on Fedora 26/27 on the i.MX6 SoCs now but a free GPU driver is not the only reason to choose a platform.

General concerns

I can’t help but feel that there’s going to be a lot of disappointed people that will end up receiving an expensive sub standard device, probably late, that ends up not taking us much further along the road, to a fully open rights protecting phone, than the days of the Nokia n9xx series phones running Maemo. The HW, if based on an i.MX6, will certainly not be much further along that route and still stuck in the past in terms of HW. I personally believe the project would be better off engaging with the Qualcomm community team to use the Qualcomm 820c/600c SoCs because there’s an open driver that Qualcomm are working to improve, and while there’s a need for firmware for GPU and media offload, in reality it’s no better/worse than the i.MX devices with the bonus that their devices that are more current and aimed at mobile workloads with the vendor actively working to upsteam the enhance the support support of their SoCs.

Ultimately I think a device that closely resembles the specs of a phone of recent history, than that of ancient smart phone history, is likely to get a better following and hence a better software ecosystem than one that’s the same era as the Motorola DROID 4.

Update: So just to clarify a few things that were bought up in a couple of threads:

First this reddit thread:

  • I don’t question the value of hardware isolation of the various wireless interfaces that they claim, or the ability of them being able to deliver that bit on what ever SoC they choose, that is why it wasn’t addressed above.
  • I bought up USB-C because it is explicitly claimed as a feature.
  • I bought up display port because given USB-C above and their “It can be a desktop computer and phone all-in-one” claim, including a nice picture, then DP over USB-C is the only real option for that functionality.
  • Qualcomm chips were an example of other SoCs I believe might be a better fit, yes they do provide options in their APQ line without built in radios, they were just an example of another option, there are other possibilities, it wasn’t meant to provide a guarantee, it was an alternative example.
  • Yes, all ARM processors have onboard boot firmware, it’s generically referred to as “PBL” (Primary Boot Loader), so do most other processors.

Second this purism thread:

  • Sure you can disable the media engine with an e-FUSE but media is kind of useful for a lot of use cases like video config, audio calls and music, not just watching videos. If they choose this route, I would hope they leave the fuses unblown and document how a end user can do it else the $600 is a whole lot less useful for a lot of people

Ultimately the main points is I have to make about all of the above is two fold, firstly it’s my opinions and why I didn’t back the device, and secondly there appears to be some large discrepancies in the statements they make about the device and SoCs which I would not have expected and that is the key problem for me because it causes concerns over the ability to deliver a working and useful device to me. $600 is not a small amount of money, for me at least, to hedge on what *might* be a i.MX8 or might be an old 32 bit i.MX6.

9 thoughts on “Why I’m not backing the Purism Librem 5 phone”

  1. So you say it is a laudable venture and yet you criticize quite a lot based on your assumptions. You could have brought (and still can bring) your expertise to the table. They do listen to feedback. I think that would be much better than just criticizing. You do realize that there is exactly one reason that holds them back from promising to use the i.Mx8? They don’t want to promise something that they could not yet test, lacking chip samples. This will hopefully change soon.
    I think quite a few of your concerns would be addressed if you’d ask Purism about it, if you think the information out there is not sufficient.
    Also, people who spend $600 for a laudable cause don’t do it to brag with bleeding edge hardware. They do it so that some years down the road everybody, even the former sceptics, can enjoy 100% libre hard+software.

    1. The post is *opinion* with some facts based on the SoCs and my knowledge there of. I post it here because I was both asked to and got sick of people asking me why I didn’t back it. I never said it wasn’t a laudable project, if fact I state that in the first (now second) paragraph. The post is why *I* didn’t back it, people are free to make up their mind.

  2. Reasonable concerns. I’d love to know how you feel about Raptor Engineering’s POWER9 based systems that they are currently accepting preorders for.

    1. Having worked on Power8 and Power9 in Fedora I’ve only seen the Talos system (is it the same?) and yes, I think it should be great hardware and I have no concerns about it.

  3. A general move away from Qualcomm for a viable alternative doesn’t seem the worst move, I think a lot of security / privacy conscious people are less fussed to have the latest, most powerful, snappiest hardware.

    https://www.computerworld.com/article/3200505/mobile-wireless/ftc-vs-qualcomm-no-license-no-chips.html

    https://www.theverge.com/2017/10/11/16461396/qualcomm-taiwan-fine-abusing-monopoly-position-modems

    Things like this are consistently painful reading

  4. How can a SoC “not support USB-C”? It’s just the specification of the connector, not the data signal protocol right?

  5. The reason they chose the i.MX8 is that this is the only processor available in the market with good support for secure boot, trustzone and other security features. I build trusted phones and tablets and have been using the same SoC for precisely the same reasons. Been doing secure phone and tablets since 2003.
    And I do not have budget or cost constraints. Samsung Exynos is an equally good option but procuring it is a hit and miss affair. But dev support cannot match the i.MX. And good luck getting Qualcomm parts. Yes the A53 is ancient and i.MX8 power profile is not suited for mobiles. Since I also run a processor development program, I at least have the luxury of switching to my own SoC in future. The purism folks do not have that option.

  6. It will definitely be the NXP® i.MX 8M Quad or NXP® i.MX 8M Quad Mini, so 50% of your concerns are obsolete. Of course it is not the latest hardware, but there are people who buy thinkpads which are 8 years old.

Comments are closed.