Flashing European MIUI 12.5 on Xiaomi 9 SE: A Troubleshooting Guide

Xiaomi 9 SEEuropean MIUI 12.5TWRP recoveryunlock bootloaderADB commands
Published·Modified·

Recently, I upgraded my Xiaomi 9 SE to MIUI 12.5 and found that Google Play would not open. Additionally, after using the phone for over two years, it started lagging, and the 64GB storage was nearly full. To solve these issues at once, I decided to flash the European version of MIUI. Having not tinkered with flashing for a long time, I encountered quite a few pitfalls this time, so I am recording this experience.

MIUI 12.5

MIUI Version Comparison

MIUI mainly comes in three versions: European, Chinese (Mainland), and International. The differences are shown in the image below.

MIUI Versions Comparison

I chose the European version because it is ad-free, comes with the full Google suite pre-installed, and is highly recommended online. However, note that the European version no longer supports Xiaomi Wallet (including door card features), so consider this carefully before making a choice.

Unlocking the Bootloader

Unlocking the bootloader is almost a mandatory step before flashing most Android phones. Although Xiaomi officially provides an unlocking tool, it is notoriously difficult to use, often failing repeatedly, which seems to discourage users from unlocking.

The official website mentions the following steps required before unlocking:

  1. Bind your account and device in "Settings -> Developer Options -> Device Unlock Status".
  2. Manually enter Bootloader mode (turn off the phone, then hold the Power button and Volume Down button simultaneously).
  3. Connect the phone via USB and click the "Unlock" button.

However, there are many pitfalls not mentioned by the official site. Based on user feedback and my own experience, the following issues must also be checked carefully. Missing any step can lead to unlocking failure:

  1. Turn off the "Find My Device" feature.
  2. Use a USB 2.0 port for unlocking.
  3. Enable USB Debugging mode beforehand (search online for instructions).
  4. If the connection fails, click the "Gear Icon" in the top right of the unlocking tool, select "Driver Detection," and install the drivers.
  5. Unlocking may fail on AMD CPUs but succeed on Intel CPUs (unclear if this is a specific case or a general rule).

Let's discuss driver installation further. The official site does not explicitly mention that multiple drivers are involved.

  1. First, install the drivers while the phone is in normal boot mode (with USB Debugging enabled).
  2. After entering Bootloader mode, install the drivers again (click the "Gear Icon" in the unlocking tool, select "Driver Detection," and install).
  3. You can download Xiaomi Assistant beforehand: http://zhushou.xiami.com/. It can detect and install drivers. If the assistant cannot connect in flashing mode, unlocking will also fail.

Additionally, the official site has compiled a list of common unlocking issues: https://www.xiaomi.cn/post/17982230. You can refer to it, though many users complain without actually solving the problems.

Flashing TWRP

TWRP is an open-source Recovery tool that is much more powerful than the stock Recovery. Flashing the European MIUI requires installing TWRP first, which is also the method recommended by Xiaomi.

Also, download the SDK Platform Tools (ADB): https://developer.android.com/studio/releases/platform-tools.

You will also need to install ADB drivers, which can be done via: https://adb.clockworkmod.com/. After installation, start the ADB server.

Next, start flashing TWRP. Enable USB Debugging on the phone and connect it to the computer, then execute the following command to enter Bootloader mode:

adb reboot bootloader

Execute the command to write TWRP (remember to modify the path):

fastboot flash recovery twrp.img

Then execute the reboot:

fastboot boot twrp.img

Immediately after the machine restarts, press Volume Up + Power Button to enter Recovery mode. If you still see the stock Xiaomi Recovery, repeat the steps above. Normally, you should see the TWRP interface, where you can set the language to Chinese.

Flashing Operation

In the TWRP interface, first format the data partition. Otherwise, the data will be encrypted, showing garbled characters, and the firmware cannot be copied in. After formatting, restart into Recovery mode using the TWRP options.

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 package for your model, usually with a .zip extension.

Connect the phone to the computer and copy the .zip firmware to the phone. Then, in TWRP, perform a factory reset (wipe) and select the .zip firmware package to flash. However, I encountered a the package is for grus error. The solution is to first enter TWRP command mode and execute the following commands:

setprop ro.product.device grus
setprop ro.build.product grus

Then retry the flashing operation.

European MIUI Initialization

After flashing, the first boot may hang on the MIUI screen. Force a manual restart, and it should enter the MIUI interface. Follow the prompts to initialize. Note that European MIUI initialization requires connecting to Google services (which are unavailable in China due to restrictions). You can connect to WiFi and modify the WiFi settings to use an HTTP proxy. The HTTP proxy can be generated using tools like Shadowsocks (SS), which experienced users should know.

Conclusion

The European MIUI comes with the full Google suite, is ad-free, and offers a much better user experience than the domestic version. However, the downside is the inability to use Xiaomi Wallet. Flashing European MIUI is not easy and is not recommended for beginners. Be sure to back up all important data before flashing. I am not responsible for any data loss or issues caused by flashing.

Testing revealed that the Xiaomi 9 SE with MIUI 12.5 was somewhat laggy. Rolling back to MIUI 10 made it much smoother. If you experience lag, I suggest flashing MIUI 10 for a more stable experience, as the hardware is a bit strained after two years of use.

This article references the following: