Publish: 2021-05-30 | Modify: 2021-06-12
Recently, I upgraded my Xiaomi 9 SE to MIUI 12.5 and found that Google Play couldn't be opened. In addition, after using it for more than 2 years, it started to lag and the storage capacity was running low (64GB). So, I decided to flash the European version of MIUI to solve these problems at once. It has been a long time since I last tinkered with flashing, and I encountered quite a few pitfalls this time, so I'm recording them here.
MIUI has three main versions: European version, mainland version, and international version. Let's take a look at their differences in the following image.
The reason why I chose the European version of MIUI is that it has no ads and comes with the Google suite. It is also widely recommended online. It's worth noting that the European version cannot use the Xiaomi Wallet (access card and other functions), so you need to consider this before making a choice.
Unlocking the bootloader is almost a necessary step for flashing most Android phones. Although Xiaomi provides an unlocking tool, it's really garbage. I tried it multiple times without success. I guess they just don't want you to unlock it.
The official website mentions the following steps to be performed before unlocking:
However, there are still many pitfalls that the official website doesn't mention. Based on feedback from users and my own experience, the following issues also need to be noted. Make sure to carefully check each step, as missing any of them may result in unlocking failure.
Let's talk about the driver installation issue. There are several drivers involved, and the official website won't tell you about them, they just mention it briefly.
In addition, the official website has compiled a list of common unlocking issues: https://www.xiaomi.cn/post/17982230. You can refer to it, but there are a bunch of people complaining about unlocking, and no one seems to have actually solved the problem.
TWRP is an open-source recovery tool that is much more powerful than the stock recovery. To flash the European version of MIUI, you must first flash TWRP, which is also recommended by Xiaomi.
Also, download the SDK Platform Tools (ADB): https://developer.android.com/studio/releases/platform-tools
You also need to install the ADB driver, which can be installed from https://adb.clockworkmod.com/. After installation, start the ADB server.
Next, start the flashing process. Enable USB debugging mode on your phone and connect it to the computer. Then execute the following command to enter Bootloader mode:
adb reboot bootloader
Flash TWRP by executing the following command (modify the path accordingly):
fastboot flash recovery twrp.img
Then reboot by executing:
fastboot boot twrp.img
In the moment the phone restarts, press the Volume Up + Power
buttons to enter Recovery mode (if it still boots into the stock recovery, repeat the previous steps). In normal cases, you should see the TWRP interface. You can set the language to Chinese in the settings.
In the TWRP interface, format the data
partition first. Otherwise, the data will be encrypted and you will see garbled characters, and the firmware cannot be copied into it. After formatting, restart into Recovery mode again using the options in the TWRP interface.
Go to the European MIUI website: https://xiaomi.eu/community/threads/miui-12-0-12-1-12-2-12-5-stable-release.56191/ and download the MIUI ROM for your device, usually with a .zip
extension.
Connect your phone to the computer, copy the .zip
firmware to the phone, and then use the options in TWRP to wipe and select the .zip
firmware package for flashing. However, I encountered an error saying "the package is for grus". The solution is to execute the following commands in the TWRP command line:
setprop ro.product.device grus
setprop ro.build.product grus
Then proceed with the flashing operation again.
After flashing the ROM, the first boot may get stuck on the MIUI logo. Force a manual restart and it should boot into the MIUI interface. Follow the prompts for the initial setup. Note that the European version of MIUI requires a connection to Google services (which cannot be accessed in China due to certain reasons). You can connect to Wi-Fi and modify the Wi-Fi settings for HTTP proxy. You can use Shadowsocks to generate an HTTP proxy, which I won't explain in detail here.
The European version of MIUI comes with the Google suite and is ad-free, providing a better user experience compared to the Chinese version of MIUI. However, flashing the European version of MIUI can be challenging, so I don't recommend it for beginners. Before flashing, make sure to backup all important data. I am not responsible for any failures or data loss caused by flashing.
I found that MIUI 12.5 on the Xiaomi 9 SE has some lagging issues. After reverting to MIUI 10, the performance improved significantly. Considering that this is a device from more than 2 years ago, the hardware may struggle a bit.
This article references the following sources:
I come from China and I am a freelancer. I specialize in Linux operations, PHP, Golang, and front-end development. I have developed open-source projects such as Zdir, ImgURL, CCAA, and OneNav.