Category: Product Design

Announcing the Librem Phone Ringtone Contest winners

As part of our Librem 5 phone campaign page, we included a public ringtone contest. The response was overwhelming, and our team did not have an easy task of picking winners: we had to listen and rank over 150 sounds sorted in 5 categories! The most intense battle took over the ringtone category, where the winner won by merely 3% of our votes. Now that the list of winners and runner-ups is final, we will contact winners to inform them that they won a Librem 5 phone! Here are the top-ranked entries we received.

Read more

The Librem 5 Development Roadmap and Progress Towards i.MX 8

The Librem 5 crowdfunding campaign is still cranking along nicely, while it is going on we wanted to provide a progress report on the hardware selection as well as the advancements with our existing development boards.

TL;DR:

  • The base hardware with i.MX 6 is demonstrably working.
  • i.MX 8M, Etnaviv, full HD, are the likely hardware combination candidates for the Librem 5 phone.

Development Hardware Proving Positive

Showing photos of low-level progress is always a challenge, however showing Wayland and applications running on development hardware by definition means that the lower level parts are working! Booting from microSD into a Debian GNU/Linux unstable with most of the UI installed…

Purism Librem 5 phone (early development boards) for testing CPU/GPU and GNU/Linux
Purism Librem 5 (early development boards) booting the Linux kernel, Wayland, and a terminal in early August 2017.
Purism Librem 5 (early development boards) booting Debian GNU/Linux unstable, Wayland, and GNOME Settings in September 2017
Purism Librem 5 (early development boards) screenshot of a photo rendered

What led us to choose i.MX 6/i.MX 8

We have tested nearly every combination of CPU (and GPU, see further below), Purism’s goals of creating hardware that is ethical, runs free software, can separate baseband from main CPU, and the ability to run GNU/Linux (not Android), quickly narrowed our scope to i.MX 6 as one of the only viable options.

We have been testing and working with i.MX 6 and are pleased to report healthy progress with that hardware, as you can see from the photos, we have the Linux kernel booting, Wayland running, and in these photos GNOME/GTK and even Gnome Settings showing.

Purism Librem 5 (early development boards) running Debian GNU/Linux unstable, wayland, and GNOME Settings screenshot

Heading towards i.MX 8

We have been making some progress that makes us confident to say we will likely be able to use i.MX 8 for the Librem 5 phone hardware, primarily because:

  1. We will be able to evaluate a i.MX 8M pre-production board November 2017
  2. Our extended community can evaluate a handful of i.MX 8M sample chips in November 2017
  3. More evaluation boards should be available before year-end 2017
  4. In Q1 of 2018 we can get i.MX 8M into production. This is well ahead of our required hardware selection date of April 2018, so we will very likely be using the i.MX 8M in the Librem 5.
i.MX 8M (early evaluation boards)

State of the GPUs… or “Why we chose i.MX 6/8 + Vivante”

GPU drivers have been a big issue for a long time in the free software world. Manufacturers would typically not release any specification or documentation but only binary-only drivers. For PC hardware this problem has somewhat been resolved, which is why Purism uses Intel GPUs on our Librem products, since Intel has free drivers merged in mainline Linux kernel. But for ARM SOCs, the situation is not ideal.

  • MALI: One of the biggest players in the ARM field is MALI. The MALI core was originally developed by Falanx Microsystems until ARM bought their patents and copyrights and is now licensing the MALI core for ARM designs. ARM is not releasing any specs about the MALI GPU cores and does not provide any free software drivers for them. (The MALI400 is e.g. also used in the Allwinner A64 chip which again is used on Pine64 and in the Pinebook). There is an effort to develop a free driver by reverse engineering existing code, which is called LIMA, but its functionality and support is still limited.
  • Adreno: another big one is the Adreno GPU core, found in many Qualcomm Snapdragon SOCs. For this one also, no documentation exists although a reverse engineering project produced a pretty well working driver, called freedreno, which is also supported by current Mesa versions.
  • PowerVR: the PowerVR GPU cores are found mostly in embedded PowerPCs and Texas Instruments “OMAP” CPUs. As of today, we are not aware of any free development for these, only some binary-only drivers are available. There is an effort started by the Free Software Foundation but it seems that the project has stalled for some time now.
  • Tegra: the first generation nVIDIA “Tegra” SOCs has Linux kernel mainline support since 2012. The latest Tegra SOCs use the same GPU building blocks as the desktop PC graphics cards and can be used with the Nouveau GPU driver.
  • i.MX 6 Vivante: since Linux kernel 4.8, a new set of DRM/GPU drivers has been incorporated into the mainline Linux kernel, the so-called Etnaviv. Etnaviv support is also included in Mesa, starting with Mesa 17. We have successfully been operating a prototype for our phone using a mainline Linux kernel 4.12.4 with Etnaviv support. From microSD we booted into a Debian GNU/Linux unstable with most of the UI stuff installed. It works! We can safely say that upstream OpenGL hardware GPU support for i.MX 6 has landed in major Linux distributions, which is great news since hardware GUI acceleration is badly needed for any type of modern mobile GUI.

With the Librem 5, we are very excited to be advancing the mobile phone space to be ethical, respect digital rights, run GNU/Linux, be secure, and create a future that we are proud to be part of. We will be posting regular development updates as we progress with the hardware, software, and partners.

Make your own Librem 5 concept art.


A few days ago, a very talented Librem 5 enthusiast asked me for some HD material to create his own Librem 5 concept art, so I have put together a couple of blank renders of the handset, along with the logos in SVG format.

All this design is currently a work in progress and I believe in collaborative efforts. I believe in the people’s power. I believe in the fact that we don’t own Creativity. We just own the pleasure of expressing it. I see Creativity as a global positive energy that vibrates and grows through all of us. We should never restrict its freedom of movement. Freely collaborating and sharing with the world is the essence of the Free Software movement and is what Purism is made of.

In that regard I thought I would make those files public for anyone to freely join the fun.
So, if you feel like expressing your artistic skills and your vision of what could be a smartphone that is made for user’s respect and software freedom, feel free to do so!

Download the Librem 5 Concept Pack

Enjoy! 🙂

A new boot splash for PureOS

A quick update about PureOS… from the design team this time! 😉

For the new version of PureOS (codenamed “Prometheus”), I am working with the developers to make a very smooth and pleasant user experience when installing and launching the system. We want to make sure that PureOS is not only secure, but also a beautiful and enjoyable experience, designed for everyone. No exceptions!

So, I am currently working hard on polishing the visuals. The video below shows an example of the animation that will now take place at boot time in PureOS.

Every new Librem ordered with PureOS pre-installed should ship with this beautiful PureOS update in the coming weeks (we’re working hard to make the PureOS release on time for factory installs!) If you already are using PureOS, a software update will also arrive soon for you.

If you like it so much that you can’t wait for it to be released with PureOS, or if you want to customize its look to make it yours, you can download the source files here.

Spring 2017 product design update and operations report

Let’s recap recent progress with a summary of where we stand and where we’re going next on the “operations” front.

We have begun production of the two new revisions of Librem laptops. As we narrowed down on component choices and successfully raised additional funds, we have now made great steps towards our “zero outstanding orders” milestone and our goal of creating our first inventory to ship future orders from.

  • Last month, we ordered a batch of supplies to begin production of the new Librem 13 “v2” units. We have also tested and evaluated three prototype units, the latest of which we will use to extend our coreboot work.
  • Two weeks ago, we also ordered parts for the new Librem 15 “v3” units. So far we have evaluated one prototype unit for this new batch (which will also be used for our coreboot work), and will evaluate a second one soon.
  • We are currently working to leverage investment to make the Librem 11 batch order happen sooner and create an inventory directly; we will let you know of any progress on that front. In the meantime, we thank you for your patience. And please spread the word about the Librem 11 to those around you looking for a nice security-oriented and freedom-respecting convertible tablet with stylus support (especially interesting for visual artists who want to use the plethora of free creative tools such as MyPaint, Krita, Inkscape, GIMP, etc.)! The more people know about it, the sooner we should be able to put it into production.

Revised products specifications

For the upcoming Librem 13 v2 and the Librem 15 v3, we evaluated various prototypes, including different cases and keyboard models, alongside various possible CPU, GPU, RAM and storage combinations. With the newer motherboards, we aimed to keep the same flexibility in terms of storage: one M.2 slot and one standard SATA slot. As usual, the RAM and SSDs are all user-replaceable, not soldered.

The Librem 13 gets a whole slew of improvements for version 2:

  • A newer i5 processor, using the 14 nanometers lithography of the Skylake generation, bringing additional performance and power savings over previous generations
  • A backlit keyboard (the most often requested feature)
  • Newer Intel graphics as part of the Skylake chipset
  • DDR4 memory
  • One USB 3.0 “type C” connector
  • A much better trackpad (sourced from Elantech instead of BYD), which works better out of the box. It supports vertical and horizontal two-finger scrolling, allows changing workspaces with a simple four-finger swipe gesture, has smoother scrolling, and various multitouch gestures (dependent on applications support).

Those who have ordered the Librem 15 also get the free update to Skylake, newer graphics, DDR4, and improved trackpad. The Librem 15 already had a backlit keyboard and USB-C.

As you can see, when you pre-order a Purism device, you don’t need to worry about the specs becoming outdated by the time of production & delivery. For all our products, we strike a balance as per our manufacturing & sourcing approach, yet strive to stay close to the latest technology out there. We aim to please our supporters by bundling these updates at no additional cost whenever possible.

Upgrading from the Broadwell microarchitecture for this round, we chose to go with Skylake (rather than Kabylake) in order to service orders more quickly without bringing on delays in supplies or testing. To provide the best user experience, we prefer to test more thoroughly before moving on to a new chipset (for instance, we’ll be able to provide coreboot support more quickly with Skylake as part of our current roadmap). We expect to upgrade the chipsets/microachitecture again for the next production run (planned for the second half of 2017 once we complete this batch), which will involve a revised motherboard design, as we will also be adding new hardware features in prevision of full support for Heads.

The power of the Dark Side comes as a duo

We chose to keep the same overall chassis, although the location of Librem 15’s killswitches will be different this time (all on the hinge cover, like the Librem 13).

A notable aesthetic improvement for the Librem 15 v3 is that it will be anodized black just like the Librem 13. The temptation of the Dark Side was strong! Here you can see an anodized aluminium extrusion sample of the Librem 15 v3, next to an existing Librem 13 v1:

As we are beginning to have quite a bit of hardware revisions and models to keep track of, the laptops will now also feature some subtle branding underneath the backplate for model identification and to show the appropriate certification marks (we are FCC and CE certified). The publicly visible parts such as the screen bezel, palmrests, or the back of the screen lid, all remain unbranded.

Better power connectors

We are now sourcing power supplies with L-shaped coaxial connectors, so they keep a low profile when plugged into the side of your Librem:

This is particularly useful if you like to sit cross-legged with your laptop on a sofa, for example! (or for those who like to meditate with a computer on their lap)

Wrapping up

We are well on our way to provide a great new set of laptops this summer. We should be receiving the final components around the end of May, at which point we will do the final assembly and shipping throughout June. We will then be able to celebrate having cleared all the existing Librem 13 and 15 orders (including the recent big spike in orders). After that point, we will be able to ship within days and weeks (not months), which will be a huge relief for everybody looking to buy a Librem “in a pinch”. We hope you’re as excited as we are about that!

As always, thank you for your support, and feel free to contact us with your thoughts and encouragements, or to spread the good news around you!


Edit: post updated to reflect the processor models available as of June 2017. For the time being, the Librem 13 will still feature an i5 processor instead of the i7, albeit with the newer Skylake chipset.

Getting ready for LibrePlanet and the new Librem 15 v3

This year, we’re attending and sponsoring LibrePlanet, which is being held this week-end in Boston. Todd and I arrived one day early, as we wanted to seize the opportunity to spend a full day coworking to align our plans (regarding communications, product design and supply chain management), confirm product specifications, and test some new prototypes we have on hand. Todd recently (yesterday!) received sample parts and prototype units from suppliers, so we spent some time checking the aesthetic and functional aspect of the next revision of the Librem 13 (v2) and Librem 15 (v3), including the chips, killswitches, and removable components.

I also brought with me some older units I had gathered from others, including the Librem 11 prototype (which we bricked during testing) and the previous revision of the Librem 15.

Oh, “But what is that mysterious black plate in the center of the table”, you ask? Well, that’s one of the sample parts our suppliers sent us: the upper aluminium plate of the upcoming Librem 15 v3, which will be anodized black like our lovely Librem 13.

Here you can see Todd’s Librem 13 on the left (which looks brand new even after 2 years of intensive use) and the Librem 15 v3’s anodized aluminium extrusion sample on the right (resting on top of the old Librem 15 production model for comparison).

We chose a matte finish to avoid fingerprints from showing up (disclaimer: if you’re worried about someone lifting your invisible fingerprints from your laptop, you probably want to type with gloves like this guy–except you’ll be way cooler, because you’ll be using a Librem instead of some old plastic junk 😉

We’re still finalizing details when it comes to the final specs, but from the looks of it, those with outstanding orders may benefit from a free upgrade to a newer generation of CPU and graphic chipsets, in addition to the black aluminium chassis.

Today we have placed a batch order through our supply chain for the Librem 15 v3, so we hope to provide you with an update on specifications and estimates soon. In the meantime, if any of you are attending LibrePlanet, we look forward to meeting you this week-end!

Share your input on the upcoming Librem Phone’s features

We’re starting to zero-in on the hardware specifications that will define our first Librem Phone model, and we’d like your help to evaluate a few of the outstanding questions that come down to personal preferences.

Therefore, we are making an advisory survey for you to participate in. In the process, we want to:

  • hear from you what hardware and specifications you’d like to see in a phone;
  • both educate and learn from users about hardware and software choices that align with our beliefs;
  • determine how much interest there is in us producing a Librem Phone
  • collaborate and join forces with developers who will have a positive impact on the future of computing.

We know your time is precious, so we’ve made sure that filling this survey will take you merely a minute or so. Thanks!

Librem Phone Survey

Librem Phone Survey

Purism Devlog #0

This is first in series of Purism developer’s blog post. It will be mostly about technical aspects of Purism work but also sometimes mixed with few other fields and information. The only promise is that it will be more – no promise how often, no hardcoded path of releases. In Debian mantra – it will be ready (and published) once it is ready.

We are happy to announce release of PureOS 2.1. Besides fixing bugs (such as overwriting the entire disk during install!) it will boast few new apps (and few removed) on this new ISO image:

  • Kodi
  • VLC
  • Blender
  • Audacity
  • Darktable
  • MyPaint
  • Ardour
  • MPV

Removed apps:

  • Debian bug tracking system (PureOS will have its own, more in next devlog releases)
  • Brasero

As you can see we wanted to bring some creativity with preinstalled applications (athough all applications are easy installable or removed through software center/app store (famously called now Software in GNOME thus PureOS)) and Kodi to just show that Free software is cool and great! In art terms we also integrated new Plymouth theme which we believe you will like (soon we will bring up community wiki so people can share their ideas and write tutorials, documentations about PureOS but again, more info about it in some of the next releases).

Besides that we are again trying to improve driver for touchpads (yes, we agree with you and your pain, but we are in the same awkward pain – we use those devices, we work with our manufacturers but they simply don’t give us any documentation – something we are trying to improve all the time but there is so much time and space for such small team to tackle so many tasks of which some aren’t even in description of our work. Thank you for your support and patience and we are really trying to pull out max of what we get). That said, our involvement with manufactures gives us opportunity to drive how new products will be developed which is something very important for us and our (and your) future. Back to technical parts, ew integrated driver should now have:

  • Tap to click
  • Double tap
  • Two finger scroll (up & down)
  • Three finger swipe
  • Edge scrolling

We hope we improved some of the previous part of driver and also enabled some new things (note this is entirely new driver so bare with us while you test it and report bugs).

PureOS 2.1 now also comes with GNOME as default because it is aligned with goal to have one default environment for all our devices (we are now in process to produce tablets). With future plan to develop to phones that could be switched to KDE’s Plasma but future is exciting and unpredictable.

This release also has sum so people can check against ISO build and new installations instructions that should be much more user friendly – check more at download page.

Also, this release should be the last one built with old (almost non existent) infrastructure. New one will be more professional, more open and feel more native for Free software development. We will write more in next release of devlog.

Keep calm and develop Free software (and hardware!),

– Zlatan

Hard, NOT Soft, Kill Switches

Here is the HARD truth about Hardware Kill switches on Librem laptops.

The Librem laptops are secure machines that respect and protect your privacy and freedom. To this end, we at Purism are intensely suspicious of several items on a standard laptop that could be used, either maliciously or accidentally, to violate your privacy and security. Specifically, these items are:

  1. The laptop’s built in Webcam and Microphone.
  2. The laptop’s WiFi and Bluetooth radios.

Almost all laptops on the market today have a way to turn off a laptop’s WiFi and Bluetooth radios. However, most do it via software on the computer (example: a special program in the operating system) or a soft switch in the computer’s embedded controller within the bios (example: using the keyboard combination of pressing at the same time the Function Key plus the F2 key). Due to the threats that still remain possible for malicious software to turn on these peripherals, we opt to solve this with hardware.

There is NO other laptop on the market today that has a physical means to turn off a machine’s built in Webcam and Microphone.

Thus, to protect you from the risks of these devices, the Librem laptops come with the ability to physically disable or turn off the Webcam, Microphone, WiFi radio, and Bluetooth radio via a Hardware Kill Switch (HKS).

The HKS is a real physical switch that either:

  1. Cuts the signal or power line to the device, as in the case of the Webcam and Microphone HKS, or,
  2. Disable the chip running them, as is the case of the WiFi and Bluetooth radios HKS.

To give you an idea how this is done, let’s look at the HKSes on a Librem 13.

The HKS themselves

The HKSes are located in the hinge cover of a Librem 13. The HKS themselves are Double Pole, Double Throw (DPDT) switches with a switch function of ON-ON and have six leads on them.

purism-kill-switches-1600px-20150713
Librem 13 HKSes in the Hinge Cover

Different Devices, Different Challenges

For starters, it helps to look at the motherboard on a Librem 13 and see where the various devices connect to it.

Librem 13 Motherboard (with lables)
Librem 13 Motherboard Layout

To physically shut off each of the questionable devices with a physical switch we broke the problem down into three parts:

  1. Kill the Webcam
  2. Kill the Microphone, and,
  3. Kill the WiFi and Bluetooth radios

The reason for this is because each of the above devices has a different interface and thus requires a different solution to ensure it is really OFF.

Kill the Webcam

Librem 13 Webcam Connector (1)
Wire on connector EDPCON1 sent to the HKS for the Webcam

The webcam on a Librem 13 is located above the laptop’s screen and connects to the motherboard via connector EDPCON1, a x30 pin connector that also contains all the wiring for the laptop’s display. The webcam itself uses a USB 2.0 interface, meaning there are four wires on EDPCON1 that are just for the camera. Two of the four wires are for data, one is for a +3.3 volt DC signal to power the camera, and the last wire it the ground.

To kill the Webcam with a HKS, we insert a HKS and circuit during assembly, wiring the +3.3 volt DC power wire for the USB connection directly into the HKS.

With the HKS in the OFF position, no power gets to the Webcam, and thus making it impossible for the webcam to be used (in fact it is not detected by the kernel nor operating system when off).

Kill the Microphone

Librem 13 Mic Cable (1)
Wire on connector MIC_COM1 wired to the HKS for the Microphone

The microphone on a Librem 13 is located right next to the Webcam above the laptop’s screen and connects to the laptop’s motherboard via connector MIC_COM1. But unlike the Webcam, the microphone has only two leads: One for the microphone’s signal and the other for the microphone’s ground.

To kill the microphone with a HKS, we wire the microphone’s signal wire directly to the HKS.

With the HKS in the OFF position, no signal from the microphone gets to the motherboard, thus making it impossible for the microphone to send any signals to the laptop.

One Switch for Two

Both the Webcam and the Microphone are wired to the same HKS, so both devices are OFF at the same time.

HKS Wiring (1)
HKS for the Webcam and the Microphone. Wire on top are to the Webcam. Wires on the bottom are to the Microphone.

The WiFi and Bluetooth radios are wired to a second HKS.

Kill the WiFi and Bluetooth Radios

Librem 13 WiFi HKS
Layout of the solder points for the WiFi/Bluetooth, NGFF M.2 pins 54 and 56.

To fully understand how to disable the WiFi and Bluetooth radios, it is necessary to gain some insight into the PCISIG M.2 NGFF standard and how it is used to turn OFF the devices. The PCISIG M.2 NGFF connector has 75 positions with up to 67 pins, each with a specific function. Some are used for data, some are used for power and ground, and still others are used for control signals. But for the HKSes, the two PCISIG M.2 NGFF pins of interest are pins 56 and 54, which control PCISIG M.2 NGFF functions called W_DISABLE#1 and W_DISABLE#2 (respectfully).

The WiFi/Bluetooth Hardware Kill Switch works by applying to pins 56 and 54 an input of one of two DC signals:

  1. To turn the radios ON: Apply a Ground (GND) or +0 V signal.
  2. To turn the radios OFF: Apply a +3.3 V signal.

Note that this standard is a bit counter intuitive with Voltage high (+3.3 Volt) = OFF and Voltage low (0 Volts or GND) = ON.

In a Librem 13, the M.2 NGFF connector pins 54 and 56 cannot be accessed directly on the NGFF connector, for it is much too small for any solder connections. Instead the pins are accessed via two 0402 Surface Mount Device (SMD) pads on the motherboard itself (pads R609 and R629).

So for the WiFi/Bluetooth HKS, wires are soldered from the SMD pads to the HKS. Then one side of the HKS is wired to a +3.3 volt signal with the other side wired to ground. The end result looks like this:

HKS Wiring
Wiring Diagram for WiFi/Bluetooth HKS.

With the HKS in the +3.3 Volt position, pins 54 and 56 in the M.2 NGFF connector will receive a HIGH voltage, and the radios on the WiFi card will be turned OFF. With the HKS in the Ground (GND) position, pins 54 and 56 will receive a LOW voltage, and the radios will be turned ON.

Our Hard Work to Protect Your Privacy

As you can see, it is not a trivial matter to manufacture these HKSes. A lot of research and hard work went into the effort.

Purism believes in your rights to privacy, security, and freedom, and will continue to work hard for users’ rights.

Purism Librem 15 rev2 Backlit Keyboard

Arguably one of the most requested items from the backers of the Librem 15 rev2 was for a backlit keyboard. We are proud to announce that keyboard design request did in fact make it into the Librem 15 rev2. You can see from the photo below, on the brightest setting, illuminating around and through the keys.

Purism Librem 15 rev2 Backlit Keyboard

Function + F10 toggles between the three modes, off, brighter, and brightest levels.

Note: the Librem 13 does not have the backlit keyboard, the next revision (within two years time) is planned to.