How to root the Fairphone 3?

Please keep in mind that different Android phones run different flavours of Android, sometimes highly costumized by the vendors. Rooting procedures can and will be different between phones, as will be risks and consequences going along with it. (Even between Fairphone 2 and Fairphone 3 there are differences.)

You may think of it as different Linux distributions: Debian, Fedora, Slackware, Gentoo, Arch Linux all have their own way of managing details, configurations, etc. There’s lots of distribution-specific documentation.
If you wanna master one of those distributions on a system administrator’s level (which is what root is all about), you need to dive into the specific flavour accordingly.


This comparison in my opinion makes no sense - for two reasons.

  1. The first question is very general, the second with highly limited scope . “how to install linux” would be closer and would result in “loads of competing instructions” too. But still there is a difference because there are not only many flavors of android (like Linux distros) but also much more relevant differences on the side of the devices (fewer open standards like BIOS).

  2. Google delivers highly personalized results - so the fact, that you are getting these results does not mean anything. Maybe Google knows what kind of information you prefer about arch linux, but does not know this yet concerning Android. Its a sort of oxymoron to offer personalized search results as “facts” and as a counterexample for a “discussion based on opinions”.


Thank you so much!!!

Perfectly working so far.

We may be turn your message into a guide? It might be too soon, as it is still a bit experimental…

Hi everybody,

i’ve got a problem. In your line 4, it says me “failed: unlock device to use this command”
i’ve tried “fastboot oem unlock” but it says “oem unlock is not allowed”.

Could you help me ?

thanks :slight_smile:

As far as I know it must be enabled in the developer settings first.

1 Like

Just in case enabling it at developer settings isn’t the reason.
Have you seen this thread:

There is a FP-page with a tool to create the verification code. And on this page (in the source code, there is an error-message: "data-error-disabled=“Unlocking the bootloader is disabled for this device. Sorry about that.” So maybe your phone is one of the devices, where unlocking is disabled? Is it a company phone?

1 Like

@sm01man thanks for the guide! @k4y0z thanks for the root!

Can we flash this TWRP image onto recovery? Or will it work only with fastboot boot? Thanks!

Welcome to the community forum.


Thanks @AnotherElk, your post links to this thread that answers this question, and also a lot of others :slight_smile:

:+1: Maybe you should insert a step to unlock the bootloader.

1 Like

Thanks for this solution guide!
But I have one question: After step 7 I want to lock the bootloader again.

When I do this, I can’t boot anymore, because Android says “Your device is corrrupt”.
I guess, this is, because I changed the boot partition with these steps. But how can I solve this problem?

Do you mean this screen (sorry, low resolution image grabbed from the internet)? …


If it is this screen in your case … just press the power button to continue booting (before the phone gets rebooted automatically after 30 seconds).
If you want to get rid of this screen, you can do it with ADB once Android or TWRP are booted …

No, that’s the message, I get, when I unlocked the bootloader.
But now, I know, what I did wrong. It is impossible to lock the bootloader, again after installing magisk. Am I right?

I don’t use Magisk, but …

1 Like

Personally, I’m afraid of rooting and technically it maker our smartphones vulnerable. So, I staretd to use VirtualXposed APK sometimes ago. It can run some of Xposed modules and helps to customize some apps. Honestly, it doesn’t offer all the root benefits.But, enough to have what I want from my device.Hope my personal experience will be useful for someone else here

After installing Magisk and locking the phone again something went wrong and I was back in the google-environment. I flashed twrp and lineage again, but now I can’t connect to my computer, because it says ‘waiting for debugger’ in developer options. I tried to find a solution, but I couldn’t find one which could help me. Maybe somebody knows how to fix this?

No, this already is what went wrong. Don’t lock the bootloader.


Hey @AnotherElk, tnx :-).

Lineage works just fine now, except for the ‘debugger’. I wanted to install Magisk to be able to root my phone, because I wanted AFWall+ to work. I read the ‘Magisk’ link you send. I presume that is just fine to do (I will not lock the bootloader again ;-)). Do you think there is a solution to get the debugger working again? Or is this functionality gone forever?

tnx again.

It seems I can make a connection with the phone in ‘recovery’. With ./adb devices in terminal it says: ’
List of devices attached
[number] unauthorized

When I write ./adb sideload Magisk-v20.4.zip in terminal I get:

adb: sideload connection failed: device unauthorized.
This adb server’s $ADB_VENDOR_KEYS is not set
Try ‘adb kill-server’ if that seems wrong.
Otherwise check for a confirmation dialog on your device.
adb: trying pre-KitKat sideload method…
adb: pre-KitKat sideload connection failed: device unauthorized.
This adb server’s $ADB_VENDOR_KEYS is not set
Try ‘adb kill-server’ if that seems wrong.
Otherwise check for a confirmation dialog on your device.
'adb sideload connection failed: device unauthorized /

Maybe this information help in solving the problem.

Or should I do a factory reset? The last time I got back to google I got the debugger-problem so it seems that resetting is not the solution (?).

That means that you once have to access the phone via adb during normal system start. Then on the phone there should be a pop-up asking for permission to allow USB debugging from this computer (select the checkbox to always allow this computer).

1 Like

Hi @Ingo, accessing the phone during normal start is the problem (waiting for debugging). Or do I not understand you well? Do you mean that I have to try to make ‘during’ normal system start? How does that work?
Or did you mean to make a normal system start, make the connection and so on in the normal way. I tried it this way, but that still doesn’t work. I don’t get a pop-up for USB debugging permission.