[FP4] Sailfish OS - for Fairphone 4

Sailfish OS for Fairphone 4​

Sailfish OS is a mobile operating system and is designed to be fast and customizable. One of the most significant advantages of Sailfish OS is it’s focus on privacy and security.

DISCLAIMER: Due to limited amount of links for new users, we were not able to put all the links necessary in this post. For the full details, see our XDA Forum post


This port is for the Fairphone 4 based on Sailfish OS This port is created by five dutch students as college assignment. This port is a direct continuation on the previous port posted by @dimac4455 on these forums.


All the source code can be found on our Github Origanization
(Link on XDA)


Everything that worked in the previous build works, but mobile data also works now.

What works:

Audio (Record and Playback)
Mobile Data (4G/5G) **New: fixed in this release!**

Known Issues​

Current limit reached with speaker

If the volume is set to 100% and you play a loud audio, there is a current peak where it reaches its limit and the Fairphone will crash. You then need to simply boot, and everything will work again. (This is replicable when playing the yolla remix ringtone at 100% volume)

Earpiece microphone bug
When you’re on a phone call. The earpiece microphone does not work. To fix this, toggle speaker mode on and off. Afterwards it works like normal. (THIS IS NEEDED FOR EVERY PHONE CALL)

Auto-Brightness Glitching
After first installing this build, the brightness might go up and down continuously. This is a bug with auto brightness. We will fix this bug in the future, but it is still currently present. As such, you’ll have to keep auto brightness off.

Continue reading on XDA


The current release can be found on GitHub .


  • Must follow flashing manual for this device.
  • You can only flash this build over stock OS. No other android bases are supported.
  • For recovery you must flash the TWRP recovery image.

Sorry if I sound a little bit confused, but why do you @dimac4455 repost a thread started by @Vvamp here and say

Are you @dimac4455 and @Vvamp at the same time?


I really do appreciate every effort to port SFOS to the FP4, as I really love this OS, but this seems a little bit odd or even suspicious.

Or maybe there is an easy explanation, then I would be thankful if you could clarify this.

Not sure what you are reffering to however dimac started the topic so nothing odd or suspicious about this

However it seems we have a duplicate now

@dimac4455 and @Vvamp could you please ensure to only open 1 topic? I understand you are working together on this and @dimac4455 you didnt really open this topic here, it was done by a moderator, you initially wanted to update the previous version post. So moving forward just talk to each other and best open a topic per version and if you want to keep it linked to each other link the new topic in previous topic.
I closed the topic started by @Vvamp now


Yep, there’s an easy explanation.
We are developing this port as part of a school project. Each semester, another team takes over. The release was done by the previous semester’s team. @Vvamp is part of this semester’s team, which developed the release.

Our teacher wanted to post using this account(@dimac4455), as this is apparently the school project account. We didn’t know this when our teacher told us to post the new release on the forums, hence why I posted the original release on another account(@Vvamp).

We’ll make sure to post using this account in the future. Apologies for the confusion.

Thank you @yvmuell for closing the post on the @Vvamp account.


Thanks for clarification!

I was referring to the fact that an account talked about the same account in the third person. And that two accounts were posting the same post in different threads. And as we are talking about a ROM here, to which you give all your data, I think it should be clear who is talking and to which ROM s/he links and suggests to install. Installing such a low level software should really depend on trust.

1 Like

I’ve followed the flashing/installation details at

and so far it looks good! :+1:

EDIT: btw.: your link to XDA forum didn’t work for me, but this one did…


is there a chance that you, @mal, will also make a release in the foreseeable future? i think the project here is great, Ivwish I were able to contribute but I lack skills. but as i read in the SFOS forum, this release is without encryption, which i think is essential for a smartphone. or maybe this group and you could join forces?

@Mods: the other two threads are unfortunately closed, so I put the question here. if necessary, it can be moved.


Oh yes, I’d like to see a partnership between @mal and @dimac4455, too.
Maybe that could result in a port with encryption, that would be really great. I am really looking forward to a port of this great SFOS that I can use with a clear conscience without having to worry about my photos etc. if the phone is stolen or lost.

1 Like

I installed the version with the zip and the img files (referenced on the xda forum) and as described on github.
Updating with ‘zypper ref && zypper dup’ to the latest packages results in an unbootable phone - i tried the process three time :face_with_raised_eyebrow:.
I see that about 15 packages removed and about 20 packages a installed during the process.
To got the phone up and running again i have to reflash it.

Excuse me if I ask, but why do you try to update? Isn’t already the latest version? So if you flashed it it seems to me that there is no necessity of updating, or is there a reason for updating which I don’t see? Additionally: is this installation meant for OTA or are you just “updating” to packages from Jolla’s repository which don’t work on this port?

Hello juri, you’re welcome with your question.

The reason for using the zypper is, that it updates all packages regardless from what source they come.
So i can update every app from jolla store, openrepos and chum with one single command.

On a stable (e.g. release there should be no packages from the base system to be updated until the next release step.
This is also the behaviour on my fairphone 2 with @mal s releases (except on some early alpha releases).

I did not know why the version @dimac4455 posted above try to delete, add and/or replace some packages.
May be there are some fixes for the known bugs /e.g. phone call or volume level crash).

Btw.: i use sfos-upgrade to upgrade the base system on my sailfish community port devices :wink:.

Here an example what ‘zypper ref && zypper dup’ does:

Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

The following 13 NEW packages are going to be installed:
  bluez5-configs-mer jolla-settings-system-reset mapboxgl-qml mesa-llvmpipe-libEGL
  mesa-llvmpipe-libGLESv2 mesa-llvmpipe-libgbm mesa-llvmpipe-libglapi ohm-configs-default
  qmaplibregl sailfish-fpd sailfish-fpd-slave-binder usb-moded-defaults

The following 11 packages are going to be REMOVED:
  droid-config-FP4 droid-config-FP4-policy-settings droid-config-FP4-sailfish
  droid-hal-version-FP4 libhybris-libEGL libhybris-libGLESv2 libhybris-libwayland-egl
  libhybris-tests patterns-sailfish-device-adaptation-FP4
  patterns-sailfish-device-configuration-FP4 qt5-qpa-hwcomposer-plugin

The following 9 packages are going to be upgraded:
  harbour-barcode harbour-base64 harbour-dwd harbour-fahrplan2 harbour-meecast
  harbour-messwerk harbour-osmscout harbour-ownkeepass harbour-pure-maps

The following package is going to be downgraded:

The following 10 packages are going to change vendor:
  harbour-barcode      -> chum
  harbour-base64       -> chum
  harbour-dwd          -> chum
  harbour-fahrplan2    -> chum
  harbour-meecast      -> chum
  harbour-messwerk     -> meego
  harbour-osmscout     -> chum
  harbour-ownkeepass   -> chum
  harbour-pure-maps    -> chum
  libargon2            -> chum

9 packages to upgrade, 1 to downgrade, 13 new, 11 to remove, 10  to change vendor.
Overall download size: 73.6 MiB. Already cached: 0 B. After the operation, additional
190.2 MiB will be used.

Continuing will break the system … - but it would be nice to update the installed apps from chum repository :wink:

1 Like

Maybe try using “zypper up” instead of “zypper dup”. Or specify repo to update from using the --from option with zypper.


hey @mal, have a happy new year!
since you’re here already: any news on the status of your port? i know your stability requirements from FP2, so i guess i could be happy with a 99% stable port from your pen. any chance there’s something to marvel at soon?

1 Like

Hello @mal, thank you for this hint. It works, but not as easy across different repositories :wink:.
Btw.: any thing new about your Ports for FP3 and FP4? My FP3 waiting in the drawer for further usage :wink:.
Many thanks for your continuing Fairphone support.

1 Like

Yes, the support for the Fairphone ports is very appreciated! I have used the FP2 with SFOS for many years!

Now I have a FP4 in my drawer which I don’t use because I can’t stand Android and a 2nd hand Sony Xoeria 10 III running SFOS.

I aIm going to sell one of the phones because I don’t consider it very sustainable to own two principally working phones, but I am not sure which one to keep and which one to sell. I would bite my ass if I sold the FP4 and then the port is released… :grin:


As much as I would like to see @mal make a release, I don’t think that will happen anytime soon. She/he seems to be involved in many projects (have a look at the SFOS forum).
If I were you I would either bite the bullet and go Android on the FP4 (no option for me personally) or stick with the Sony and sell the FP4 (would be my choice, although with a bad concious).
Of course, you could also use @dimac4455’s port, but I personally wouldn’t consider it due to the lack of encryption. But that’s obviously a rather controversial question and doesn’t need to be important for everybody. Anither reason why I would wait for @mal’s release is that she/he answers questions which @dimac4455 should answer :wink: (to be fair, if it is a school project, they are possibly still on vacation).

Disclaimer: I really appreciate what @dimac4455 is doing here, but in my personal opinion the priorities are misplaced. But as said above, this is of course a personal opinion and not an absolute value judgment.

1 Like

Hi friends!

I managed to install SailfishOS on my FP4 :smiley:

So far everything works as planned, including:

  • Contact and Calendar synchronization (CarDAV/CalDAV)
  • Camera app is taking 12 MP pictures (3000x4000)
  • MTP file transfer to PC (set “always ask” in Settings → USB)
  • Email app with IMAP account
  • File browser (not default, should be installed from the Jolla store)
  • One-Time Passwords: SailOTP
  • Third-party app store: Chump GUI (go to System → Security → Allow untrusted software, then install rpm file for aarch64)
  • PureMaps (the app itself suggests to install from Chump instead of Jolla Store)
  • Telegram client: Fernschreiber (Chump)
  • screenshot (shortcut: Vol+ Vol- together)
  • GPS, tested with GPSInfo (Chump) and PureMaps
  • SSH (ssh defaultuser@

I took a slightly different path than the tutorial, as I didn’t flash TWRP but just booted on it :slight_smile:
Here’s a memo of the steps I followed:

1/ flash FPOS Android 11 (A.179)

plug to PC the FP4 in fastboot mode
flash_fp4_factory.bat (Windows) or .sh (Linux)

2/ Copy the image.zip on external SD

3/ boot to TWRP (without installing it)

adb reboot-bootloader
fastboot boot twrp-3.7.0_11-0-FP4.img

4/ in TWRP, erase and install the new OS

Wipe > Format Data > yes
Mount > check System
Install > zip
Reboot > Bootloader

5/ in fastboot, flash hybris-boot

fastboot flash boot_a hybris-boot.img && fastboot flash boot_b hybris-boot.img
fastboot reboot


Actually it seems that flashing TWRP is necessary if you want to use it later…
Once SailfishOS is installed; doing fastboot boot twrp-3.7.0_11-0-FP4.img doesn’t boot to TWRP even if fastboot says ‘OK’. Instead it is stuck at “Fairphone Powered by Android screen” :roll_eyes:

Flashing twrp to both recovery afterwards and it’s working fine :slight_smile:

Same behaviour for Ubuntu Touch, so it’s probably not SFOS-specific!


Can you run some Adnroid apps too ? Like some banking app or similar ?

Hello and welcome to the community :slight_smile:

Natively there is no support for Android app, so it’s not possible to run your banking app.
Only native linux app are available for installation…

(unlike LineageOS, Sailfish is not Android-based)

To be able to run Android apps on SailfishOS:

  • the proprietary solution, AlienDalvik, will never be available for Fairphone as it’s a community port.
  • it seems that the open-source solution, WayDroid -develpped for UbuntuTouch- might run (with limitations), as it was reported for others devices. Looking at the instructions it’s for advanced users… It’s not something I tried (yet?) :wink: