Back
Featured image of post PixelExperience 12.1 / 12.1 Plus 20220626-1458 Official Venus Build

PixelExperience 12.1 / 12.1 Plus 20220626-1458 Official Venus Build

Kernel rebased and cleaned up, latest CL tag, LLVM Clang 15 with ThinLTO, CFI, and SCS, Wireguard kernel driver, lz4 fast decompress loop, exFAT kernel driver from mainline backport, color shift fix, diag HAL, blobs and firmware update from stock, lz4 for zram, GNSS improvements, June security patch, some APN default config updates, and many 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:
    • Download the vendor_boot.img (https://gitlab.pixelexperience.org/android/vendor-blobs/wiki_blobs_venus/-/raw/twelve/android-12/vendor_boot.img)
    • Download PE recovery from the official PE website
    • 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
    • the kernel source has been rebased and cleaned up
    • merged LA.UM.9.14.r1-19800-LAHAINA.QSSI13.0
    • built with Prelude Clang based on the latest LLVM Clang 15 source
    • enabled ThinLTO, CFI, and Shadow Call Stack
    • fixed lots of warnings from Clang 15
    • introduced a page_alloc fix from upstream that may help alleviate memory pressure
    • imported Wireguard kernel driver 1.0.20211208
    • backported lz4’s fast decompress loop from upstream lz4 1.9.3, which offers more than 10% throughput increase in zram decompression
    • fixed a potential lz4 out-of-bound read
    • imported the latest exFAT kernel driver backport from mainline kernel. OTG USB drive with exFAT filesystem should work now.
    • dropped 90Hz timings from all panels’ dts. This should fix the color shift during refresh rate changes, especially when displaying dark content.
  • Imported diag HAL and its USB init entries. Apps like Network Signal Guru should work now.
  • Optimized native executables for Cortex-A55
  • Updated vendor blobs from MIUI Stable V13.0.12.0 for Mi 11 Ultra/Pro and MIUI Stable V13.0.8.0 for Mi 11
    • also updated the included firmware from MIUI Stable V13.0.8.0 for Mi 11
  • Updated display blobs from LA.UM.9.14.r1-19300.01-LAHAINA.QSSI12.0
  • Updated the display HAL from LA.UM.9.14.r1-19200-LAHAINA.QSSI12.0
  • Switched zram compression algorithm from lzo-rle to lz4
    • lz4 with my fast decompress loop backport offers higher throughput and lower latency than lzo-rle does
    • lz4’s compression ratio is slightly less than lzo-rle, but Mi 11’s 8GB/12GB RAM does not encounter memory pressure very frequently, so memory bandwidth and latency is more preferable than compression ratio
  • Synced some telephony packages and properties with QSSI
  • Lots of GNSS improvement
    • updated GNSS HAL to LA.UM.9.14.r1-19800-LAHAINA.QSSI13.0
    • synced some GPS configs with stock
    • picked a few NTP servers that can respond closer to your location, so your time synchronization takes less time which leads to faster location fix
  • Disabled redir_party_num. This should fix the issue of incorrect incoming caller phone number format for some carriers.
  • Added a “Reboot to fastbootd” button to the advanced reboot menu

ROM Side Changes

  • June security patch
  • Translation updates
  • Fixed styling issue on DocumentsUI
  • Fixed the issue of the location indicator getting triggered by cellular network activities
  • Fixed a font style discrepancy in the Pixel launcher
  • Reworked several default APN configs
  • Plus edition
    • Fixed the incorrect clock location caused by the network traffic indicator

Known Issues

  • 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.
  • A recent GMS update may start showing un-clickable system update notification. It may also spam your logs with attempts to download system updates designed for actual Pixel phones. It may result in slightly higher battery drain and heat generation especially when you are connected to WiFi. We are aware of this issue. Currently we do not have a perfect solution.
  • 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.
  • The statusbar height may be incorrect in landscape. It will be fixed in the next release.

Download | XDA thread | Support group

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy