Disclaimer and acknowledgements

All your actions with your phone are at your own risk; the author of this ROM is not liable.

This ROM is compiled from CyanogenMod 12.1 sources with own modifications (which are open-sourced on GitHub). I’d like to acknowledge the following people for their respective efforts:

  • kirill8000 and kkk4 for unlocking bootloader of ordinary MX4’s
  • @axet and @fire855 for the general MTK porting efforts
  • @DerTeufel for the information regarding to the MTK GPS implementation
  • cofface’s CWM recovery
  • Daxiaamu’s one-key bootloader unlocking app (in Chinese)

Announcement changelog

NOTE: All times in this announcement are UTC+8.

  • 2015/10/16 04:00 First (translated) release

Changes since last release

  • Add Synced with upstream sources as of 2015/10/15
  • Add Blobs and prebuilt kernel synced to Flyme 4.5.7A (round C testing firmware)
  • Fix Proximity sensor (by auto-calibrating once every boot; for that matter it’s better to not cover the phone when you turn on or reboot it)
  • Fix FLAC playback
  • Fix Re-enable configuration of button backlight (still disabling it by default)
  • Fix Extremely slow charging when charging current is low (fixed in prebuilt kernel, not CM work)

Known bugs and limitations

  • Still some (many?) SIM cards have broken cellular data connectivity
  • Some users may have to toggle flight mode to restore cellular connectivity on reboot
  • Some users are unable to auto-configure their SMSC numbers
  • Some apps (Facebook, etc.) can’t playback video (regression)
  • Unable to revert from setting USB option to Charging-only
  • Audio is not properly re-routed on connecting Bluetooth audio
  • Unable to pair with some Bluetooth (BLE?) devices
  • etc.



# MD5
# MX4
5a48edf754f88edd20dd22abd66f518b  mx4/ApkIDE_MX4_Unlock_BL.apk
f865988cf4f240b3499dc88a4d47c629  mx4/cm-12.1-20151015-UNOFFICIAL-mx4.zip
d5a622751a03678ec09fa0ee71a7a15e  mx4/ota-mx4-20151009-20151015-fixedscript-signed.zip

# arale
0a19f494f2ed9f19e3b774497ebc472d  arale/stock-recovery.img
1df5bce2e71c3ab7d1559ab333daa53f  arale/cm-12.1-20151015-UNOFFICIAL-arale.zip
824ff3c5af6db133599ea09cad75eb0a  arale/ota-arale-20151009-20151015-fixedscript-signed.zip

# SHA-1
# MX4
399167bb7fcdf61de397b85b96ec95934e0ab1c8  mx4/ApkIDE_MX4_Unlock_BL.apk
f76c269dd602c4bcbf1a1f4555dbe09c2c57ca4e  mx4/cm-12.1-20151015-UNOFFICIAL-mx4.zip
3347ae4b8d8170b1ea17e76d1fb20b78c4ead2b6  mx4/ota-mx4-20151009-20151015-fixedscript-signed.zip

# arale
f74339eaa8344545d20480cd6a67266b753bec0e  arale/stock-recovery.img
f702476b965a3e73131f2c0369284ba0a8a4c34b  arale/cm-12.1-20151015-UNOFFICIAL-arale.zip
d96e0553dd1bff69cfedde477bf71da6b6c29422  arale/ota-arale-20151009-20151015-fixedscript-signed.zip

# SHA-256
# MX4
efaf514f8a5429198d2c394ac24becbef959f06933bdb82b00a16812752f8a47  mx4/ApkIDE_MX4_Unlock_BL.apk
6140f71e6f2651d7cb1584cdd63d06d120553efde150082e52716b8bfa433cc2  mx4/cm-12.1-20151015-UNOFFICIAL-mx4.zip
33a14afd32852a314926a2349f689a59dd0832ab325e25084b0e6f77abdab0ca  mx4/ota-mx4-20151009-20151015-fixedscript-signed.zip

# arale
91c9117021582196147e87ac35fe36c852d95aca352b9debbe0c707a16f1967e  arale/stock-recovery.img
cfb885559cb59777730ce38713e24b56ee7eb7c199a6af008e3584b945b91eac  arale/cm-12.1-20151015-UNOFFICIAL-arale.zip
d2bc2fa0802b8ffdb43f252f61701aeea7e7bb05f792718d1276c29f5f696e87  arale/ota-arale-20151009-20151015-fixedscript-signed.zip

# SHA-512
# MX4
2b1af3ee839190092c75a08a0091ab4b79b7e069534c7004fb8a7dfea1bdc4e25cd3d0da50541f8853387f18a0aeae106c808c91f3bd3e187be9b6033b1d73b5  mx4/ApkIDE_MX4_Unlock_BL.apk
5ec79ad4a34ce7c907ba4ca5f251cd69fd184765a65ac801ece3b2059938c74a18dd3ac1e89a20f26407073e01f3d39c944ea96d77f52d728bbbea096f09f24b  mx4/cm-12.1-20151015-UNOFFICIAL-mx4.zip
5784155c14c9e4b28613ab7222e54b6e10627d08798a33767bdb6f1cb58bd5a4769066440eaba9787e51d20da5e9a8b5aaaf8bf9b5a1d3f13029199a673edddd  mx4/ota-mx4-20151009-20151015-fixedscript-signed.zip

# arale
eefe9376d874ed1a03a478db42650517fa5947f724338c422ec7d60f3ac003ce163505553755fce81be8861b23be6f1fe070c56201d12e31429b323fa7ffb8c7  arale/stock-recovery.img
7caff6d080cadea072d0843d436c1f1ab5b2aebd09884ee760fc576a27569d26a825013363b92661d62fee7cd84a8b16417b45c324464a242abe94a174b1cac4  arale/cm-12.1-20151015-UNOFFICIAL-arale.zip
62f87be770c4f0784df39aab338415e773d021325a7d5502fe4db1d1342ab92a8ac500e1aad7ff4de7a1de45f421ea06c5249a9fdb3bb5297d4dfd3d9845397e  arale/ota-arale-20151009-20151015-fixedscript-signed.zip


For MX4 Ubuntu Edition users, your bootloaders are already unlocked, so just flash the stock recovery provided and proceed. (3rd-party recoveries may be provided by some other people; I myself have no time for that. Graphics was broken at my last attempt to do this.)

For users of ordinary version of Meizu MX4, you need to have your bootloader unlocked, the tutorial can be found [here][unlocking-tutorial]. After unlocking just flash as usual; remember to wipe your /data partition if you’re coming from Flyme or Ubuntu Touch or generally any incompatible system.

[unlocking-tutorial]: http://forum.xda-developers.com/meizu-mx/general/tutorial-bootloader-unlocking-mx4-m1-t3201715)


  • Cellular network
    • There may well be no signal at first boot, please toggle on and off flight mode for the telephony component to re-initialize itself.
    • SIM card may also go unrecognized after reboot, just do the same and the problem should hopefully disappear.
  • more to come later


I do Android porting mainly for personal use and fun, but as a matter of fact I sometimes find myself struggling to achieve the standards I strive for, as a graduate student still learning his way into the industry and having things to take care of besides coding. If you appreciate my work, please kindly consider donating something equivalent to a beer or two. I will use the donations to support my porting work and studies. PayPal and Alipay payments are accepted:

  • PayPal/Alipay: idontknw.wang@gmail.com