/e/OS ports for the PineBook and PinePhone

The PineBook is an affordable laptop based on the AllWinner CPU, made by Pine64, a US-based company. The 11.6″ notebook is powered by the Quad-Core ARM Cortex A53 64-Bit Processor. Lightweight and ‘hackable’ it is equipped with a full-sized keyboard. It also has a large multi-touch trackpad. It runs numerous mainline Linux distributions as well as *BSDs and Android. One of its non technical advantages is that it is super affordable!!

pinebook_and_pinephone

Several weeks back, the folks at Pine64 sent over a laptop to the development team at /e/. The team took up the challenge and ported the de-googled, user-privacy focused smartphone /e/OS on to the PineBook.

The developer who worked on the porting was Alexandre. He would guide us through the steps for flashing /e/OS on to the PineBook. In this article, he also lists some of the challenges he faced in making the porting possible. Handing over the narration to Alex.

Hi, I am Alexandre! I have been working with the /e/ team for the last couple of months. Porting /e/ OS to the PineBook is a challenging but interesting project. The PineBook is based on the AllWinner A64 SoC. I based my build on the wonderful work done by Ayufan on AOSP 7.1.

First , I had to revert some commits that were as yet incomplete. The commits had to do with compatibility for the pinebook 1080p! The main issue with Allwinner is that they modify a lot in the AOSP source. The good thing is they also publish their code. We do not have direct access to their commits, but the sources are accessible on the net. I used ayufan’s repo

So, the next step was to port AllWinner and Ayufan’s modifications to /e/

After that I had to upgrade the kernel. The pinebook uses a 3.10 kernel. I had to port Google’s latest changes for this version in order to keep it secure and fully compatible with android 7.1.
I also ported back all new features in SELlinux that LineageOS needed.To completely run in user mode with SELinux enabled, some changes were to be made in the device tree. This was done to avoid denials which in turn lead to broken features. The Bluetooth still uses the default AOSP app. There are some features like live display that are still not working on this port. It is in my list of to-do’s in future updates.

Now let me talk about SurfaceFlinger. This is the android part that provides the surface where apps views are drawn. I ran into some issues with it. The problem started when all I could see was a black screen! Thanks to a serial cable and minicom software (a text-based serial port communications program) I was able to get some logs which helped me debug the issue. SurfaceFlinger was buggy on the device when I started and was not able to display anything.
It took some deep digging into SurfaceFlinger documentation, a lot of debugging going through log files to get it to work.

Finally, I was able to see the /e/ boot animation!

bootanimation

I am still encountering a flickering screen issue on the 1080p pinebook. An issue which was there on Ayufan’s images as well.

A few TODO’s in my fixes list include:

  • Fixing the flickering screen issue
  • Fixing the camera that inverts some colors (BGR RGB issue)
    and
  • Allow users to install /e/ on their internal emmc

/e/ sources for this device :

You can download the /e/OS for PineBook at:

Installation guide

On a Linux computer

  • Extract the .gz archive
  • Insert a MicroSD card with minimum 8 GB storage
  • In konsole run the code

sudo fdisk -l

this will display your SD card on the Konsole . It would show up like

/dev/sdX

  • Please be sure you have selected the right device, as the next step will remove everything on it. This search can also show your main hard disk so be very careful at this point to identify the SD card. Now in the console type

sudo dd if=extacted-file-path of=/dev/sdX

where X will be the character you got in the previous step

  • Load SD card on to the laptop

Open Issues

Some issues that still exist in the /e/ OS port for PineBook

  • BlissLauncher the default launcher has not been optimized for tablets as yet. A workaround is to install a launcher like Nova or Lawnchair which will give a better user experience for now.

And this is how the /e/ OS looks running on the PineBook…

I hope the explanation works. Before I sign off, let me thank my friend Moyster - who helped me on this project.

Now let me get back to work!!!

Thanks Alexandre for sharing the details with us. Next on Alexandre’s list is porting /e/ on to the PinePhone. The PinePhone is an affordable open source hardware smartphone and would be a great and affordable addition to the list of /e/ OS supported devices.

After Pine64 what’s next for T/e/am?

company_logo
Gaël and the t/e/am are not stopping at Pine64. Looking at the future he says, “Next we will probably port Olimex laptops, which are available as kits in the EU, and have the same CPU architecture as the PineBook.”

Additional resources for Reference:

Discussion Thread on the Pine64 forum about the /e/ OS port.

/e/’s Official repository for the PineBook

That looks like an upcoming topic on e Developers Blog…

You can also read this article on Medium

3 Likes

this is great news!! I love the idea of a laptop that is as easy to use as any #Android laptop but also #privacy-safe because it is #unGoogled. 2 questions: will a version for the Pinebook Pro be following + will we be able to buy this with /e/ preinstalled?

The plans are certainly there to port /e/ OS to these devices. The timelines are as yet not decided.

Look at OPENTHOS. This Android-based distributive may be installed on virtually any Intel/AMD powered PC, and although Android-x86 is still quite raw, I am looking forward to this concept.

Pretty sure their builds still contain G00gle Play & Play services from memory though :confused:

I’ve been running it recently, and it seems like that isn’t the case (however, I haven’t noticed MicroG either). You can check it yourself by running it from the Live USB without installation.

Interesting… maybe they have flashed it afterwards as you can see the Play logo on the demo screenshots on their website.

Thank you very much guys. Awesome work.
You guys the best.

You are right.
It’s some Chinese stuff https://www.openthos.com/

why is the pinebook not listed on the official downloads page?

Because it’s not supported yet.

Good point but since it is still in beta and as per my discussion with the developer there are some issues still to be resolved - which he mentioned in the post- it has not been added to our official downloads page.