Featured image of post PixelExperience 12 20220224-1209 Official Polaris Build

PixelExperience 12 20220224-1209 Official Polaris Build

Linux 4.9.303, refcount optimizations, qcom wfd, disabled backpressure propagation, parts update, February security patch, and Face Unlock!


  • 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 PE12. 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 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 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.303 and CAF tag LA.UM.10.3.r1-00900-sdm845.0
    • removed 2 bytes of padding in network buffers
    • upstreamed generic locking/refcount from 4.14
    • ported arm64-specific fast refcount checking
    • enabled HID WACOM driver
    • wireguard 1.0.20211208
    • DO NOT use another kernel. Just don’t.
  • Brought back qcom wfd implementation
  • Properly disabled surfaceflinger backpressure propagation to reduce jank in certain scenarios
    • we had it disabled on android 11, but a change in surfaceflinger property on android 12 accidentally enabled it again
  • Updated adreno blobs from LA.UM.9.3.r1-02700-sdm845.0
  • Updated parts to newer APIs like TaskStackListener and TaskInfo
    • also fixed some harmless log spams caused by SElinux
  • Whitelisted an intent broadcast for the new ims.apk
  • Dropped obsolete eBPF prop
  • Implemented a boost after fingerprint authentication to speed up the unlocking process and avoid animation janks

ROM Side Changes

  • February security patch
  • Brought back Face Unlock, and it also works in apps using the standard biometric authentication mechanism
  • Translation updates and misc bug fixes

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