Unofficial TWRP is now available for the Xiaomi Mi 10 and Mi 10 Pro
Xiaomi’s 2020 Mi series flagships – the Mi 10 and the Mi 10 Pro – are powered by the Qualcomm Snapdragon 865 SoC coupled with LPDDR5 RAM and UFS 3.0 storage. The Mi 10 series also supports dual-mode (SA/NSA) 5G, thanks to the Snapdragon X55 modem. Xiaomi even published the kernel source code for the device duo right after the launch event in their home country. In case you’re planning to get the Mi 10 or its Pro variant for exploring the world of aftermarket development, you should be delighted to know that they have now received a unified, unofficial build of TWRP.
The Mi 10 family comes with Android 10 out of the box, which makes it rather difficult to compile a fully working copy of TWRP for them. The popular custom recovery project is in the middle of a massive restructuring due to the huge amount of changes introduced by Google to the AOSP recovery environment with the release of Android 10. The TWRP team is busy rewriting various internal modules to support devices launching with Android 10, but there is no concrete timeline regarding the stable release.
Despite facing all these roadblocks, XDA Senior Member simonsmh has managed to compile an experimental TWRP build for these smartphones. The unified release is based on TWRP 3.3.1, and the custom recovery can seamlessly determine the underlying device by reading the value of the
ro.boot.hwversion property. Decryption of “data” partition is working, and you can even mount “system,” “vendor,” and “product” partitions, albeit in a read-only mode. The list of non-working components is expectedly quite long, such as broken ADB sideload, missing USB OTG support, and the inability of formatting existing partitions. Fortunately, most of them aren’t device-specific and should be fixed as soon as TWRP developers start merging the appropriate commits upstream.
Note that the TWRP image shouldn’t be permanently flashed on the target device for stability reasons. Instead of that, users are advised to opt for temporarily booting the IMG file using the Fastboot interface. The device tree and the recovery source are available on the developer’s GitHub profile in a bid to encourage the spirit of open source development.