Fairphone 2 Ubuntu Touch

Hello Fellow Fairphone 2 users, Ubuntu Touch is not dead!

After the project has been discontinued by Canonical, it has been picked up by the UBports Project, a community that originally formed around the goal to port Ubuntu Touch to the Fairphone 2 and other third party devices.

Thanks to the huge interest, especially in the Fairphone Community, the project picked up a lot of momentum and Ubuntu Touch can live on as a true GNU/Linux distribution for mobile devices.

Read on to learn more about the operating system or visit the installation guide. It’s easy and fun, don’t be afraid!

What is Ubuntu Touch?

Ubuntu Touch is the mobile version of the Ubuntu Linux distribution. It aims to converge the worlds of mobile and stationary computing by running the same software on the phones, tablets, laptops and PCs. Your phone can run Gimp, Libreoffice, Firefox and all applications you know and love from your GNU/Linux desktop computer, plus a load of custom-tailored touch-optimized applications specifically developed for Ubuntu Touch. But wait, there’s more: Just connect your phone to an external monitor, mouse and keyboard, and it turns into an actual PC where you can move windows around and get your work done.

Known issues

15.04 (stable)

  • The latest Fairphone 2 batch (shipped since the second half of August 2017) is now supported by the latest stable release of Ubuntu Touch, OTA-3.
  • The new camera module upgrade is now compatible with Ubuntu Touch OTA-3
    • Only flash doesn’t work yet

16.04 (development)

34 Likes

As of this weekend (27 Nov 2016) we have merged our sources with ubports repo.

Build Ubuntu Touch For Fairphone 2

Install required packages

sudo apt-get install git gnupg flex bison gperf build-essential
zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386
libgl1-mesa-dev g+±multilib tofrodos
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool
g+±4.8-multilib phablet-tools

Initialize the repo

mkdir phablet && cd phablet
repo init -u GitHub - ubports/android -b ubp-5.1

Create local manifest

mkdir .repo/local_manifests
touch .repo/local_manifests/fp2.xml

Copy the following text with your favourite text editor in the file .repo/local_manifests/fp2.xml

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote name="smoose"
        fetch="http://github.com/smoose-nils"
        revision="refs/heads/ubp-5.1" />

  <project path="kernel/fairphone/FP2" name="android_kernel_fairphone_fp2" remote="ubp" />
  <project path="device/fairphone/FP2" name="android_device_fairphone_fp2" remote="ubp"  />
  <project path="device/qcom/common" name="android_device_qcom_common" remote="cm" />
  <project path="vendor/fairphone" name="proprietary_vendor_fairphone" remote="smoose"/>


</manifest>

repository sync

repo sync -j10

take a coffee break this will take awhile :slight_smile: (~20GB need to be downloaded)
Setting up the buildenvironment

. build/envsetup.sh
lunch cm_FP2-eng

Start the build

make -j8

[details=old build guide]Build Ubuntu Touch For Fairphone 2

Install required packages

sudo apt-get install git gnupg flex bison gperf build-essential
zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386
libgl1-mesa-dev g+±multilib tofrodos
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool
g+±4.8-multilib phablet-tools

Initialize the repo

mkdir phablet && cd phablet
repo init -u https://github.com/smoose-nils/fp2_android

repo sync -j10

Setting up the buildenvironment

. build/envsetup.sh

lunch

https://docs.nigle.nl/img/fp2_lunch.png

Choose cm_FP2-eng

Start the build

make -j8[/details]

5 Likes

Hey, great work! Will you be pushing your work to the UBports project? Maybe Mariogrip could help you raise some funds to boost your development since he’s collecting donations through Paypal and Patreon.

We are using the sources of ubports to build our version, changes adapted in the code are pushed back to github so everything is open and fair. We already have contact with Marius Griphard, together our goal is to create a 100% working Ubuntu touch for the Fairphone 2.

7 Likes

Awesome! Really looking forward to it!

We have the camera and sound working!!
Only not both options in one image. If we merge both sources, the fairphone won’t boot…

Our pre-alpha version:
https://seafile.nigle.nl/d/62d505f0a7/

system.img_audio ->audio working
system.img_camera ->camera working

rename to system.img and use the guide from step 6 to flash.

We’re still looking for a developers with experience with CM/ Ubuntu touch / android building.
Do you want to help us create a fully functional Fairphone 2 Ubuntu Touch image? We have created a special telegram group to share knowledge, ideas and solutions.
Click here to join the Telegram group Fairphone 2 Ubuntu Touch

4 Likes

Maybe there are parallels between your work on CM, @roboe and @arvil, and this Ubuntu touch port?

Edit: For reference:

3 Likes

Maybe. As far as I know, Ubuntu Touch gets the device hardware features through a minimal Android image running in a LXD container. So technically, they are configuring and building Android (from which sources, AOSP or CM? I don’t know that), which should have similarities.

We’d love to help, but with CM we still in the “boot to something, for Pete’s sake!” phase, not dealing with hardware issues yet.

4 Likes

Then maybe you can learn from the Ubuntu port?

3 Likes

Most probably, they have some pro devs with CM experience, :slight_smile:

2 Likes

Would be very cool! I thought ubports was dead, but maybe there is hope :slight_smile:
Unfortunately I don’t have coding skills. Any other way one could help?
Cheers!

2 Likes

Hello ! Nice to hear that you are working on this project :slight_smile: I’ll soon try your alpha version !

But before, I have a question concerning the way to go back to FP-Open after testing Ubuntu… I have a TWRP image of my working FP-OpenOS, is it easy to reload it after Ubuntu installation ? As we installed a specific recovery.img, I assume TWRP is no longer installed, is it possible to “fastboot flash” the recovery.img of TWRP on top of the Ubuntu installation or it will break it?

Thank you,
Olivier

2 Likes

very good question, I am using Sailfish, would be nice to be able to switch back, if ubuntu turns out to be not the OS of choice at the moment.

4 Likes

UBports is still alive! The main developer is coding fulltime on multiple devices in his spare time.
You can help if you know someone with coding skills, spread the word and help build our community

4 Likes

Hi Olivier,

If you have the TWRP recovery.img you always could reflash it(fastboot flash recovery TWRPrecovery.img). Before you flash our version make a NAND backup zo you have a complete backup of you current rom.

7 Likes

We want to be open and fair.
We share all of our sources on Github.
We are aiming for a complete open Ubuntu Touch commmunity build.

10 Likes

Yo, first of all a big THANKS for your work. Without you I wouldn’t have Ubuntu on my Fairphone 2. Unfortuneately it seems as if Wifi was broken with system.img_camera, while it was running fine with the old system.img. Perhaps you might wanna check that. Please tell me if I can do supply you with anymore information regarding this issue.

2 Likes

wifi is disabled in camera and audio builds, it is known issue

3 Likes

Hi everyone, don’t hesitate to come join us in the matrix.org channel (or IRC channel) described in the cyanogenmod porting guide !

3 Likes

Another feature is working: camera.

9 Likes