[Huawei P9 ROMs, Kernels, Recoveries, & Other Devel] zgfg:
For Huawei P9, L09 (5,2', single SIM).

HowTo: TWRP (3.1.0-1), Root (SuperSU 2.79), AdAway, BusyBox (JRummy) and Viper4Android (2.5.0.5)

All resources as mentioned below can be found on my Mega folder:

https://mega.nz/#F!w41RmZKB!IG53JadhjUKgFK8anbctIw

You must start with Nougat, c432, b378 (it works also for b383). To come to this point, follow:

https://xdaforums.com/p9/how-to/guide-debranding-to-c432-updating-to-t3551523

https://xdaforums.com/p9/help/p9-7-0-nougat-update-eva-lo9-b182-t3539754

https://xdaforums.com/p9/how-to/b383-t3586090

https://xdaforums.com/p9/development/tool-srk-tool-huawei-bootloader-root-t3374068

https://xdaforums.com/p9/how-to/how-to-safely-unlock-bootloader-p9-t3369499

Hint: Read the first few pages at the beginning of each (to become familiar to the story/method and to see if it applies to your case) and then jump to the last few pages (to see refinements, common problems and solutions users may have updated)

1) TWRP (3.1.0-1)

1a) For those with no TWRP, follow instructions from:

https://xdaforums.com/p9/development/twrp-t3565703

Once you flash twrp-3.1.0-1-eva.img, you must FIRST boot to TWRP - if you boot first to Android, you loose the installed TWRP.

To boot to TWRP, keep in fastboot:

- Press Volume Up and Power simultaneously, keep pressing

- Execute from the PC: fastboot reboot

- Immediately disconnect USB cable

- When phone shows Booting, release Power (keep pressing Volume Up)

You must be quick, otherwise phone will boot to Android and you will loose your TWRP.

Goto (2)

1b) For those who already have another version of TWRP, like 3.1.0-0 (old, from this thread) or e.g. 3.0.2 (another XDA thread):

Boot to TWRP, choose Install, select storage (Internal, External or OTG USB), select Install IMG (not ZIP).

Navigate to and select twrp-3.1.0-1-eva.img, Install, select to install as Recovery (not Boot).

Reboot to Recovery, goto (2)

IMPORTANT

=========

Before you proceed: From TWRP, make a backup of all partitions (except Cache and Dalwik Cache), and store it to a safe place (like Mega cloud).

Huawei updates (like b383) do not want to install (DLOAD method) if they find system partitions modified (by root hacks). For such upgrades, you will need to install stock boot image (not rooted) and stock eRecovery (you can flash them from TWRP), but before that you will have to revert all changes in the system as introduced by AdAway, BusyBox, Viper4Android and anything else you could have done by Titanium (uninstalling system apps), buildprop changes, etc.

For details about reverting changes and upgrading to b383 without rolling back to MM (in case you didn't backup before modding b378), see

https://xdaforums.com/showpost.php?p=71877710&postcount=284

2) Root (Chainfire's SuperSU 2.79)

You have just installed and booted to the brand new TWRP 3.1.0-1.

You cannot install generic Chainfire's SuperSU (apk from Google Play nor zip), instead we will install modified SuperSU-v2.79-201612051815-EMUI5.0.zip from:

https://xdaforums.com/showpost.php?p=71588837&postcount=102

2a) For those who already have root but through phh's SuperUser, and who want to switch to the 'industry standard' Chainfire's SuperSU:

Choose Install, select storage (Internal, External or OTG USB), select Install IMG (not ZIP).

Navigate to and select b378_boot_stock.img, select to install as Boot (not Recovery).

Stay in TWRP, under Install and goto (2b)

2b) For those who didn't have Root or who came here from (2a):

Choose Install, select storage (Internal, External or OTG USB), select Install ZIP (not IMG).

Navigate to and select SuperSU-v2.79-201612051815-EMUI5.0.zip (do not open it or unzip), Install.

Choose to Wipe Cache (Cache and Dalwik Cache), reboot to System (Android) and goto (3)

3) Upon installing TWRP and rooting, reboot to Android.

Find SuperSU icon, run and check if it starts (you can close it then).

Install Root Checker by Clivin from Google Play, run - SuperSU will pop-up to ask you to grant root permissions to Root Checker, grant them.

Root Checker must show (in green) that your device is rooted and that SuperSU is installed

Install also Reboot app (by Petrus) from Google Play, run - SuperSU will pop-up, grant (permanent) root permissions for Reboot..

With Reboot, you can easily reboot to TWRP (or even to fastboot), without the need to pinpoint by Volume Up + Power again.

You can configure Reboot to show you only Reboot, Recovery, Fastboot and Power Off options.

Goto (4)

4) AdAway

If you don't need AdAway, goto (5).

Open (Android) Settings, Advanced Settings, Security and enable Unknown Sources.

Install AdAway-v3.2-Feb.08.2017.apk, and disable back Unknown Sources (it's safer).

Run AdAway - SuperSU will pop-up, grant permanent root permissions for AdAway.

In AdAway, choose to Download (hosts) Files and to Apply them, and configure its auto-updating (through WiFi).

Goto (5)

5) BusyBox (JRummy)

For Viper4Android you must have BusyBox.

If you don't need BusyBox (neither V4A), you're done

Install BusyBox by JRummy from Google Play, run - SuperSU will pop-up, grant permanent root permissions for BusyBox.

In BusyBox, instead of installing applets to default /su/Bin (?), select Choose a directory, and define /system/xbin (otherwise you will loose BusyBox applets upon rebooting).

Choose Install (applets). Reboot!

Open the previously installed Root Checker by Clivin, Verify if it finds BusyBox as properly installed.

Goto (5)

6) Viper4Android (2.5.0.5)

For V4A, you must have TWRP, root and BusyBox properly installed (previous steps).

You cannot install generic V4A , instead we will install modified V4A viper.zip from:

https://xdaforums.com/p9/how-to/huawei-p9-nougat-info-guides-t3517208

Reboot to TWRP (to do it easily, use the previously installed Reboot application).

Choose Install, select storage, select to Install ZIP (not IMG). Navigate to and select viper.zip, Install

Reboot to System (Android), enable (installations from) Unknown Sources, see above.

Install SELinuxModeChanger.apk ), run and grant it permanent root permissions when popped up by SuperSU.

Change SELinux mode from Enforcing to Permissive, reboot if asked to.

Install ViPERFX_v2.5.0.5.apk, run and grant it permanent root permissions if popped up by SuperSU.

In V4A, configure your audio tweaks for Headset, Phone Speaker, BT - you must enable Master Power for each.

Check Driver Status in V4A, it must show that it is enabled, status Normal, Supported (currently not Processing).

Disable Unknown Sources

Play some music, V4A Driver Status must show status Processing.

Play with V4A tweaks to tune them for your music, taste and BT/wired headset

If you want to use Convolvers, choose Convolver and enable it. Select Impulse Response will be empty (but V4A will create Kernel subfolder, see below).

In your favorite File Manager, navigate to internal storage, find Viper4Android and its empty subfolder Kernel.

Download IRS convolvers from Internet, unzip them and copy the *.irs files to that Viper4Android/Kernel folder.

Go back to V4A, Convolver, now you should be able to test impulse response convolvers

Enjoy!

Please note back if something was omitted or not properly/clearly described

PS: According to [MENTION=4960686]OldDroid[/MENTION] - thanks, same applies to c432 b383:

https://xdaforums.com/showpost.php?p=71786577&postcount=221

Edit: Yes, it does work for b383, too