Linux 5.4.191, new CL tag, exFAT driver update, vendor and firmware update from the latest MIUI Stable, QTI BT component override sync wiht stock, lots of bug fixes and general improvements in dynamic thermal profile and AOD brightness, user selectable WiFi Calling when roaming, statusbar visual glitch fix (for real), August security patch, Monet color theme in boot animation, and many more fixes.
Note
Please follow the wiki for detailed install instructions. I will not provide support if you fail to follow the required steps.
If you are on my previous PE 12 / 12 Plus builds, you can directly OTA or dirty flash in recovery. A concise version of clean flash guide for the experienced users:
Boot your phone into bootloader mode. You can either
hold power + volume down button
or adb reboot bootloader
Connect your phone to a computer
Run fastboot flash vendor_boot vendor_boot.img in your cmd/powershell/terminal
Run fastboot flash boot pe_recovery_file_name.img in your cmd/powershell/terminal
Hold power + volume up to boot into recovery, or fastboot reboot recovery
In PE recovery, select Factory reset" --> "Format data/factory reset
Go back to main menu and select “Apply update” –> “Apply from ADB”
Run adb sideload pe_rom_file_name.zip in your cmd/powershell/terminal and wait until it finishes
Reboot to system
Device Specific Changes
Etude kernel: Op.12 Op.2
Linux 5.4.191
merged CL tag LA.UM.9.14.r1-20200.01-LAHAINA.QSSI12.0
updated the exFAT driver
Updated vendor and firmware blobs from MIUI Stable V13.0.13.0 for star and V13.0.9.0 for venus
Synced Bluetooth component override with stock
Enabled Bluetooth HID Profile
Also disable fod hbm on cancel() in the fingerprint HAL. This may help alleviate race conditions that prevent fod hbm being disabled after leaving the lockscreen.
Dynamic thermal profile bug fixes and general improvement
Fixed the issue of thermal profile getting reset to default if you turn off and then turn on the screen while an app is in the foreground.
Fixed the issue of thermal profile app list sometimes not showing all apps and also improved the overall smoothness when scrolling through that list
AOD brightness bug fixes and general improvement
Fixed the issue where doze brightness may reset to an incorrect value after reboot.
The AOD brightness menu now remembers your previous choice after toggling the AOD switch.
Allowed users to select WiFi Calling when roaming by default
Actually fixed the statusbar visual glitch in landscape mode
the glitch was caused by multiple issues, including but not limited to a seemingly incorrect conversion from dp to px and sometimes incorrect paddings after a statusbar burn-in protection shift
Fixed an issue of the privacy indocator chip becoming vertically compressed in landscape mode
Fixed an issue that sets incorrect doze brightness after a user activity time out on the lockscreen
Added some vertical margin to the recovery UI so that text prompts appearing from the bottom of the screen do not get cut off by the rounded corners
Set an overlay to prefer 120Hz in keyguard
ROM Side Changes
August security patch
The boot animation now follows Monet color theme as well.
The issue of videos in the YouTube app sometimes gets randomly unpaused should be fixed.
Merged fixes that may help address the issue of Google Pixel’s SystemUpdate draining battery and building up heat in the background.
Brought back the AOSP haptic strength menu in Settings/Accessibility.
Known Issues
One of the gapps update may mess with the haptic feedback strength. I am not sure if it still happens after we reverted back to the AOSP haptic strength menu. If your haptic feedback feels weak after a clean flash, go to Settings/Accessibility/Vibration & haptics and try setting all 3 categories again. You only need to do it once, and the haptic strength will remain normal afterwards.
Light sensor reading is affected by the screen brightness. This may cause jumpy auto brightness under low light.
We have two light sensors, one in the front under the display panel, and the other on the back. Currently only the front one is reported as an android.sensor.light sensor, of which the auto brightness is based off. The problem is that the light emitted by the display panel also affects the front light sensor, so the sensor reports a high value when the screen is displaying bright white content, even if the phone is actually in a dark environment with little ambient light. (What could go wrong when you put an ambient light sensor directly under a light source?) MIUI uses some algorithm to combine the reading of both light sensors on the system side in libsensor_cal.so, but we do not have such mechanism on AOSP. More work is needed to bring up our own solution in the future.
The AOSP Camera2 app may take a severely cropped and blurry photo using the main sensor on the back. This is caused by an incorrect selection of default image ratio and resolution. In the main UI of Camera2, swipe to the right to reveal the photo/video switch buttons. On the bottom right corner, press the small “gear” icon to enter settings. In “Resolution and quality”, change “Back camera photo” to the second option: (4:3) 13.1 megapixels.