[Poco F5 Pro / Redmi K60 (China)] urbanman2004:
For those of you who owned a Poco X3 Pro, you may recall seeing a similarly structured walkthrough/guide for that phone that I setup and although I still own that phone, I decided to upgrade to the Poco F5 Pro [for some unfortunate reason] which I consider somewhat to be a lateral move so now I'm dipping my toe in "SD 8+ Gen 1" territory.

From what I can gather, Pixel Experience appeared to be as close to the AOSP feature set that you would get from an official Pixel phone and it reminded me so much of ArrowOS which happened to be my wheelhouse for quite some time when using my Poco X3 Pro.

Kudos to @flakeforever for his contribution by providing us the official Android 13 AOSP rom release, Pixel Experience Plus [mondrian].

Now, throughout this guide, I have linked the page or post based on information I gathered to put this guide together in order to credit that person instead of having to name drop them individually. These are fully detailed instructions to make it easier for newbs.

I've spent the better part of a day figuring all of this stuff out so hopefully you won't go through the trouble I did. PLEASE DO NOT PM ME FOR HELP. REPLY TO THIS GUIDE BELOW, THANKS. NOW LET'S BEGIN!!!

UNLOCK BOOTLOADER

1. Unlock the bootloader with Xiaomi Unlocker tool.

a. Be aware this process will factory reset the device before proceeding.

b. Download the Mi Unlock app onto your PC. Extract the contents within the zip file into an empty folder then run the app.

c. Register for Xiaomi account and sign in with your Mi Account.

d. Your Mi Account must be added to your Mi Settings

Sign into your Mi Account on the device.

Go to Settings –> About Phone –> tap on MIUI version (For POCO) until it says Developer options is enabled.

Back out of About Phone, Additional Settings –> Developer options –> Mi Unlock status.

Agree, then "Add account and device".

e. Shut down your phone manually, and hold Vol down + Power button to enter Fastboot mode.

Download and install the latest Xiaomi USB Drivers (or Google's latest USB drivers for Windows if all else fails) for your PC.

Connect the device to the computer via USB cable, and confirm that your phone shows up recognized as "Android Bootloader Interface" (in Device Manager), and click "Unlock" in the Unlock app.

NOTE: If Windows does not recognize the device due to it automatically installing the wrong "Kedacom Device Driver" then you will have to manually install the drivers for "Android ADB Interface/Android Bootloader Interface".

You will be presented with the following prompt stating: "Unlock the phone will erase all phone data, whether to continue to unlock the phone?" and "An unlocked device is an easy target for malware which may damage your device or cause financial loss."... Click "Unlock anyway."

f. After your first initial unlock attempt, you MUST wait 168 hours before unlock process can fully complete.

Wiping the device or removing the Mi account from the device could result in the timer being reset.

g. After the waiting period expires, click "Unlock anyway" multiples times in the Unlock app. It will display "Unlocked successfully" after a "%" countdown.

View attachment 6053264

You will notice the phone will restart automatically followed by the usual splash screens during the phone's boot sequence including the "POCO" screen which now displays an "open lock icon" at the top, indicating your bootloader unlock attempt went successful. You'll eventually be prompted to go through the MIUI 14 initial phone setup process onscreen.

FLASH CUSTOM RECOVERY & ROM THEN ROOT

2. Download the latest Pixel Experience Plus fastboot ROM for POCO F5 Pro [direct link here].

NOTE: For Pixel Experience Plus to work, it's preferred that you "use the latest stable firmware for your region" (e.g., v14.0.26.0 or v14.0.6.0). GApps comes included with the installation of this ROM (i.e.: Play Services, Core apps and Play Store).

3. Ensure USB Debugging is already enabled on your device (in Settings –> Additional Settings –> Developer options).

4. Remove any screen unlock (i.e., fingerprint, PIN, pattern or password) in MIUI.

5. Power off device and put it in Fastboot mode (Vol down + Power button).

6. Download the latest SDK Platform Tools from Google for adb compatibility and create a folder called "adb" in the root of the "C:\" drive.

a. Extract the files adb, AdbWinApi.dll, AdbWinUsbApi.dll, and fastboot into the folder.

b. Ensure the latest Xiaomi USB Drivers are installed for your PC, connect the device to the computer via USB cable, and confirm that your phone shows up recognized as "Android Bootloader Interface" in Device Manager.

c. Launch "Command Prompt" as admin on your PC and run the command:

cd C:/adb

To show a list of devices (including your phone) connected to your PC, enter the command:

fastboot devices

7. Download the Official TWRP [TeamWin Recovery Project] v3.7.0 recovery file by SKKK [direct link here] and copy it into the ADB install folder and rename it to "twrp.img".

8. Flash custom recovery file in CMD, run commands:

fastboot flash recovery_ab twrp.img

fastboot reboot recovery

NOTE: NEVER EVER "fastboot boot" recovery images using "fastboot boot recovery.img" since recovery has to be flashed directly to the device's dedicated "recovery_a" and "recovery_b" partitions or you will get a "FAILED (remote: 'Failed to load/authenticate boot image: Bad Buffer Size" error and your device will be stuck in fastboot mode. Ask me how I know...

To overcome this roadblock (being stuck in fastboot), enter the following commands:

fastboot erase misc

fastboot set_active a

fastboot erase misc

fastboot set_active b

fastboot reboot

Then install recovery correctly.

9. Your device should automatically boot into custom recovery. At this point, your device's internal storage will become accessible from recovery or the PC.

NOTE: For some reason, the touchscreen was unresponsive within TWRP forcing me to use an OTG cable and a mouse to proceed further. You will also need to change the language from Settings –> 🌐 followed by selecting your language of choice before applying the change.

a. Go to Wipe –> Format Data, type "yes" to perform data wipe; Back out to the main menu.

b. From your PC, copy the fastboot ROM into a folder named 'TWRP' on the root of your device.

c. From the device, go to Install –> Navigate to the TWRP folder.

Select "

PixelExperience_Plus_mondrian-13.0-20240107-UNOFFICIAL.zip

" and flash the ROM, but do not change any of the checkboxes that show up before doing so.

Format data (not wipe) before rebooting into the new ROM.

NOTE: At most it takes around 1 minute to boot back up.

10. [OPTIONAL] Power off the device and boot back into recovery.

NOTE: I wasn't forced to use an OTG cable and a mouse to proceed this time.

a. Download the latest version of Disable Force Encryption NEO then copy it into the 'TWRP' folder on the root of your device.

b. Go to Install –> Navigate to the TWRP folder.

Select "

DFE-NEO-2.1.0-ALPHA.zip

" (or the most recent version downloaded) and flash it, but do not change any of the checkboxes that show up before doing so.

NOTE: This will disable forced encryption of the data partition for better performance and internal SD + Data mounting in TWRP. It's not needed for the ROM to work, but due to disabling encryption it compromises security.

Wipe Cache & Dalvick and reboot into the new ROM once it completes.

11. After going through the phone's boot sequence, you'll be presented with the initial phone setup process onscreen where you can begin recovering your data.

12. Go to Settings –> About phone –> tap on Build number until it says Developer options is enabled.

a. Back out to Settings –> System –> to access Developer options –> Enable USB Debugging.

Scroll down to "Default USB configuration" and change it from "No data transfer" to "File Transfer".

13. To install Magisk, you will need to use the Custom Recovery method since the

PE Plus

.zip file doesn't come included with a "boot.img".

a. Download the latest version of Magisk (Magisk v26.4) then make a copy of it and change its ".apk" extension to ".zip" then copy it over to the phone's internal storage.

b. Reboot the device into TWRP custom recovery by holding the Vol up + Power button and flash the Magisk .zip file to arm root. Wipe Cache & Dalvick and "Reboot System" back to Android.

c. With the remaining ".apk" version of Magisk, copy it to the phone's internal storage and use the native "Files" app to install the apk.

d. Launch Magisk from the app drawer which needs an additional install to work properly so you will need to reflash it through the app.

Go to "Install" under Magisk –> "Direct Install (recommended)"–> "LET'S GO".

e. Reboot once the process has complete and voila!

NOTE: Since recovery is located in boot, Magisk will be overwritten after updating / flashing TWRP which will require you to reflash Magisk again.

f. Use an app such as Root Checker or Root & BusyBox Checker (from the Play Store) to confirm root status.

g. To bypass/restore SafetyNet validation, open the Magisk app, go to Settings (cogwheel icon) and enable MagiskHide.

h. As of Magisk v24.0, to restore SafetyNet and Play Integrity validation, you have to manually install the following module, Play Integrity Fix by chiteroman.

Download the latest version of Play Integrity Fix (v15.1) and copy it to the phone's internal storage (preferably the 'Download' folder).

Open the Magisk app, go to Settings (⚙️ cogwheel icon) and enable Zygisk.

Go back to Modules (puzzle icon), and tap on "Install from Storage."

Select the "Play Integrity Fix" zip file you downloaded to install.

Allow the installation process to complete and press "Reboot" to restart your phone after receiving a "Done" message.

Play Integrity Fix should be enabled once you're booted back into the system.

NOTE: If Zygisk was disabled, Play Integrity Fix will be nonfunctional so enable Zygisk and reboot the phone again for changes to take effect.

Open Magisk, go to Settings (⚙️ cogwheel icon), configure the Denylist with the apps you wish to hide root from:

Go to ⋮ (at top left) -> "Show System apps"

Search "Google" to deny all Google apps except for YouTube (e.g., Google Play Services, Google Play Store, and Google Wallet)

Deny any apps that require safety checks like some banking apps

Enforce Denylist and restart the phone.

If performed successfully, your phone should now be able to conceal/evade root detection from banking apps or others that require safety checks.

To check the device's SafetyNet status, use either one of the following apps in the Play Store: SafetyNet Helper Sample, SafetyNet Checker, or YASNAC (Yet Another SafetyNet Attestation Checker). Use Play Integrity API Checker to verify Play Integrity; however, you may not pass "MEETS_STRONG_INTEGRITY".

For those of you who currently own a Pocophone F1, you're in luck because I've already created a guide for installing Android 13 via LineageOS on it which can be found here. Also, I created a recent guide for installing Android 13 via ArrowOS on the Poco X3 Pro which you can check out here.