Very few Android device makers have opted to release updates with Project Treble support for older devices. Huawei is one company that has opted to update older devices with Treble support. Essential included Treble support in the Android 8.1 Oreo update for the Essential Phone as well. However, the situation is different when it comes to Xiaomi Mi 6. They have opted to not include Treble support in their official Android Oreo updates (that are still ongoing).

Upcoming Xiaomi devices launching with Android 8.0 Oreo and above are required to have Project Treble support, but that doesn't mean older devices are left out completely. The hard work of the development community resulted in the Xiaomi Redmi Note 4 receiving unofficial Project Treble support, which was achieved by using the unused cust partition. This meant that users of the device could flash a Generic System Image (GSI) of AOSP Android Oreo.

The same method was used to bring unofficial Project Treble support to the Xiaomi Mi 5s (codename: capricorn) and the Xiaomi Mi 5 (codename: gemini). Now, the latest Xiaomi device to receive unofficial Treble support is the Xiaomi Mi 6. It also uses the very same method of using the cust partition.

The Xiaomi Mi 6 (codename: sagit) was launched in April 2017. It has a high-end list of specifications including the Qualcomm Snapdragon 835 system-on-chip, 4GB/6GB of RAM paired with 64GB/128GB of storage, 5.15-inch Full HD (1920x1080) 16:9 IPS display, dual 12MP + 12MP wide-angle + telephoto rear cameras, 8MP front camera, and a 3350mAh battery. The device launched with MIUI 8 on top of Android Nougat and it received MIUI 9 in November. Xiaomi has also released the Android Oreo-based MIUI Global Stable ROM for the device.

Unofficial Project Treble support brings two partitions: system and vendor. The system partition contains the Generic System Image, while the vendor partition contains device-specific files that are required for booting and running the phone. Treble support allows users to change the system image and run different system images with the same kernel and vendor partition.

The Xiaomi Mi 6 is an A-only device, so users looking to flash a Generic System Image (such as XDA Senior Member phhusson's Phh-Treble) will need to download ARM64 and A-only system images. The Treble ZIP file for the Mi 6 contains a boot image (kernel) and a vendor image (cust partition).

The developers mention that the list of things not currently working includes VoLTE. SeLinux is also set to permissive.

The instructions to flash the Project Treble ZIP on the Mi 6 are:

  • Download the Project Treble ZIP file.
  • Download a Generic System Image (ARM64 and A-only version).
  • Reboot to recovery (this recovery is required).
  • Wipe the System/Data/Vendor/Cache/Dalvik partitions.
  • Flash Treble ZIP for the Mi 6.
  • Flash the Generic System Image, and reboot.

We expect unofficial Project Treble compatibility to be a boon to development for Xiaomi devices when the final version of Android P is released.


Download Project Treble ZIP for the Xiaomi Mi 6