FP3 : Fairphone Open OS?

I didn’t even think about this, since i own a FP1U (which was rooted & gcrap-free by default) and saw the nice open os for the FP2, i just assumed it would be somewhat like that with the FP3, too. It really sucks that i still can’t replace my dying FP1…

Anyways, I was able to wipe all the gcraps from my phone, but it broke SMS… flipping SMS…

Besides that I love this phone, it’s so sexy… and Designed to open… :kissing_heart:

//edit: btw. I wrote a message to the FP-Support, to grant me access to the sourcecode, some days ago… no reply, yet.

5 Likes

I’d love to see fairphone publishing the source code/device tree for FP3 so the devs can port lineage or PureOS to the FP3.
As they haven’t done it yet, i currently kind of degoogled my FP3 with this steps:

  1. no internet connection for FP3 until finished the following steps
  2. uninstalled most of the google apps using adb and the script/applist provided in Google Apps keep reinstalling/ reactivating (not gsf and gms, already commented out in the script. I found out that they are needed to receive sms) Edit by @Stefan: Not true, at least for QKSMS, see here.
  3. installed the phone dialer from lineageos via “adb install” like recommended in Is there any alternative to the default Dialer app - that works on FP3? (replacement for google dialer)
  4. installed simple contacts via “adb install” with apk from F-Droid website (replacement for Google Contacts)
  5. installed QKSMS via “adb install” with apk from F-Droid website (replacement for Google Messages)
  6. installed Etar Open Source Calendar via “adb install” with apk from F-Droid website (replacement for Google Calendar)
  7. installed wireguard via “adb install” with apk from F-Droid website and added a profile to my private vpn (with pi-hole for dns-blocking last google stuff (like gstatic and googleanalytics) and of course facebook, ads etc.)
  8. In Settings -> VPN -> WireGuard i activated both options (VPN always active and block connections withoug VPN; or similar, translated from german)
  9. Connected FP3 to the Internet
  10. Installed F-Droid and DAVx5 to get new apps and sync Contacts and Calendars from my Nextcloud
  11. Done.

Of course this guide is only usable if you own a server (raspberry pi does the job) with pi-hole and vpn-server running…

13 Likes

ich bin auch ehrlich gesagt enttäuscht von Fairphone, dass sie vom vorgerooteten FP1 zu “if you root your FP3 you will lose the warranty” gekommen sind, das ist genau das Niveau der Konkurrenz, das sie sich ja eigentlich überwinden wollen.

To answer in English because the topic started in English: From the FLOSS point of view ordering a FP3 feels like a drop back on a lower standard. Just got an FP3 and was quite shocked reading Operating systems (OS) for the Fairphone 3:

The Fairphone 3 ships with Fairphone OS, a Google Mobile Services release, based on Android 9 Pie, with the Full set of Google Gapps.
Our aim is to support Fairphone 3 with security and software upgrades for 5 years.

For Fairphone 2, we offered also Fairphone Open, an OS that does not have Google services pre-installed. We are currently investigating the possibility of bringing back FP Open on Fairphone 3.

It is possible to install alternative operating systems such as Ubuntu on our Fairphone 3 (Ubuntu, Lineage) when they will be made available. We do not know for sure when they will be available. Please be aware of the following:

  • rooting the Fairphone 3 might void the warranty
  • we do not offer support for any different OS . You can Consult our community on the forum or the fora of the operating system you want to use for information, instructions, and help.

Yes, in the end it is my fault that I didn’t confirm that there is a FairphoneOpen for the FP3 (yet) but anyway it is a shame that there isn’t even a “we are working on a FairphoneOpen” notice.

6 Likes

Well, to be fair, the exact wording in

as of today is

4.2 The Fairphone Warranty does not cover damage resulting from:

i. The Product has been rooted or unlocked.

as well as

4.3 The warranty will be void in any of the following events:

a. Any term contained in this Warranty has been altered or modified in any way without prior written consent of Fairphone. The agents, employees, distributors, and dealers of Fairphone Products are not authorized to make modifications to this warranty, or make additional warranties binding Fairphone;

b. Fairphone has not been notified by You of the alleged defect or malfunction of the product during the applicable warranty period.

If you take that literally (and for legal documents, that’s the only way that actually matters) rooting or unlocking the phone will NOT “void” the battery warranty.

But the warranty does not cover damages resulting from rooting/unlocking and/or installing/running 3rd party software.

So if you brick it while trying to root or flash it, that’s not covered by warranty. And if you install drivers that damage the hardware as part of a custom ROM, (brick, overheat, burn in-chip fuses) that would also not be covered.

I’m kind of OK with it. It’s kinda "you can play with it, but its at your own risk. We will still cover manufacturing defects and other stuff that’s not your fault)

Also section 4.2 has a lot of other exclusions, including water damage, improper use, viruses and malware you caught during regular use, …

12 Likes

100% agreement.

Just one funny error (I guess)

(boldface by me) :grin: :rofl:
you meant “warranty” didn’t you.

3 Likes

Hi,
They’ve just updated the support page ^^

https://support.fairphone.com/hc/en-us/articles/360032971751-Operating-systems-OS-for-the-Fairphone-3

We are working towards making available:

  • a factory image (OTA) for download and manual flash
  • the Linux kernel sources (according to GPL) so alternative operating systems can develop a Fairphone version of their system based on this. As parts of this kernel are owned by third parties, we need their permission first
  • software versions once they pass our beta-testing
  • any other software upgrades.
20 Likes

The Kernel source for FP3 has been released. Its available under https://code.fairphone.com/projects/fairphone-3-gpl.html
I hope that anyone could use it to make a rooted kernel, or google-free/custom rom with that :slight_smile:

6 Likes

in a first step, it should be possible to make a very minimal linux, offering a serial console, able to mount partitions, inspect them, test hardware, etc…

the kernel is only half of the equation though, to boot linux from an arm system-on-a-chip you need a hardware-device tree specification for the particular motherboard/device the chip has been soldered on,

on a desktop PC that is not needed, as the BIOS takes care of it with its ACPI tables (which store which hardware can be found at which address/device tree path)
although some laptops have been known to have faulty ACPI tables which cause hardware damgae/bricking when linux was trying to address the hardware according to those wrong descriptors)

on any embedded device including phones, there usually is NO BIOS. There’s a bootloader, but that only loads the kernel, it doesn’t stay in the background and does low level hardware abstraction shit like the BIOS does on a PC historically

instead the kernel needs a binary device tree specification (DTS / DTB) file that tells the kernel drivers which hardware is connected to eachother in which way

systems on a chip can have many multi-purpose pins that could be connected to anything depending on how the board has been designed/soldered by the manufacturer. so for each motherboard a specific CPU is put on, you need the matching DTS

the DTS sources are part of the linux kernel, as such technically the fairphone linux kernel should include DTS files specific to fairphone3.

There are indeed DTS-includes for various fairphone specific subcomponts in the source (for example for various batteries
in
arm64/boot/dts/qcom/qg-batterydata-Fuji-3000mah-Jan22th2019-pmi632.dtsi
/arm64/boot/dts/qcom/qg-batterydata-Kayo-3000mah-Jan22th2019-pmi632.dtsi
arm64/boot/dts/qcom/qg-batterydata-mlp356477-2800mah.dtsi
GPIO pin control
arm64/boot/dts/qcom/msm8953-pinctrl.dtsi
audio:
arm64/boot/dts/qcom/msm8953-audio.dtsi
touch driver:
arm64/boot/dts/qcom/sdm450-pmi632.dtsi

the problem is, none of these actually specify exactly for which phone they are. Instead of making specific master device descriptors for fairphone3, it looks like existing descriptors have been patched to include fairphone3 specifics - but these are included by quite a number of board DTS files.

considering the fairphone3 has a Qualcomm Snapdragon SDM632 CPU, I would assume the correct device tree root file is either one of

arch/arm64/boot/dts/qcom/sdm632-cdp-s2.dts
arch/arm64/boot/dts/qcom/sdm632-rumi.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-rcm.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-qrd.dts
arch/arm64/boot/dts/qcom/sda632.dtsi
arch/arm64/boot/dts/qcom/sdm632-pm8004-cdp-s2.dts
arch/arm64/boot/dts/qcom/sdm632.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-ext-codec-mtp-s4.dts
arch/arm64/boot/dts/qcom/sdm632-mtp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-ext-codec-cdp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-rcm.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-mtp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-ext-codec-cdp-s3.dts
arch/arm64/boot/dts/qcom/sdm632-qrd.dts
arch/arm64/boot/dts/qcom/sdm632-qrd-sku4.dts
arch/arm64/boot/dts/qcom/sdm632-pm8004-qrd-sku4.dts
arch/arm64/boot/dts/qcom/sdm632-ext-codec-mtp-s4.dts

or neither and fairphone forgot to include it

the device tree specifications (.dts) are all compiled into a binary device descriptors (.dtb) when compiling the kernel

the correct one for a specific hardware is then stored either as part of the kernel binary (bzimage) or stored separately in the boot partition and given to the kernel by the bootloader. that way the same generic binary kernel can be used on multiple ARM devices, but on each it would need the correct device tree to work

on android this works like this:

https://source.android.com/devices/architecture/dto

loading the wrong one might misconfigure vital components and could brick the phone or make it go up in smoke (especially if hardware responsible for charging/discharging the battery is configured wrongly)

now on the phone there is already a compiled device tree file and a kernel, so maybe one can use this binary device tree spec to load a different kernel (compiled from the same sources) and use that to inspect it further to find out how exactly the hardware is configured.

but a bit of extra information along with the kernel sources (for example which device tree matches which fairphone3 build revision) would be really helpful.

12 Likes

Fairphone Open OS is the Google free Android that Fairphone provided for the FP2 and people are now asking for for the FP3 as well. And that’s what this topic is about.

I think you should continue your discussion in one of the topics around community efforts of porting other OSes to the FP3 like

I doubt you need to tell the company where they released their source code or how to port something to their own device :wink:

2 Likes

Just coming back here regularly to check if Fairphone OpenOS has arrived on FP3. I understand it’s still not the case :worried:
As @AnotherElk mentioned, on the FP2 the interval was between Dec. '15 and Apr. '16, 4 months.
In our case, Sept. '19 may leave me dream of arelease around January…
Too late for Xmas gifts but not too far away?

1 Like

hello, first post here.
Given all the talk of lineageOS I’m curious, while I’m on Linux (manjaro) and I’m a FOSS enthusiast (and open source python coder), I’m sticking to Android for two reasons only:

  1. I need google products for work
  2. I use Android apps from the play store for banking and credit card
    So, with lineageOS, is it possible to do both of those things?
    If not, or frankly if it’s a pain to do, then I’ll just stick to Android.
    That said I’ve ordered a FP3 anyway for the hardware.
1 Like

Well, it’s certainly allowed to dream, and that for now is the realm where something like Fairphone Open OS for the Fairphone 3 is staying, as long as Fairphone don’t definitely announce it or surprisingly just release it.

2 Likes

Generally speaking it should be possible. Lineage comes without Google apps and services by default, but you can install those additionally. That’s what I do, because I also want the Play Store and Google Services for apps that don’t work without them.

3 Likes

OK that’s encouraging, do you know of or have a link to tutorials or FP docs on how to do that?
Thanks for your time and answer :+1:

All I needed was the official documentation at https://wiki.lineageos.org/devices/FP2/install

Only in the "Installing a custom recovery using fastboot" section you need to pay attention to step 6

Now reboot into recovery to verify the installation:
 * With the device powered off, hold Volume Up + Power. Release when boot logo appears.

When I did this for the first time I was probably a little clumsy with pressing those buttons during boot. I ended up booting the normal Android instead of the recovery. If that happens, you need to start over from step 5 of flashing the recovery.
The recovery is only persisted if you boot to it immediately after flashing.

4 Likes

ok awesome thank you. I’ll read it through before trying it out (RTFabulousM) :slight_smile: and again, thank you for your time and the info, much appreciated, :kudos: to you :bookmark:

2 Likes

Just to be safe, looking at this topic’s category:
Please be aware that LineageOS isn’t available on the Fairphone 3 yet, even a custom recovery program with which to install it isn’t available yet.

Everything we might say right now and here in this regard is just how LineageOS works in practice on the Fairphone 2 (where it works awesome).

8 Likes

OK thanks for the info :+1: I’m happy with Android for now but am just asking out of curiosity.

1 Like

LineageOS is Android, too :wink: .
Android is just the base for all vendor-specific or community-specific adaptations, see Android (operating system) - Wikipedia.

2 Likes

yes I know :slight_smile: I just meant Google Android vs Foss OS but good point :+1:

1 Like