Hacker News new | past | comments | ask | show | jobs | submit login
How We Designed the Librem 5 Dev Kit with Free Software (puri.sm)
329 points by aquabeagle 6 months ago | hide | past | web | favorite | 119 comments

A mini-HDMI port seems like an odd choice. Considering most people who might use it will probably have to buy some kind of adaptor anyway, it seems like it would've been easier just to require a USB-C to HDMI adaptor and leverage the MHL Alternative Mode spec.[0] That, in my mind, would be preferable to adding another port that hardly anyone will use to the phone. Pretty much every smartphone/tablet I've ever owned supported some form of MHL, even when most of them only had MicroUSB.


It's only on the devkit, not the phone: https://developer.puri.sm/Librem5/FAQ.html#can-the-usb-c-con...

I wish they'd just drop the idea of external monitor support. We desperately need an open phone in our pockets. Everyone keeps trying to make an all-purpose device and the gimmick features keep holding the projects back and killing them. Just make a thing that supports the built-in screen, can handle calls/text, and that's it. I'll buy it, for a lot of money. Increment from there.

> can handle calls/text, and that's it

The number of people who just want a phone to call and text is I'd imagine vanishingly small now. It won't replace anyone's proprietary smartphone like that.

True, but good video drivers, and good calls/texts, are often the very hardest parts for an open-source phone project. The rest can be improved later, by community contributors even.

Historically the case has often been "well it can do wifi and browse the web, has some built-in chat apps, it's just a bit slow to scroll around, cellular data kinda works sometimes ... not worth trying to call with it, maybe next rev will have better modem support". Without calls and texts you really need another phone, so the project never gets a big enough community.

It's got a low res screen and a slower processor than 2018 phones, and it costs $700 US - I don't think it's going to get a big community.

I owned an OpenMoko and a N900, too - but sometimes you just need to get stuff done.

Sorry, data too. I figured that's a given. So, more specifically, Linux with a touchscreen, wi-fi and cell data/call/text. Anything else is unnecessary to get me to buy one. And it doesn't have to replace my existing phone right away.

There's a trend of people opting for feature phones instead of iPhone/Android. That is what I'm going for next if something like Librem doesn't make it out soon. Now is the time to just get something out, while people are weary of the whole corporate-controlled smartphone thing, because, if that trend fades, no one outside of the Linux community is buying a Linux phone, no matter what it comes with. Just get it out, no gimmicks, not even a camera (one less thing to secure), sell it at a premium price and let the community figure out where to go from there.

Yes, but this thing is $700. A feature phone is $50. The Librem 5 needs to be something special.

Being free and open is something special...

This is more about providing freedom in an otherwise totally un-free market instead of competing with the latest iPhone.

This is probably true, but how many people need a mini-HDMI port?

But what else do you need? Facebook App?

I would imagine most people hardly use phone calls or SMS.

People need maps, a browser, WhatsApp, Facebook Messenger, Twitter, Instagram. They consider these absolute basics of a phone these days. Before you say 'all I use my phone for is phoning' well that's not what most people do by any stretch.

The librem 5 is not a phone for most people. Its a phone for mini stallmans who want to still be contactable. I doubt anyone who spends $1000 on this phone with the specs of a $300 phone is planning to install Instagram on it.

The core features people care about on this device is open source firmware, encrypted messaging, open source OS, replaceable parts, headphone jack, and sd card slot.

This is the phone for the people who are not being represented by all the devices made for "most people"

I will say, why you need open phone if you install Facebook and WhatsApp into it?

Why the need for purity? Firefox released an add-on to sandbox facebook tabs, you can easily make things better without having to turn yourself into a hermit.

Just because you have Facebook software running at it does not automatically mean Facebook can do anything with the phone.

Getting Facebook sandboxed can be a great reason to get an open phone. It's certainly more reasonable than displaying video out.

Well you don't, do you. Not many people will need or be able to use an open phone.

>I wish they'd just drop the idea of external monitor support.

One of the biggest selling points for me is the external monitor support. Of course this phone isn't going to have features like carplay/android auto (and coming from carplay, I would be very sad to lose this functionality) but since this phone has a way to connect an external display, I plan on doing something to plug my phone into my car's head unit (via hdmi) and have it display GPS maps and possibly media player (through kodi).

Looking forward to having the freedom to do whatever I want (hopefully) with this phone!!

I wonder if you'd be able to use the same code that https://getcrankshaft.com/ is using to replace Android Auto.

If a phone could be reasonably docked on a daily basis with the desktop functionality and performance of a last gen MacBook air, there will be a lot of interest.

Devices are fast enough today where previous attempts to do this were not. This is only a software problem needing solving now.

A litmus test for any phone's success including this will be whether it can deliver a great (not good, not excellent) camera experience. The Essential was a great phone, minus the camera. While librem may not be a mainstream play it will be able to capture some power users.

I have a pixel instead of another andoird phone for ease of updates and excellent photos. I may not take the most photos but take far more than I used to... And imagine those who take lots of photos (social, family, etc) would value it.

The librem 5 camera will not be great, almost certainly. Maybe not even good. From my experience on Android, open source drivers for this stuff are terrible. No support or outright hostility from camera module vendors. They'll really have to try - but then again they have some financial power. I have strong doubts about the camers.

I'm hoping the financial power will help too.

Essential was able to have a decent camera, but the imaging software was rough and didn't improve quickly enough.

I'd like to believe there is someone who's worked on the closed source software for cameras who will learn how valuable their work actually is.. And might freelance to build the OSS code that may be needed.

"I wish they'd just drop the idea of external monitor support."

Isn't this just the dev kit ? I would find an HDMI port on an end-user phone to be a little odd but very useful for development ...

I need a bit more than calls and text, but not that much more. If it supports Firefox and I can build stuff for it on my own (developer tools), I'll consider buying. If I can make calls and texts over WiFi with my regular number and without touching the cell chip, even better. If I can do all of that with a good user experience (meaning, stuff like Netflix, YouTube, and WebGL demos work in the browser), I'm sold.

I'll be watching the project and hopefully all of my concerns about stability and bugs will be resolved. However, I think it's very likely I'll wait for the next gen of the phone.

> However, I think it's very likely I'll wait for the next gen of the phone.

This is definitely my instinct too, but I worry that there may not be a next gen version if we don't buy the first. Would hate to see it abandoned because initial sales were so dismal and they took such a loss.

At this point the more commercially viable option is to ditch the phone for a better quality mobile hotspot.

Pair that to a smart watch that doesn't require a phone, a mini tablet, and the ability to hand off calls to the watch or tablet.

Agreed. My "happiest" days were with my old Blackberry. I honestly just want: Secure OS, Phone, Text/Message, and Web Browser.

I don't have need for 2000 botnet apps.

Indeed. I would rather see a standalone libre/open Roku alternative than some kind of all-in-one solution.

That said, if it works it works.

USB-C definitely seems like the way forward. But we're in a weird in-between state where it's not fully supported by the ecosystem yet.

USB-C support on Linux is still pretty odd. If I disconnect my displays from USB-C and then re-connect them, Wayland treats them as new displays, ie. disconnecting DP-1 and reconnecting it turns it into DP-2, etc.

Thing is though, USB-C dongles have gotten really common and easy to find. Not to mention versatile - I can plug my S9 into the MacBook dongle and I get monitor output, sound, keyboard, mouse and Ethernet working just like on the Mac.

Samsung's Dex experience is really impressive and speaks to how much longer than everyone else they've been working on a mobile docking solution.

In the past the Android phones weren't fast enough and the software was lacking.

While Samsung's desktop experience is improving.. Samsungs inadequate commitment to regular (and up to date) patches on a monthly basis will remain to be their Achilles heel at a professional and consumer level.

I prefer my Galaxy Note to a Pixel but can't compared to a phone that is honestly and regularly updated.

> Samsung's Dex experience is really impressive

The dock is nice. The software-driven desktop experience is extremely subpar, and I'm confident that the Librem OS will be vastly better than that.

I really hope some desktop first experience from librem will do it.

The only other new device that captured my attention little was the essential, but their camera did their phone in. I hope Librem can get past that.

That and the lack of a headphone jack.

They say the finished phone will have USB-C. the mini-HDMI is just for the dev kits.

That seems to work just fine under X...

Wayland definitely seems like the way forward. But we're in a weird in-between state where it's not fully supported by the ecosystem yet.


Wayland is not the default on most Linux distributions for a reason and likely won't be for a while. Surprised to see it picked as a foundation as it is not mature at all, despite the protocol being around for a decade now.

Wayland is the default on Fedora. I've been using it exclusively for around 2 years now. Every time I go back to X, I'm reminded of why I use Wayland full time.

The sooner adoption happens, the sooner the edge cases will be worked out.

> Every time I go back to X, I'm reminded of why I use Wayland full time.

Why's that? Genuinely curious as I always have the exact opposite experience.

I've found both gnome wayland and sway matching neither x11's features nor performance

The main reason for me is HiDPI support. Scaling works extremely well in wayland, and I can set scaling per-display. HiDPI support on X is an afterthought at best.

Does fractional scailing work yet. I have 1080p on a small laptop and the text is too small to read but 2x is huge. Currently I just have large text enabled in accessibility mode.

It does, yes. Quite well. I have one of my displays at 1.5x scale.

Its so much smoother for me as long as I dont use an NVIDIA laptop

At least on my AMD box, Wayland is considerably smoother than X.

It makes more sense when you remember that they are building the whole software stack, or at least have a lot of control over it. A lot of Wayland's issues are with backwards compatibility, but Librem doesn't have to deal with that as much, plus they have a defined set of hardware so driver support issues are much less of a problem.

My only device actually running Wayland is my AsteroidOS watch.

"The Librem 5 will be using native Wayland applications exclusively"

Source: https://puri.sm/posts/librem5-progress-report-13/

If "DP-1 turns into DP-2", that's certainly a problem way below the X/Wayland layer.

It sounds like an udev issue. But re-connecting displays works for me with USB-C. And Wayland has still very strange bugs, for example, on my workstation the login (powered by Wayland under Ubuntu) freezes upon selecting the user and again when entering a password until you move the mouse long enough in circles [0]. So somehow the user input treatment (and, secondary, rendering) is linked to the mouse input. If wayland can manage that, it can mess up on the xrandr layer equivalent and change the display enumeration.

[0]: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/177856..., I reported the bug

One of my SBCs now has a usb-c connector for HDMI. I have never understood the really tiny HDMI connectors. I had at one point a portable projector with a mini-HDMI connector and SBCs with a micro-HDMI connector. The cabling to connect them was ridiculous.

Also, rigid dongles are not compatible with tiny connectors. I'm sure that's why all the Apple adapters have tails. Too much leverage otherwise.

Smaller than normal HDMI would be great for running in wall (less bulk to run into stuff; the active, thinner cables are pretty nice, but the connectors need big holes drilled), but I wasn't able to find any keystone jacks with normal on the outside and small on the inside.

Hmm, mini-HDMI and a bluetooth mouse/keyboard seem pretty fool prove. If I'd get a decent desktop on a large screen, this could be my next laptop. (I don't really do anything on it I couldn't already do an raspberry pi anyway.)

While I do not have exact data, I believe micro HDMI is more widespread than mini HDMI not that either is widely used. Just out of my own devices, the Kobo Arc 7 and the One Mix 2S Yoga both have micro.

Once this is shipped as a real product, with reviews that it is functional and doesn't require tinkering constantly. I will drop money on it. I'm getting excited!

Anybody remember Openmoko? Ubuntu Edge?

It's a great and noble idea, but really hard to pull off.

Also, there's no final specs for the Librem 5 yet they have a 4/2019 ship date. Sure... Hats off to them if that actually happens.

Does anyone have a Librem dev kit? Thoughts?

I like the Linux distro + e2e encryption support and would consider this in the future when they ship.

Am I the only one more excited about Librem 5 than about previous efforts at the time? When Openmoko shipped, I haven't even yet considered buying any smartphone. Then when Ubuntu Edge was a subject I had a phone, but thought about the project as a me-too kind. At the time there was a plethora of alternative platforms. Now I feel that things settled with mobile OSes, so it seems that there is a place for moderate hype. I had higher hopes for FirefoxOS, but devices were weak and nothing better came up. FirefoxOS set too high expectations.

With Librem I feel it's a bit more straightforward. There will maybe be also Necuno Mobile with similar software stack, but cheaper hardware. So it's just maybe more realistic this time?

The biggest difference is expectations. Ubuntu edge had a $32m target, and failed with $6m in commitments. Prism has stated they'd be happy with $1.5m in sales.

I received mine 2 weeks ago but still didn't test it. From the dev channels, I think they're still having some software issues with the screen on the dev kit.

It's already possible to port software to the smaller screen using a QEMU image they provide https://developer.puri.sm/Librem5/Development_Environment/Bo... That's part of the reason why I still didn't test the dev board.

I'm also using KiCad for personal projects and small prototypes at work. Version 5 with a proper 3D export and interactive routing mode is definitely good enough for me. I find it much easier to use than Eagle and I don't really feel the need for Altium (for relatively low complexity things, but I don't do latest gen SoCs).

What really helps for hand assembly is interactive BOM viewer plugin: https://openscopeproject.org/InteractiveHtmlBomDemo/

It seems the High Density parts of the system are on a separate off the shelf SoM (System on Module) that was presumably not designed in KiCAD. It'll be informative to see if they can continue to use KiCAD when they do the final integrated version of Librem that will presumably have the SoC on the mainboard. I'd very much like to use KiCAD for projects like that in the future, so hoping they can prove it viable.

KiCAD and Blender (to name a few) consistently give me so much hope for the future of open source. The world is moving towards an information based economy so having free(dom) applications that allow you to design and shape the world around you without any access to capital is effectively "seizing the means of production" in the best way possible. Everyone should have the power to learn and build whatever they want with enough time and effort. $1000+ CAD packages are not the way forward...

I'd like to add SolveSpace to the hope-inspiring list, it's excellent for quickly slapping together and iterating engineering designs. Even with it's quirks...

I’ve played with SolveSpace. I would love to see it grow. Is the dev on Patreon?

Shameless plug: Also check out https://librepcb.org/ :)

That SoM is well within KiCAD's capabilities. Layout is not the issue. The fraught part is designing the DDR4 interface -- a pro shop will pay out the nose for a signal integrity tool like Hyperlynx to do simulations. While in theory you could write your own sim tool, or somehow respin your way to working boards, I think either approach would be a challenge.

Olimex are migrating to KiCad for their latest designs. Those are of comparable complexity to the SOM they are using.

My biggest concern with using a phone sans ios/android is not being able to use the ID app used in Sweden for basically everything important. It's used everywhere now, banks, government, my kids preschool, insurance etc etc.

As soon as I can figure out a way around this I'm going back to a feature phone.

My dreamphone is iPhone 3gs sized, has gps and maps, Hotspot and the app I mentioned before.

You could run Android in a container. I run an android container and Linux container, thought not at the same time on a computer with mobile specs: Intel Celeron N3060, RAM: 2 GB SSD: 8 GB and I can use Snapchat, Instagram, VS Code, etc

A well configured OS is magic, and with Lamby on the purism team, I'm sure it's going to knock socks off.

That's interesting. How did you get that container running? I tried running Android via anbox and my laptopb basically exploded as the Android container suddenly allocated more than two gigabytes of ram (having been running Firefox didn't help...).

Have you got some notes or a blog post about that? I would really really be interested. TY in advance!

Agreed! I'm curious about how well it will run on the phone!

Very glad that Norway has a dedicated OTP device as an option for identity services (BankId). Nothing like that in Sweden?

Nope, what kind of device is it? I have an old keypad but that only works for the bank.

Late reply I know.

It just has one button and a display that shows the one-time-code. "Bankid kodebrikke" brings up some examples on Google Image search. Here is one: https://www.landkredittbank.no/contentassets/125021c1cec6435...

So this works for other services as well? In that case they should definitely offer a similar option in Sweden as well.

I think I'm going to research the android in container solution cause I'm leaning more and more towards remoting in to a PC for all my needs not being met by a purism librem.

Yes, BankId is a valid identity provider for all Norwegian government services online, in addition to your bank. There are 4 other valid identity providers.

Is it not based on an open protocol?

Cant you fall back to a physical card? Is having a flat phone while driving illegal in sweden?

I'm terrified of a future in which it's basically illegal to not have a phone. China has already done this to Uyghurs.

there is a chance with anbox. however the project is very rough right now and never was gotten to work on ubuntu touch. hopefully they dont use too much of google play services very annoying device verificaton systems as well.

Anbox can actually run on UBPorts devices. https://www.youtube.com/watch?v=NdiIwXK2ssQ

I wish the article started with a one-line description of what a "Librem DevKit" is. Then I would at least know if I wanted to read the rest of the article.

Librem 5 is going to be a phone that runs free software (Purism's Debian-derived, FSF-endorsed PureOS) on mostly–open-source hardware; any closed-source hardware will be physically separated and kill-switched.

The dev kit is essentially a late-alpha version of the hardware, capable of running the software.

I wondered that myself. It turns out to be a dev kit for a smartphone.


Does anyone know what language(s) will be used for app development? My understanding from reading the documentation is that it will be GTK+ for the UI and there are 2 examples of C/GTK+ apps. Since this is a debian linux distro and applications will be distributed via a debian repo, could you theoretically write it in any language ex: python, java, c++ and use GTK+ or QT?

Doc Source: https://developer.puri.sm/Librem5/Apps/index.html

If the examples are in C/GTK+ that means that as long as your language of choice has a runtime on (or can be compiled to) the Librem 5 CPU architecture AND has a binding to GTK+ available, that should "run", if my understanding is correct.

There is some beginning work being done to have libhandy wrappers in rust. I have gotten their qemu environment up and running and will be tinkering on rust+gtk apps which I hope has a future in this ecosystem.

But yea by default it appears most stuff is c and gtk right now.

It would be basically a Linux arm64 device, anything could be used. GTK+ is used by Purism for their default apps, but Plasma Mobile will be in their repo too. And you could install any Linux distro which supports arm64.

Doesn't miniHDMI require paying a license? Probably a waste of resources, if there is a way to route DisplayPort over USB-C?

This is for the dev kit. I don't think there are any plans to put an HDMI connector on the final product...

I guess, but it's still a waste for a dev kit I think.

Not really. The onboard/integrated display panel on the devkit does not have a working controller driver, so the only way we can get a display on the devkit right now is over HDMI. I wouldn't consider that a 'waste'.

So it can't drive DisplayPort over USB-C? Then sure, something else is needed.

Question as a cautiously excited potential buyer: Do we know what apps it will be launched with? Is there documentation on that somewhere?

Having ordered one, I am waiting for them to ship!

This is great!


The full long answer for more accurate information:

    Longer answer: Worldwide. Purism sources component parts from China, Taiwan, Japan, and the United States. Purism builds, assembles, quality control tests, and delivers all our hardware from our South San Francisco facility, USA. Purism has employees, contractors, and volunteers from around the world.
China is only mentioned as one of four countries where the component parts are sourced. It notes specifically that their hardware is built, assembled, and tested in San Francisco. If you've ever sourced electronics components, you'll recognize all four of those countries as the largest component sources. This is pretty standard for most electronics manufacturers.

Will the full phone really be assembled in San Francisco? Sounds - expensive.

The thing that’s concerning is whether or not the board or processor or memory is made in China.

So I'm reading this and I'm wondering, is Librem pulling a BlackBerry here? When the BlackBerry PlayBook came out it had no native email or calendar or contact management capabilities.

Purism is going to ship the Librem 5 without the ability to do calendar, notes app, calculator app, and PDF viewer. My question is why? Why is this a good idea?

Edit: Reference their site: "Upon initial shipment of the Librem 5 in 2019, it will offer the essentials: phone functionality, email, messaging, voice, camera, browsing. The featureset will expand after shipment and over time to more free software applications. Your user experience will improve as we incrementally add commonly requested applications and features (such as calendaring, notes, calculator, PDF viewer, etc.) while keeping performance in mind."

This is supposed to be a phone Richard Stallman can use. A phone that doesn't betray your freedom is more valuable than a phone with a PDF viewer, at least according to some people.

At the same time, the whole point of free software is that you can hack on your own computer. If you need some missing feature, you can just port it over from Gnome. That can be either exciting or annoying, depending on whether you have a hacker mindset or a consumer mindset. They are banking on enough people having a hacker mindset.

My fingers are so crossed on this one. I've never wanted a phone to be anything else. (Nor been willing to put up with proprietary extortion and anonymous blobs.) I have been waiting (seems like forever) for a phone-sized computer with an FSF-approved philosophy.

I'm sure I'm not alone. I rather imagine that (as with the early 8-bit era) such a device will be adopted quickly by thousands of us. It's just so ... BASIC. To hell with tollbridges.

You are not alone.

What makes you think that? The application developer docs for the Librem 5 (https://developer.puri.sm/Librem5/Apps/index.html) are pretty clear that its default environment is based on GNOME, and that it will run apps built with both GTK+ and Plasma Mobile...

They say it on their site:

Upon initial shipment of the Librem 5 in 2019, it will offer the essentials: phone functionality, email, messaging, voice, camera, browsing. The featureset will expand after shipment and over time to more free software applications. Your user experience will improve as we incrementally add commonly requested applications and features (such as calendaring, notes, calculator, PDF viewer, etc.) while keeping performance in mind.

That sounds less like "this device will never do these things" and more like "it will take some time for us to port software to do these things to this device." Which doesn't strike me as unreasonable, given the scope of what they're trying to accomplish.

And since they're building on existing open-source systems like GTK and Flatpak, if you don't want to wait for them to port a calculator to the device, you could presumably port one yourself. The source for GNOME Calculator is right here: https://gitlab.gnome.org/GNOME/gnome-calculator ;-)

The phone is going to be niche regardless, and its likely users will be able to solve those problems their own way if GNOME apps are usable.

Everyone is different, but for me, 90% of my phone usage is: phone calls (I have no landline phone at home), text messages, and maps/navigation.

If there's no maps, I'd pass on this phone.

Calendar, notes, calculator, etc. are relatively unimportant for me.

Other apps are relatively unimportant to me. I don't use Facebook or other social media on my phone. I don't use ride-hailing services. I don't rent bikes or scooters. I don't use my phone to make retail payments. So none of that stuff matters to me.

I'm willing to go back to paper maps, I just want a damn Linux phone and I will gladly pay more than iPhone prices for it.

Fortunately nobody will have to, as this phone supports the internet. In addition, I am sure there are many OSM maps that will work on it anyway.

It would be really nice to get an OsmAnd port. Doubly so, since that would also make it available as a Gtk app on desktop Linux with minimal changes.

What about the location and GPS hardware and the security and privacy concerns that come with them? I'd rather just give up nav. Again, I'd still pay more than an iPhone without the location hardware. Could still do manual direction searching on the web, though I secretly want to go back to paper maps.

That's only a problem if you don't control the software.

When you're using web maps, you do not control the software - they request location, you give access to it (because you want your maps to show where you are), and you don't control that location information once it leaves your phone.

You don't need webmaps. OSM data are free to download and render locally. Navigation devices have offline maps, typically.

GPS is passive. Ideally they would just know which place you're requesting data about.

What are the chances that phone calls are unreliable in this mobile?

There most recent update was discussed on HN just a day ago[1], and showed the basic apps running.

1: https://news.ycombinator.com/item?id=18866533

I've been following the software side of things fairly closely. Pretty sure most of the gnome apps have had work at least started to make them mobile friendly.

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact