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.1
enabled QCE device for Widevine L1
fixed an HBM issue that broke FOD under direct sunlight
dropped the reboot-to-recovery action when three buttons are pressed simultaneously
fixed an incorrect cs35l41 D-type amp driver change that broke handset-speaker switch in call and caused echos in VoIP
disabled a few configs that depends on debugfs
Enabled IEEE802.11ax (WiFi 6) support in WiFi Hotspot
Synced a few WiFi related configs
Declared 6GHz support in WiFi overlay. Whether it will work or not depends on your local regulations.
Imported a couple of missing wpa_supplicant configs
Enabled Automatic Channel Selection
Talked to Netflix and asked them to fix the HDR support in the Netflix app
Netflix reported no HDR support at the time when the last version was released because Netflix has its own device capability database. Any mismatch nukes all HDR support including the basic HDR10. Venus does not have certified Dolby Vision support from stock. I added Dolby Vision from mars/star (Mi 11 Pro/Ultra).
After talking to Netflix, our Dolby Vision support no longer drops all HDR capabilities. Netflix still does not recognize Dolby Vision, but HDR10 should be there.
Added dynamic thermal profile under Settings/Battery/Optimization profiles. You can switch to a different thermal profile on a per-app basis.
Warning: Some thermal profiles have higher thermal throttling thresholds. Your phone may maintain higher CPU/GPU frequencies for a longer time, but that also means more heat will be generated. Use it at your own risk and make sure you have proper cooling.
Dropped the useless thermal HAL because we only need mi_thermald
Fixed an issue that crashed the help dialog when entering the Ambient Display menu
Re-drew rounded corner vector assets. The four corners of the display panel no longer have jagged edges.
(Allegedly) Fixed a rare issue of repeating loops of lockscreen-to-boot-animation crashes
Updated to the latest NXP NFC tag to fix a permission issue in Bluetooth devices that use NFC to pair/connect
Updated qcom media HAL
ROM Side Changes
May security patch
Added a toggle to disable screen-off FOD in Settings/Display
Added and fixed a few APN configs
Fixed the battery widget for supported Bluetooth devices
Fixed the rotation button for 2-button navbar mode
Fixed the statusbar brightness control
Reverted white QS background to the default AOSP style
One of the gapps update may mess with the haptic feedback strength. If your haptic feedback feels weak, go to Settings/Accessibility/Vibration & haptics, disable all 3 toggles, and re-enable them. 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.