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)


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

Changes since last release

  • Synced with upstream sources as of 2015/10/09, with security updates merged
  • Blobs and prebuilt kernel synced to Flyme 4.5.6A
  • Disabled button backlight
  • Fixed HSPA+ connectivity

Known bugs and limitations

  • Proximity sensor not properly working in some circumstances
  • 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
  • FLAC decoding and playback is not supported
  • etc.



# MD5
5a48edf754f88edd20dd22abd66f518b  ApkIDE_MX4_Unlock_BL.apk
08540887d0534abe65e70812fa24ca06  cofface-recovery.img
537f9bc9334aa7be5fdeea77780442bc  cm-12.1-20151009-UNOFFICIAL-arale-fixedboot-signed.zip
d2578e39f3142ed305f05b4ce7c5678a  cm-12.1-20151009-UNOFFICIAL-mx4-fixedboot-signed.zip
dfe158bab2877e757bdde813b6fcbbf2  ota-mx4-20151005-20151009-fixedscript-signed.zip

# SHA-1
399167bb7fcdf61de397b85b96ec95934e0ab1c8  ApkIDE_MX4_Unlock_BL.apk
9c9045118893d8305b563b51d50968d8bb86e500  cofface-recovery.img
a861d797a94b14166acd4e0deba41628e0052a2d  cm-12.1-20151009-UNOFFICIAL-arale-fixedboot-signed.zip
365275a1d6cea873140690537c5ec4c346081dd3  cm-12.1-20151009-UNOFFICIAL-mx4-fixedboot-signed.zip
263eafb1d941c5004506084fe3566923fdedb13e  ota-mx4-20151005-20151009-fixedscript-signed.zip

# SHA-256
efaf514f8a5429198d2c394ac24becbef959f06933bdb82b00a16812752f8a47  ApkIDE_MX4_Unlock_BL.apk
1967289c8bd3cfe30b0c3f2a77232c0b7842fa68774e9574998c60a4b08478d2  cofface-recovery.img
e3f8a4cb723c20792b4c0ae33600390b3f29a8a0b03931ded2eaa3822d0594b2  cm-12.1-20151009-UNOFFICIAL-arale-fixedboot-signed.zip
f4363a2a28a6aaf0e8f005f254a80ec7efc7050b4abf54d539a53ad02b73e298  cm-12.1-20151009-UNOFFICIAL-mx4-fixedboot-signed.zip
cb2534a313302b398b490117f1be24a248c662f98eea7ddf271f9289902bda4b  ota-mx4-20151005-20151009-fixedscript-signed.zip

# SHA-512
2b1af3ee839190092c75a08a0091ab4b79b7e069534c7004fb8a7dfea1bdc4e25cd3d0da50541f8853387f18a0aeae106c808c91f3bd3e187be9b6033b1d73b5  ApkIDE_MX4_Unlock_BL.apk
844eda87ae2ccc7623408d528c456ef36bd48e197da8c9e410226c9d9af04de27c19c8984e9257f496b4aa9c3c73d5c022415422d917d14c2c8c5f7ffbe5955a  cofface-recovery.img
c52c3bc647a2ac9024f446c57b21bf830a333b3a66b2158543fde6fedfc37095a6694fbc6ccdf62a480e6cff4e1d820d733a49a4fd76c962a44bf79a6667e194  cm-12.1-20151009-UNOFFICIAL-arale-fixedboot-signed.zip
4dfbe68c0697288d9290a2365e3914927a195d8dcac7445128f21e87ee9a63a0724856f9cb993dcafe7372d81ba5ca687dbc2f251afe48eef443f9eddad351e5  cm-12.1-20151009-UNOFFICIAL-mx4-fixedboot-signed.zip
37d27162576064065ff24ed981d792c32ff2bc60bd504564c4342ab82c715eb24eac09dcbcd35e1b147cf3c17dbc755b7f646587305f04bffda5601d25c44273  ota-mx4-20151005-20151009-fixedscript-signed.zip


For MX4 Ubuntu Edition users, your bootloaders are already unlocked, so just flash the philz touch from the tutorial below and proceed.

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