TWRP for Fairphone 3

What is TWRP? (fairphone-noob here)

TWRP is short for Team Win Recovery Project. It is an alternative (not supported by the phone vendor) recovery program available for a lot of phone models, now including the Fairphone 3 (albeit not officially on the TWRP website yet).

The Fairphone 3, much as any other Android phone, has a recovery program installed by default, but this stock recovery program is limited in what it allows you to do.

TWRP opens up more possibilities like easy backup and restore of some things on the phone and perhaps more importantly making installing so-called custom ROMs possible, and then still some more stuff.

Custom ROMs are alternative OSes for a phone. They can be other Android flavours (often built to include as little Google involvement as possible, which many users want) or even totally different OSes.

Please see for general information and FAQ.

Running TWRP and custom ROMs has serious implications.
What’s more at the moment, on the Fairphone 3 TWRP and custom ROMs are still in an early stage, trying them out right now is still pioneering stuff and not for the faint of heart.

It can be fun, though, if you have a plan B or backup regarding your phone and your data :slight_smile: .


Make sure to have your tranquillization drops nearby :dizzy_face:

1 Like

tranquility drop: in order to install or even boot TWRP, you need to first unlock the bootloader. Doing so will wipe all your userdata. So unless you have it installed already or at least the bootloader already unlocked, using it for backup would be kinda pointless.

to go down that rabbit hole, you need to leave everything behind and do a factory reset of your phone. there is no way back. (well, there is. re-flash the phone to unmodified stock and relocking the bootloader, but guess what, this again wipes all the data :wink: )


:grinning: Thanks, corvuscorax! In an earlier stage, this indeed would have accelerated my pulse to 220, for sure. But I already unlocked the bootloader, have TWRP installed and the phone rooted.
Nevertheless: What you are saying can’t be pointed out often enough. In my mind, I see numerous guys desperately tapping on their phone… :cold_face:

1 Like

Hey Hey.
First of All: THANKS to all of you for working so hard on solutions for the FP3 and helping people with issues. I really appreciate this, as I intend to use the FP3 with LOS.
I’m following the discussions on this forum for a time now, unfortunately I also have to write a post now…

I have (at least) soft bricked my FP3: It only boots into fastboot mode, I can’t enter recovery or fastboot boot the TWRP img and I am afraid I made a stupid mistake.
I originally followed pigpig’s thread about how to flash ROMs with GSI but the system directly went into a reboot cycle.
With the intention to do the process again, I downloaded the Fairphone_FP3_8901.2.A.0105.20191217_12171325_user_release-keys ZIP and tried to install it with TWRP to get back to stock. Unfortunately stock also didn’t exceed the rebooting cycle.
Next I wiped the phone with all all options checked – I’m sorry fo my stupidity – to be able to make a “clean” install and got where I am now. I didn’t know this would break the whole thing and I thought I can then use TWRP to install things…

Following pigpigs instructions in this thread I tried to flash all the partitions from k4y0z stock zip manually. But imgs like product, vendor and system are missing. Would I have needed to make a back up of them myself? :-/

I hope anyone can help me. If you need more information, just ask. I didn’t want to flood the thread with details.

best, Janos

Did you try this ?

Ok, I just downloaded the ...user_release-keys and missed the product, vendor and system image.
I guess I will find them in ...user_release-keys_dump …?

I will try and report back. Thx

I suppose I should reupload the dump with the correct dsp.img :grimacing:

1 Like

Have you tried setting both slots active using fastboot before booting TWRP?

Haha, good idea :slight_smile: We should also give a link in the wiki
Should we give a script that verify that flash one slot, verify it, flash the other one if succeeded etc. too?

1 Like

Flashing to one slot should typically be enough I think.
Would also be quicker.
Also I’d remove all the “-S” from your commands where they aren’t required.

Or maybe make the script check which slot is active after “reboot bootloader” and then flash to the other slot and switch at the end.

This “-S” everywhere comes from a lazy for k in $(cat partitions); :smile:
vendor (?) and system are enough I think.
I’ve some time to spent. I’ll do that :slight_smile:

I actually used something similar during tests.
for i in $(ls *.img); do fastboot flash ${i%.img} $i; done

BTW, maybe you could try to sparse the system, vendor and product images and see if that get’s rid of the -S entirely using img2simg

The advantage of using non-sparsed image is that it is easier for everybody to use it with their own saved partitions. And -S is doing a sparse image isn’t it?

I suppose that’s what -S does, but I think presparsing them makes more sense at least for a stock dump.
It should also result in smaller images.

uhm jeah, I did. It always fails and goes back to fastboot immediately. (Also tried setting them active and rebooting seperately)

Sending 'boot.img' (28690 KB)             OKAY [  0.649s]
Booting                                   FAILED (remote: 'unknown reason')
fastboot: error: Command failed

Does it take long to have an account on android file host? To upload one with sparsed system

I’ve done this for the moment

I am currently reuploading 105 dump with fixed dsp.img.
Your script looks good, I would change the order and make sbl1 flash as the last step.
So the last two steps are aboot.img then sbl1.img.

I don’t think it took very long when I asked. Did you test with sparse images?

New 105 dump with fixed dsp is up: