[UNOFFICIAL] Stock ROM Android 4.4.2/4.4.4 Kitkat for FP1 & FP1U

Hi! Installed yesterday night and got up & running only this morning after several problems with restoring my backups and/or deleting data…some of them my faults to be honest :stuck_out_tongue:
I confirm I have no problems with the following services/devices:

  • dual SIM support (I tried both SIMs and they are able to call and receive voice and SMSes);
  • 3G data + USB tethering (my first SIM is 3G activated and I’m writing this post using my pc with tethered connection :wink: )
  • GPS (great! my first fix after 16 seconds!)

I didn’t try yet WIFI and Bluetooth because had no time to test them, I’ll report something tonight or tomorrow morning.
Again thank you very much @chrmhoffmann for your great work :smile:


I see, I never tried that but I see them in “Secret Codes”.

Regarding the " … what’s in it for them?" question I wanted to clarify if the used BT software in the ROM is newer, so that maybe some of the problems with BT could be fixed. As far as I see it, there are two BT “stacks” the one made by MTK and the one Android is mainly using. Maybe there is some progress in the BT area with the new ROM from chrmhoffmann if it uses newer MTK libs?

1 Like

Does that mean you received blobs from Fairphone after they had licensed everything? Apparently Fairphone itself is currently busy with getting FP2 out of the door so it would be awesome to hear that them having aquired the licenses at least helps community (in this case you) to continue working on builds.

BTW: I had asked ages ago in the CM for FP1 thread over at xda-devs whether there is anything one could help you with. I would be happy to provide my humble debugging and programming experience.

1 Like

Hello Chris,

Testing 4.4.2 so far is a real joy. GPS, Bluetooth, Dialing and 3G all work so there is not much stopping me from trying it for a longer while. In terms of Bluetooth I tested connecting to a headset and connecting to a BT keyboard/mouse combo.

I installed the FairphoneHome apk to get more of the Fairphone feeling and so far things work quite nicely.

The biggest problem so far is visible in the browser where due to a misconfiguration (DPI settings?) I cannot click the accept/reject location sharing when the browser is requesting this.

I also would like the browser startup page to have a little cleanup but this is really details. Next up we will try running CTS/Security tests and compare that to the official FP1 release.

Thanks for the hard work!


@keesj: where did you get the FairphoneHome apk? Did you grab it from the last 1.8.7 OTA zip file?
I ask this because the first time I started the phone after flashing the KK image, it blocked during startup by switching continuously between the “Android” splash animation and the “starting” image of the Fairphone launcher (don’t know why given that I supposed it would be wiped away from system partition), so I thought the launcher was incompatible with KK.
After this I wiped the /data partition and then I was able to start the system, but I ended up with the Launcher3 Android standard launcher. So can you confirm installing the Fairphone Launcher (or recovering from a TB backup) will be feasible?
Thank you very much, bye! :smile:

1 Like

What I was wondering: Is it really necessary to wipe the data partition? Shouldn’t an Android update only override system files (like a FP OS update)?

thanks @chrmhoffmann!!
As far as I have no idea what’s the meaning of flashing a rom, I will wait a little before trying.
But it seams that I will not need to buy another phone to use an android watch.

1 Like

Would be really interesting if Android Wear indeed works on @chrmhoffmann’s Kitkat ROM.

If you want to get the fairphone home apk I suggest you do the following:

goto https://fairphone.zendesk.com/hc/en-us/articles/201189497-Fairphone-OS-multiple-versions-
Download FP1U and FP1 with upgraded partition layout (1.8.7) and get the FairphoneHome.apk from the system/apps folder of the zip. While the code is open source I did not find a public repository with the most recent code.


This is the same thing I thought, so my first try was simply flashing the image and restart, but it didn’t start the home, looping between the two splash screens as written previously. After this I wiped the /data partition and it started well but after restoring some settings and apps from a TB backup (luckily I backup everything some days ago!) the phone app became crashing cotinuously deregistering both SIMs every 5 seconds (I had to put the phone in flight mode to be able to use it); I don’t remember what caused the crashes, my main suspects are some system settings and xposed framework, but I hadn’t he time to investigate deeper.
Bye :slight_smile:

1 Like

Please, nobody should start flashing any experimental builds like this without having backed up everything that is not replaceable. I even backup everything each time I update using official channels.

1 Like

I absolutely agree :smile:
I have to admit I was a bit brave and risk to loose data trying different beta FPOS installs in the past, but flashing experimental builds is very dif|erent!

As I am a little bit lost in all the disussions about ROMs/MTK/CW/Android 4.2+@FP1;

Can anybody explain to me:

  • why @chrmhoffmann can do bring us Android 4.4.2 to the FP1(U) (THANKS!) while FP are not able to do (at the moment, or dont want to)?
  • Is this in any connection with the FP1 software announcment, FP recently did?
  • What is about the MTK-software part, which is still not available for the public (afaik) - but how the Android 4.4.2 can run at all?
  • If Kitkat 4.4.2 is now running well - where is the difference in bringing recent CM running?
  • If Kitkat 4.4.2 is now running (which already is a big jump from 4.2), where is the difficulty to go even further (5.0 …)?

Thanks for making some points clearer…:confused:
Cheers, Robert


This is my understanding of the issues:

Without wanting to detract in any way from chrmhoffmann’s efforts, this should be seen more as an alfa version. Testing, packaging and supporting a new version for the general user takes a lot more than putting a version out aimed at technical users for testing.

No, as outside of Fairphone nobody has access to the sources mentioned in the announcement. The XDA thread mentions that some of the required information came from places on the web:

This is Android 4.4.2 kitkat compiled from scratch from some other device sources that you find on the web. Adapted to fairphone FP1(U).

Not sure what you’re asking. Could be that the quote above is what you’re looking for. There is no source code for a bunch of the specific hardware in the phone. Occasionally using compiled parts (binary blobs) can help, but sometimes this isn’t compatible with other parts of the system.

The CM ROM used different code to interact with the blobs, which lead to some things not working. For instance:

Which shows that MediaTek changed a lot of things in the system so it works with their hardware.

At least (probably more): More issues with incompatibilities with the blobs and a lot of work to adapt the kernel sources in such a way that they build for this device (a kernel source for mediatek devices for the kernel used in 4.4 is floating around on the web, but not one for the kernel used in higher versions, if I’m not mistaken).


Well put! Also this often quoted LWN article sums it up very nicely. There is more to it (how companies work and make money, selling the same licensed features with different names), but I don’t want to warm up this topic every time … there a already a few topics about this here already.

The Linaro group tried to help in this area, but I guess nobody was really interested in discussing those links :smile: One can also use their build chain to compile the FP1 kernel.

Regarding BT: The MTK’s bluetooth (BT) stack is a blackbox. I only know about the changes in the Android BT stack, the changes in MTK’s BT are not published in google’s android changelog, that’s why I was asking if newer MTK lib versions were used.


Does that translate to “one could potentially” or have you actually done it (or know of anyone who has done it)?

Done it. But a kernel is not a working ROM. What I’m was looking for is a full BUILD-chain (it throws out a ROM more or less) this is only the TOOL-chain to build the kernel for the SoC. I hope that is not too confusing. I send you a private message :smile:

1 Like

I am running @chrmhoffmann’s build since three days now and had no issues whatsoever.

This first day i ran without google apps, then i installed google apps from opengapps.org. So far, everything works well. The phone feels quity snappy, data, gps and wifi works. Camera works as well!

Great work!


Just out of a hunch to test something else, I also installed chrmhoffmann’s rom using CWM. I agree, 4.4.2 feels snappy.

For people that look for a howto for the FairphoneHome.apk (see keesj’s comment). I also missed the side-swiping:

Unzip the lasted Fairphone-image (I used the FP1-Fairphone_OS_v1_8_7_Image_2015081400.zip, that was on my hard drive already):

$ simg2img system.img sys.raw.img
$ mkdir sys-image
$ sudo mount -o loop sys.raw.img sys-image
$ cd sys-image/app
$ adb install FairphoneHome.apk

Reboot and select.

Other notes:

  • Do not switch the runtime, Art is not working right in 4.4
  • Printing in the local network is not working out of the box (I’m not going to install “Google cloud print”). I read a few things about this online, basically you cannot print with Android without using extra apps or “the cloud”. How useless. :frowning:
  • bluetooth differs :wink:

I just uploaded an updated version that moves the rom to 4.4.4_r2.0.1 and fixes lots of security fixes (now at November status). Head over to XDA and give it a try.

Beware: this is a merge of 4.4.4 over the mtk stuff, so I expect it to be a bit more buggy than the previous release. It was loads of work to get this merged.