Featured image of post PixelExperience 12.1 / 12.1 Plus 20220816-1854 Official Polaris Build

PixelExperience 12.1 / 12.1 Plus 20220816-1854 Official Polaris Build

Linux 4.9.325, qcom early random initialization fix, ambient notification pulse brightness fix, kernel clean-up, August security patch, and Monet color theme in boot animation.


  • 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 / 12.1 builds. You can dirty flash the Plus edition on top of PE 12 / 12.1 regular 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.4
    • Linux 4.9.325
    • merged LA.UM.10.3.r1-01700-sdm845.0 into techpack/audio
    • fixed a race condition in qcom’s early random pool initialization
    • re-enabled qcom’s early random initialization
    • cleaned up several unused drivers and firmware in kernel
    • dropped unnecessary virtual framebuffer support
    • DO NOT use another kernel. Just don’t.
  • Fixed the issue of notification pulse in ambient display having very dim brightness
    • this is a bug introduced by Google after android 12.1 in March
    • if you let the screen time out on the lockscreen, when a notification comes in later, the screen wakes up to an incorrect dim brightness instead of the doze brightness. Our LCD panel’s dim brightness is really really dim, which is why the notifications are barely visible
    • At first I fixed it with my own patch, but later I discovered that Google was aware of this issue and had had a patch for it since February. Google, in their infinite wisdom, decided to not merge the fix into android 12.1 and let everyone suffer from this bug for months. The proper fix was eventually released with android 13 a couple of days ago, so I reverted my patch and backported Google’s fix to PE 12.1.
  • Dropped the unnecessary virtual framebuffer from kernel cmdline
  • Removed the boot-time IO read ahead tuning and settled on a static read-ahead value for dm devices
    • Google claims that some of the values may not be properly reset after boot, so an aggressively large boot-time read-ahead value may persist after boot and incur more memory pressure
  • Fixed the issue of “Optimization profile” app list sometimes not showing all the apps
    • also improved the layout and the overall smoothness when scrolling

ROM Side Changes

  • August security patch
  • The boot animation now follows Monet color theme as well
  • Other misc fixes

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