Note
- 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 bootloaderoption in TWRP/OrangeFox 
 - Connect your phone to a computer
 - Run 
fastboot flash recovery pe_recovery_file_name.imgin 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 pe_rom_file_name.zipin 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.
 
 - Linux 4.9.303 and CAF tag 
 - 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
 
Please report issues to jjpprrrr.