Featured image of post PixelExperience 12.1 20220331-1355 Official Polaris Build

PixelExperience 12.1 20220331-1355 Official Polaris Build

Initial android 12.1 release. Linux 4.9.309, compiler optimization flag fixes, March security patch, face unlock fixes, and many other improvements.


  • Formatting data with PE recovery is REQUIRED for clean flash
    • DO NOT use any other recovery
    • The firmware is included with a different keymaster.img from perseus. DO NOT flash your own firmware.
    • Keymaster is bumped to 4.0 for encryption, and cust partition is mounted as /metadata. You WILL NOT be able to boot TWRP on PE 12.1. OrangeFox R11.1_1 or newer can boot but is not capable of decrypting the data partition.
    • To switch to other ROMs, format data in PE recovery first, and then install another recovery. You may need to re-flash the required firmware, if the ROM you are going to flash does not include one.
  • You can dirty flash from my previous PE 12 or 12.1 builds.
  • You cannot upgrade from android 11 directly. Formatting data is required.

PE recovery flash guide

  • Download PE recovery from the official PE website
  • Boot your phone into fastboot mode. You can either
    • hold power + volume down button
    • or adb reboot bootloader
    • or use the Reboot to bootloader option in TWRP/OrangeFox
  • Connect your phone to a computer
  • Run fastboot flash recovery pe_recovery_file_name.img in your cmd/powershell/terminal
  • Hold power + volume up to boot into recovery

PE 12.1 flash guide

  • Boot into PE recovery
  • Select Factory reset" --> "Format data/factory reset. You phone should say that /data, /cache, and /metadata have been formatted.
  • Go back to main menu and select “Apply update” –> “Apply from ADB”
  • Connect your phone to a computer
  • Run adb sideload in your cmd/powershell/terminal and wait until it finishes
  • Reboot to system

Device Specific Changes

  • Etude kernel: Op.12 No.2
    • Linux 4.9.309
    • CAF tag LA.UM.10.3.r1-01000-sdm845.0
    • set compiler flag to optimize for cortex-a55 to avoid performance regression on the in-order little cluster
    • DO NOT use another kernel. Just don’t.
  • Changed soong build flags for Kryo385 (Qualcomm’s codename for sdm845’s CPU clusters)
    • added a previously missing nodotprod flag
    • optimize for cortex-a55 instruction model to avoid performance regression on the little cluster
  • Properly override system product name
  • Dropped deprecated binder flag
  • Adapted aux camera prop sepolicy for the new change

ROM Side Changes

  • Initial android 12.1 release. The source code is fully cleaned and rebased upon android 12.1
  • March security patch
  • Fixed several face unlock issues. For example, initial setup wizard no longer requires you to enroll in face unlock when you have lockscreen password.
  • Many other fixes and improvements
  • Plus edition is delayed to April.

Known Issues

  • Rounded corners are broken. It does not seem to be an issue on the device side, as debug info reports correct values

Download | XDA thread

Please report issues to jjpprrrr.

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy