[ROM][12.1][raphael][OFFICIAL] Evolution X [06/30/22]

Search This thread


Senior Member
Mar 28, 2011
I don't think it needs to be removed, just disable it by default and let people toggle it on.

Also, my display is the original, so seems to impact original devices to some extent as well.


Jul 9, 2012
Thanks for your fast replys!!
I will try to unlock my phone and change the settings (not lucky enough until now).

And thanks @joeyhuab for the ROM and regular updates - it is by far the best ROM I tried on Mi 9T pro. 👍


Mar 11, 2021
I am having troubles with fingerprint while Smooth display is on. Fingerprint reads 2 of 10 times only, or even less. Screen is replaced by Samsung part. No other glitches.
Switching Smooth Display off seems to solve an issue.


Feb 7, 2013
First of all, big THANK YOU for the dev's/team that work on this great ROM. Cannot say it anough, very nice!

I flashed this latest rom over my old Evolution X rom (older version from >1 year ago)
I used TWRP version 3.4.0-0 mauronofrio wich was still on the phone

After flashing the latest rom and reboot to system, i got back in TWRP, rom didn't start. In TWRP everything was encrypted. In the end i used format data and then the rom was running a fresh start and i got in.
In TWRP everything is still encrypted.

Now i'm running:
Android version 12. Evolution X version 6.5 build: evolution_raphael-ota-sq3a.220605.009.B1-06301910
Android security patch: 5th june 2022
Kernel-version: 4.14.284-SOVIET-STAR-//27ab9346c9

No root access yet, it says it isn't properly installed on the device.
I'm not running any Magisk or SuperSU etc. yet. Didn't flash anything after the rom.

The only problems i encounter now are:
  1. all video's i play stutter after a few seconds of playing, this keeps returning. I was reading on this thread that i have to flash the latest firmware (i'm in Europe) for my device Mi 9T Pro to solve this issue.
  2. In TWRP everything is still encrypted.
My questions are:
  1. What is the correct order of action to tackle the problems?
    1. flash Disable_Dm-Verity_ForceEncrypt_11.02.2020.zip (after flashing do i have to wipe cache/delvik cache and reboot into TWRP again?)
    2. flash a newer version of TWRP (do i have to flash the ForceEncrypt file after that again?
    3. flash latest firmware https://xiaomifirmwareupdater.com/firmware/raphael/ to overcome the video stutter problem, Global or Europe one for me?
    4. do i have to flash a new kernel also, if so wich one?
  2. Or do i first have to do a Format data again in TWRP?
    1. what would the order of action then be?
Can you guys help me out in doing the right thing in the right manner/order to overcome this? Much appreciated!

Top Liked Posts

  • 3
    I'll be removing Smooth Display/72hz for the next build. I guess the differences in screen panels will matter in the long run especially for devices with replaced screens.

    Edit: I'll try to set the default to 60hz and we could keep the feature if it works.
    Have to say, this new update solves the overheating problem on my device from the last update. Idk if anyone have this problem or not like me with the last update but it works flawlessly with the new update and no more random overheating.

    Thanks for your hard work!
    i managed to navigate the menus by memory and managed to disable Smooth Display and fixed the issue, please turn off this feature by default to prevent users with non-original displays have the same issue as i did.
    How did you do that exactly?

    I seem to have the same issue (changed my screen as well a while ago) and the screen gets noisy after shortly seeing the logo (picture attached).
    My screen is locked with a pin without fingerprint enabled, so unlocking is not possible.

    Is there any other chance to fix it?
  • 27
    Currently away from home, but I'm able to push out June patch. Kindly read changelog as it will include all the changes from the last update.

    Changelog for the latest (06/08/2022) update

    Device changes:
    • Add Moto Dolby and remove MusicFX
    • CarrierConfig: update from 5800 QSSI
    • Drop atrace HIDL
    • Enable LZ4 compression for ramdisks
    • Set up display color compositions
    • Upstream to latest Soviet kernel
    • parts: Handle more error for dirac
    • parts: Introduce haptic feedback level adjustment
    • parts: Use directBootAware
    • parts: Vibrate when changing haptic feedback level
    ROM changes:
    • Add group audio to vendor.media.omx service
    • BatteryStatsImpl: Guard against OOB
    • Call CardDatabaseHelper.getInstance() when used and not in onCreate
    • Codec2: guard the dummy work signal to lahaina only
    • Datausage: Fix NPE in preference controller
    • Disable auth ripple and fingerprint vib by default
    • Don't build useless html viewer
    • Evolver: Add 14 new VoLTE icons
    • Evolver: Bring back VoLTE/VoWiFi icon styles
    • Evolver: Remove Status bar Logo feature
    • Fix Wi-Fi timeout string issue in Settings search
    • Fix daveys when latch_unsignaled is used
    • IconPack{Sam,Victor}: Inverse vol collapse/expand anim path data
    • Merge June 2022 security patches
    • Only update the compat system UI visibility if the source is valid
    • PixelPropsUtils: Exclude recorder from pixel props
    • PixelPropsUtils: Update fingerprints to June 2022 release
    • QSFooter: Launch The Evolver when long clicking settings
    • Screenrecord: Allow to reduce 3 second screen record timer
    • Screenrecord: Save pref for skip timer switch
    • Screenrecord: Slightly optimize loading/saving preferences
    • Screenrecord: Update layout to the new spec
    • Screenrecord: Use proper drawable for bigger file size limit option
    • Settings: Fix loading iconpack-based Wellbeing icon
    • Settings: Fix gestures saving parameters
    • Settings: Improve Remove space under keyboard feature
    • SettingsLib: CollapsingToolbarBaseActivity: Increase scrim transition duration
    • Skip checking SystemUI's permission for observing sensor privacy
    • SystemUI: Add left padding for keyguard slices
    • SystemUI: Calculate paged QS tiles height properly
    • SystemUI: Hide OOS clear all if panel visible because Headsup
    • SystemUI: Hide OOS clear all if reticker enable
    • SystemUI: KeyguardClock: Use google sans instead of harmony
    • SystemUI: QSAnimator: Hide secondary label in QQS
    • SystemUI: Re-inflate keyguard statusbar on theme change
    • SystemUI: Screenshot: Avoid NPE while getting app label
    • SystemUI: Screenshot: open the screenshot instead of edit
    • SystemUI: Set lockscreen clock font dynamically
    • SystemUI: Use App icon for per-app volume
    • SystemUI: Use color accent for charging animation
    • SystemUI: Use lighter material you shades for charging animation
    • VolumePanel: Avoid multiple animations on touch spam
    • VolumePanel: Pass touch outside of volume panel
    • Wire up default fonts with font engine
    • base: Use font configs instead hardcoded fonts
    • base: overlay: Fix volume panel arrow in Viktor and Sam icon packs
    • base: use a double click effect for charging if there is no amplitude control support
    • build: Override host metadata
    • core: Fix showing Toast icons for legacy apps
    • biometrics: Adapt code for 12.1.0_r8 merge
    • fastboot: Hide bootloader/baseband/hw versions if empty
    • fastboot: Prefer ro.boot.hardware.revision for hw-revision
    • fastboot: Print OemCmdHandler return message on success
    • fixup! Missing changes haptic issues with gestural navigation
    • fwb: GLSurfaceView: Be less picky about EGLConfig alpha sizes
    • improve PendingIntent security check compatibility
    • kernel: build: Wipe DTB/O OBJs before build
    • libstagefright: omx: Add support for loading prebuilt ddp and ac4 decoder lib
    • overlay: Exclude ImsService from location indicators
    • overlay: Use config_locationExtraPackageNames for indicator exemptions
    • pocket lock: Increase pocket lock screen to 15 seconds
    • version: Uprev to 6.5
    New update is out! This should remedy the charging/heating issues reported above as it switches back to Pixel thermals. Launcher widget crashing issue is now fixed with the latest Pixel Launcher included. Other gapps have been updated as well. Tons of improvements to GameSpace, changes to how battery styles are applied (as well as new QS options), and the return of Smart Pixels and QQS brightness slider options too. Other changes such as fixes and improvements can be found below.

    Changelog for the latest (06/16/2022) update

    Device changes:
    • Bring back Pixel thermals
    • Cleanup Display Props
    • Disable NFC stack for IN variant
    • Disable partial FB excl rect
    • Don't enable iostats
    • Purge mi thermald
    • Use coral tuning for columbus feature
    • overlay: Set default status bar height to 35dp
    • overlay: Support smart pixels
    • rootdir: Don't tune sde partition on boot
    ROM changes:
    • Add upstream fixes to ElectronBeam screen-off animation
    • BluetoothControllerImpl: fetch battery level from any device
    • BluetoothControllerImpl: synchronize mConnectedDevices access
    • Evolver: Allow setting battery percent view on left
    • Evolver: Battery Styles: Add customization for QS
    • Evolver: Bring back QQS brightness slider
    • Evolver: Bring back Status bar logo customizations
    • Fix crash with protected content with ElectronBeam/Scale screen-off animation
    • GameSpace: Add battery remaining text
    • GameSpace: Add memory info in game overlay
    • GameSpace: Add tiles layout for portrait mode
    • GameSpace: Add time/date in panel view
    • GameSpace: Fix per game configure icon on light theme
    • GameSpace: Redesign layout with time/date views
    • GameSpace: Redesign overlay with battery text and time views
    • GameSpace: Set default panel view opacity to 100%
    • PhoneStatusBarPolicy: Show battery level for all devices
    • Settings: Disable "SIM card lock" when the SIM card is PUK-blocked
    • Settings: Don’t translate battery_stats_clear string
    • Settings: Fix default value for IME space
    • Settings: Long press to copy wifi password
    • Settings: Make NetworkScanHelper max search time customizable
    • Settings: Optimize the selected WFD route preference summary
    • SystemUI: FPSInfoService: get statusbar insets ignoring visibility
    • SystemUI: Refactor MobileSignalController implementation
    • SystemUI: Refactor brightness slider paddings
    • SystemUI: Sync Navigation Bar Dimens from TPB3.220513.017.B1
    • SystemUI: cleanup fps info tile and service
    • Update prebuilt gapps to June patch release versions
    • Update translations
    • Use brightness icon matching with slider redesign
    • Use redesigned seekbar
    • base: make seekbar a thinner version of volume slider
    • media: fix ImageReader to handle P010 images
    • overlay: add cell broadcast service indicator exemption
    • services: AppLockManagerService: ignore uninstall intent if app is being replaced
    The final June update is out. Next will be with July security patches. This build adds back Pixel Wallpapers (2021), Smooth Display in Display Settings, switches back to prebuilt IFAAService for Alipay fingerprint service, fixes powerhint related nodes, uses the latest Soviet kernel, and fixes a ton of issues in the ROM sources. I hope you enjoy and continue to support Evolution X by donating!

    Changelog for the latest (06/30/2022) update

    Device changes:
    • Add QTI health implementation
    • Add telephony system-ext privapp permissions
    • Build PixelWallpapers2021
    • Cleanup qti_whitelist
    • Disable zram writeback
    • Enable Smooth Display
    • Fixed status bar glitch for apps that access internal resource dimen
    • Import lmkd props from google gki
    • Remove Moto Dolby
    • Switch to prebuilt IFAAService
    • Upstream to the latest Soviet kernel
    • audio: fixup audio io policy voip_rx flags
    • overlay: Decouple suspend from screen state
    • overlay: Enable auto-brightness while dozing (Device now goes in Deep Sleep mode when using AOD)
    • overlay: Rework and convert to RRO
    • parts: Don't explicitly set android:theme for activities
    • power.sh: Fix clkgate_enable node
    • powerhint: Fix F2fsRecessModeEnable node
    • prop: Force disable iorapd
    • rootdir: Delete non-existing ssr_[setup/debug/ramdump]
    • rootdir: Override hwcomposer service
    • rootdir: Powersaving in charger mode
    • rootdir: Remove unnecessary QTI logkit directories
    • rootdir: Set SSR related
    • sync brightness overlays with coral
    • thermal: Don't threshold too early
    • wifi: Update config from sm8150-common tree
    ROM changes:
    • Add support for External EXT4/F2FS storage
    • AlarmManagerService: Reduce log level wtf -> w
    • AudioService: Fix issue with linked notification volume
    • Don't build QuickSearchBox
    • Evolver: Add rotationX animation to quick settings tiles
    • Evolver: Bring back animations to quick settings tiles
    • Evolver: Bring back click to take partial screenshot feature
    • Evolver: Import RenderingJitter test from FWB
    • Evolver: Insert screen off fod toggle into UDFPS settings
    • Evolver: Logo: Add amogus icon
    • Evolver: Remove transparency QS options (still buggy)
    • Evolver: Rework media artwork notification
    • Fix potential error for sys.platform
    • GameSpace: Improve strings
    • Handle non-exist permission group correctly for pm list permissions
    • InputWrapper: Opt out early if session == null
    • Re-enable remote keyguard animation
    • ServiceRegistry: Don't throw an exception if OEM_LOCK is missing
    • Settings: Add preference for toggling the wallpaper zooming animation
    • Settings: Allow user configurable fingerprint wake-and-unlock
    • Switch back to original charging animation background
    • SystemUI: Clean up and fix Status bar Logo feature
    • SystemUI: Fix daily data view in QS footer
    • SystemUI: Fix double unlock sound issue
    • SystemUI: Fix few issues with toggling privacy indicators
    • SystemUI: Fix suspicious spaces around mobile icons
    • SystemUI: Make popup menus more rounded
    • SystemUI: logo: Re-align amogus icon
    • SystemUI: screenshot: add delay for long-press partial screenshot
    • SystemUI: screenshot: add extra crop boundaries
    • SystemUI: screenshot: close QS after launching long screenshot activity
    • SystemUI: screenshot: disable magnification for partial screenshots
    • SystemUI: screenshot: open long screenshot activity for partial screenshots
    • SystemUI: screenshot: remove duplicate clamping on move action
    • SystemUI: screenshot: remove misplaced call to set crop view padding
    • Update SMS short code list for Bahrain
    • Update SMS short code list for Mexico and Colombia
    • Update several APNs from SQ3A.220605.009.B1
    • Update translations
    • apns: Remove user_editable="false" for user visible APNs
    • base: Do not reset keyguard going away state
    • base: EasterEgg: Implement Android 12L Easter Egg
    • base: Provide missing permissions for SystemUI
    • base: Provide required permissions for cellbroadcastreceiver
    • core: Fix menu popup ripple
    • device_config: Disable always screen on
    • neko/Cat: Mark FLAG_IMMUTABLE PendingIntent with FLAG_MUTABLE
    • services: fix a synchronization issue in CachedAppOptimizer
    • vendor: Add overlay to fix app icon font on PixelLauncher
    A follow-up update is now out! Some important fixes are included like the crashing caused by CRT animation during screen off while watching Netflix, Data usage feature is now toggleable via Evolver, safetynet should work a lot better now along with hiding the Space below keyboard as well as the navbar hint. The most important fix included is the app crashing fix which allows users to use apps like HDFC again. Enjoy!

    Changelog for the latest (06/11/2022) update

    Device changes:
    • None
    ROM changes:
    • ElectronBeam: Fix SystemUI FatalException with Netflix and certain use cases
    • Evolver: Toggle data usage view on QS footer
    • Fix issue with app crashing (HDFC, games, etc.)
    • FooterActions: Add haptic click when long-pressing settings icon
    • Hide the "Show the vibrate icon in the Status Bar" setting
    • Limit SafetyNet workarounds to unstable GMS process
    • PreviewInflater: Fix issue with google dialer widget on keyguard
    • Settings: Also disable navbar hint state if IME space is hidden
    • Settings: Improve IME space feature
    • Show the vibrate icon in the Status Bar by default
    • SystemUI: Fix NPE for per-app volume
    • SystemUI: add haptic feedback for qs tiles
    • Update ThemedIcons
    Just a quick hotfix update. Don't turn on A2DP offload or else BT will become buggy. If FOD unlock is flashing for you, turn off Smooth Display in Settings > Display. Lock screen charging info feature is back and some carriers now have VoLTE enabled. The media notification view should be much better looking now as well and 2 buggy features (notif count and lockscreen media art blur) have been removed. I'm sure the previous update satisfied everyone and this build will finalize it for June. Enjoy!

    Changelog for the latest (06/30/2022) update

    Device changes:
    • CarrierConfig: Enable VoLTE support for Telkomsel (Indonesia)
    • audio: Re-enable ULL mode
    • overlay: enable VoLTE support for Indosat and XL Axiata
    • overlay: enable VoLTE support for Three
    ROM changes:
    • Evolver: Bring back Lockscreen Charging info
    • Evolver: Remove lock screen media art blur level (buggy)
    • Evolver: Remove status bar notification count (buggy)
    • Evolver: Make notification artwork background toggleable
    • SystemUI: Fix notification view not updating on ui mode change
    • SystemUI: Media notification: Remove blur customizations
    • SystemUI: Rework media notification view
    • Update translations
  • 63

    Evolution X 6.5 for the Xiaomi K20 Pro / Xiaomi Mi 9T Pro [raphael]
    * Your warranty is void. Or valid, probably?
    * I am not responsible for bricked devices, dead SD cards, Ebolation X,
    * thermonuclear war, or the current economic crisis caused by you following
    * these directions. YOU are choosing to make these modifications, and if
    * you point your finger at me for messing up your device, I will LMAO at you.


    Keep Evolving
    Pixel UI, customization, and more, we are Evolution X!

    - Team Evolution X -
    @joeyhuab (Founder/Lead Developer)
    @RealAkito(Project Manager/Co-Founder)
    @AnierinB (Project Specialist/Co-Founder)

    Reach us on Twitter! @EvolutionXROM


    Just flash and check "The Evolver". We have tons of features combined together from different ROMs.

    What are our features?
    - Lockscreen Clock Styles (23)
    - Dark Theme Styles (11)
    - System Fonts (24)
    - RGB Accent Color Picker
    - Accent Colors Presets (64)
    - System Icon Shapes (11)
    - 2020 Pixel Live Wallpapers
    - G-Visual Mod
    - Volume Panel Styles (6)
    - Custom QS Header Images
    - QS Tile Diso
    - QS Tile Icon Styles (18)
    - QS Panel Color Configs

    - Network Traffic Monitor
    - Clock & Date Options
    - Battery Bar
    - Battery Icon Styles & Percentage Configs (6)
    - System UI Tuner
    - Battery Percent Show/Hide Config
    - 4G/LTE Icon Toggle
    - Roaming Indicator Toggle

    - Heads Up
    - Notification Headers toggle
    - Alert Slider Notification Toggle (For OnePlus Devices Only)
    - Notification light Config
    - Kill App Button Toggle
    - Pulse Edge Lighting
    - In-Call Vibration Options (connect, waiting, end.)

    Quick Settings
    - Quick Pulldown (Right/Left)
    - Smart Pulldown
    - Vibrate On Touch
    - Disable When Locked
    - Hide Battery Icon
    - Notification Header Battery Precent Configs
    - Brightness Slider & Auto Brightness icon Configs
    - Quick Settings Layout Configs
    - Data Usage Visibility Configs

    Power Menu
    - Device Controls
    - Advanced Reboot
    - Optional User Actions (flashlight, etc)

    - AOSP Gestures
    - Back Gesture Configs
    - Toggle To Hide Navbar Pill
    - Advanced Gesture Configs
    - Swipe To Screenshot
    - Status Bar Brightness Control
    - Screen Off Power Button Torch
    - Double Tap To Sleep Status Bar
    - Double Tap to Sleep Lockscreen
    - Screen Off Gestures

    - Always On Display Schedule
    - Fingerprint Error Vibration Toggle
    - Fingerprint Authentication Vibration Toggle
    - Lock Screen Media Artwork/Notification Configs
    - Lock Screen Music Visualizer

    - Nav Bar Tuner
    - Invert Layout
    - Volume Key Answer
    - Volume Rocker Wake
    - Volume Rocker Playback Control
    - Volume Rocker Cursor Control

    - Volume Rocker Wake Toggle
    - Volume Key Playback Control
    - Keyboard Cursor Control
    - Left/Right Volume Panel Toggle

    - Gaming Mode
    - Screenshot Configs
    - Launch Music App On Headset Connection
    - Default USB Config


    * Native carrier video calls can be wonky
    * Lag after reboots. Just lock and unlock after a few seconds (must not be on AoD)



    First Time Install / Clean Flash from MIUI

    1. Reboot to Fastboot
    2. Download your desired recovery for your device
    3. Flash whichever recovery you desire and make sure you're on latest A11 firmware.
    If not, flash
    A11 firmware.
    4. FORMAT data. (Requires full backup of internal storage)
    5. Flash the ROM
    6. Reboot to System and #KeepEvolving
    7. Don't restore DEVICE SETTINGS during Setup Wizard.

    Update / Dirty Flash
    1. Reboot to Recovery
    2. Download the update for your device
    3. Flash the ROM
    4. Reboot to System and #KeepEvolving

    Donate to me! / Official Chat / Device Support

    XDA: DevDB Information
    Evolution X, ROM for the Redmi K20 Pro


    ROM OS Version: Android 12.1
    ROM Kernel: Linux 4.14.284
    Based On: AOSP

    Version Information
    Current Stable Version: 6.5
    Stable Release Date: 2021-11-04

    Created 2021-11-04
    Last Updated 2022-06-30
    Changelog for the latest (06/30/2022) update

    Device changes:
    • CarrierConfig: Enable VoLTE support for Telkomsel (Indonesia)
    • audio: Re-enable ULL mode
    • overlay: enable VoLTE support for Indosat and XL Axiata
    • overlay: enable VoLTE support for Three
    ROM changes:
    • Evolver: Bring back Lockscreen Charging info
    • Evolver: Remove lock screen media art blur level (buggy)
    • Evolver: Remove status bar notification count (buggy)
    • Evolver: Make notification artwork background toggleable
    • SystemUI: Fix notification view not updating on ui mode change
    • SystemUI: Media notification: Remove blur customizations
    • SystemUI: Rework media notification view
    • Update translations
    New update is out. Other concerns are not my priority.

    Changelog for the latest (04/14/2022) update

    Device changes:
    • Add the customized max cached processes number
    • Don't pin launcher app in memory
    • Enable iorapd tracing with perfetto
    • Improve boot time and pull in bootanim display time
    • Remove redundant build property for reduceOpsTaskSplitting
    • Update graphics blobs from from LA.UM.9.14.r1-18900-LAHAINA.QSSI12.0
    • Unpin updatable-media from memory
    • Upstream to latest Soviet
    • fix deprecated power profile items
    • init.qcom.rc: Tuning UFS clkgate and ah8 during boot time
    • remove IO read_ahead_kb tune
    • set readahead_size_kb=128 to system, vendor and data
    ROM changes:
    • AOD: Sleep when proximity is covered for 3 secs
    • ActivityThread: Prevent surface hang up when screen on and screen off
    • Add more notification channels to be blockable
    • AlarmManager: Handle all gms exact alarm denials
    • AlarmManagerService: null check the alarm operation
    • Catch IllegalArgumentException for invalid phone id
    • Catch SQLiteFullException in AccountManagerService
    • Close the FileStream to avoid resource leak
    • DisplayPowerController: Fix incall proximity not turning off display
    • Don't update OverScroller fling state if improper time passed
    • Evolver: Allow hiding apps from launcher
    • Evolver: Bring back volume panel on left toggle
    • Evolver: Hide Status bar on Lock screen
    • Evolver: Move screen off animation to Misc category
    • Evolver: Remove charging animation toggle
    • Evolver: Remove color picker for custom Logo
    • Evolver: Use correct key for Status bar clock auto hide launcher
    • Evolver: applock: intercept activity in a better way
    • Fix Wakelock issue
    • Fix chip visibility in split shade header
    • Fix the issue of transition animation splash screen in split screen mode
    • Fix wakelock under-locked issue
    • Keystore 2.0: Add CREATION_DATETIME only for Keymint V1 and higher
    • Notifications: Make USB-Debugging notification less important
    • PixelPropsUtils: Avoid spoofing for Pixel Buds
    • PixelPropsUtils: Use Mi 11 Ultra for games prop
    • QSPanel: Fix NPE in updateViewPositions()
    • SQLite: Do integrity_check only once
    • Settings: Allow to hide arrow for back gesture
    • Settings: Battery charge warning
    • Settings: Make IME button space optional
    • ShortcutPackage: do not spam logcat
    • StatusBar: Kill old privacy indicator icons completely
    • StatusBar: dismiss qs when screen is going off if showing
    • SystemServer: Only enable fd leak tracker on eng
    • SystemUI: Add VPN tile
    • SystemUI: Animate cutout padding for QS clock
    • SystemUI: Enable status bar burn-in protection by default
    • SystemUI: Face Unlock animation
    • SystemUI: Make the volume dialog expandable
    • SystemUI: QuickStatusBarHeaderController: Remove ColorExtractor listener
    • SystemUI: Show daily data usage in QS footer
    • SystemUI: Update BT battery level from OOS
    • SystemUI: restart timeout causes black screen
    • UIModeTile: Collapse after change UI mode
    • base: Add system app whitelist for applock
    • base: Grant Gapps permissions on boot
    • base: Grant storage permissions for Papers app
    • base: Set ic_avatar_user and ic_avatar_guest_user to follow system accent
    • base: add missing device config permissions for settings
    • base: log spill when dragging
    • config: Disable GMS OTA popup
    • config: Disable remote keyguard animation until it's fixed
    • config: Move keylayout to /product
    • config: Move permissions & sysconfig to /product
    • fix google widget timing issue
    • fonts: Use variable font for Roboto Regular
    • os: Process: Fix wrong code in isThreadInProcess
    • sepolicy: Allow apps to read auxiliary camera properties
    • unregister FileCleanupReceiver when disableHistory
    After around 20 test builds, I and other users can assure you better battery life on this new update. Deep sleep issues have been confirmed to be squashed so no need to do anything regarding that. A lot of device-side changes to further update/improve our current situation on Android 12.

    Bluetooth aptX Adaptive and aptX TWS(+) are now supported as we've switched to the QTI Bluetooth stack. Skia Vulkan is now the default for UI rendering. Several improvements to audio has also been done to improve calls and music streaming. A lot of sepolicy denials have been addressed to ensure less logging during system uptime.

    Extended swipe/advanced nav gestures have been removed in favor of a more stable gesture nav experience. It was causing some gesture issues, especially in apps during landscape mode. NFC icons for the status bar and QS tile have been updated (for Global and CN users) while esepowermanager and secure_element have been totally disabled for raphaelin users as they relate to NFC as well. Gboard spoof has been switched to redfin to avoid some force close issues while Play store will no longer be spoofed as app developers can apparently now block certain device fingerprints from downloading their apps.

    I've been having almost 2 weeks of sleepless nights, testing and making sure everything is stable and won't cause any more battery drains. There have been reports of improved active and idle drains in the tele group already after testing. I hope you guys enjoy and continue supporting Evo X by donating. Thanks!

    Changelog for latest (02/06/2022) Update

    Device changes:
    • Adjust camera aux list (Removed LOS snap from list because access to aux cause the app to bug)
    • Bluetooth: Switch to QTI Bluetooth stack (Enables aptX Adaptive and aptX TWS+ support. If having issues, toggle off "Disable BT A2DP Hardware Offload" in Dev options)
    • BoardConfig: Reconfigure Display flags
    • Build DRM vendor HIDL
    • Build audio.primary.default
    • Build custom audio amplifier
    • Build necessary camera libs
    • Clear persist.vendor.usb.config on boot
    • Configure vibrator kernel nodes for QTI vibrator HAL (resolves very weak haptics during notifications & calls)
    • Configure zram from separate fstab
    • Disable serial console notification
    • Don't apply persist.vendor.usb.config
    • Enable QCRIL radio power saving
    • Graphics: Use Vulkan for UI rendering (fixes quick scrolling in apps)
    • Increase audio HAL buffer size to 240
    • Match QVA static overlay configs for BT
    • Remove wait_for_keymaster and all references
    • Set aaudio.mmap_policy into 1 (Fixes audio in Chrome with Soundcloud)
    • Set status bar top padding to 0 for landscape
    • Some minor NFC changes (completely disabled for raphaelin now)
    • Split component-overrides to support pure AOSP/QTI BT stack
    • audio: Don't advertise vorbis offloading support
    • audio: Drop instances from record_24
    • audio: add offload gapless support flag
    • audio: fixup audio io policy voip_rx flags
    • audio: upgrade audio.usb.default from v1 to v2
    • fstab: Correct zram parameter names
    • fstab: Switch zram swap to /data/per_boot
    • ims: update lib-imsvideocodec.so from alioth S dump (fixes the missing symbol error in ims_media_jni)
    • overlay: Exempt cne from location indicators
    • overlay: Snap: Enable camera API v2
    • overlay: Update config_ims_rcs_package to use new ImsService
    • parts: Add bass booster preset for MiSound
    • parts: Dirac fixes
    • parts: Handle more error for dirac
    • parts: Completely remove raise to wake feature (caused the battery drains)
    • parts: Set android:exported to true in manifest
    • permissions: Apply latest supported deqp levels for Vulkan & OpenGL
    • props: Don't write binary XML files
    • props: Update RIL props
    • props: Update the transcoding operating rate
    • props: add ro.gfx.driver.1 (for proper msmnile gpu drivers support)
    • rootdir: Add chown for audio folder
    • rootdir: Don't configure zram in init.qcom.post_boot.sh
    • rootdir: Enforce S new launch debugfs restrictions
    • rootdir: Properly label qvr_external_sensor fd
    • rootdir: tune audio-app and set to 0-3 cores
    • sepolicy: Add F2FS sysfs permission
    • sepolicy: Add missing labels
    • sepolicy: Add sepolicy for kernel to access /data/per_boot/zram_swap
    • sepolicy: Address gmscore_app denials
    • sepolicy: Address new denials
    • sepolicy: Address vendor_qti_init_shell denials
    • sepolicy: Allow ioctl to zram_swap for performance
    • sepolicy: Allow power stats HAL to access IIO sysfs nodes
    • sepolicy: Allow recovery to access /sys/fs/pstore/*
    • sepolicy: Allow vendor_init to set init_service_status_prop
    • sepolicy: Fix hardware denial
    • sepolicy: Label a[email protected]
    • sepolicy: Suppress harmless denials
    • sepolicy: Suppress sysfs wakeup denials spam
    • sepolicy: Update boot time error
    • wifi: Enable DFS channel scanning in P2P search (Fixes P2P when connected to 5GHz access point)
    • wifi: Switch gEnablePowerSaveOffload to 5 (should improve VoIP calls performance)
    • wifi: wpa_supplicant(overlay): Increase max bss count
    ROM changes:
    • Evolver: Bring back Optional screenshot type toggle
    • Evolver: Improve Secure QS tile behavior toggle
    • Evolver: Refactor Notification settings fragment
    • Evolver: Refactor Status bar icons preference category
    • Evolver: Refactor Themes fragment
    • Fixes ubsan shift-out-of-bounds SIGABRT
    • PixelPropsUtils: Remove Play Store spoof
    • PixelPropsUtils: Spoof redfin for GBoard
    • Remove Advanced nav/Extended swipe gestures
    • Return Back Gesture height settings
    • ScreenshotTile: Make default state inactive
    • ScreenshotTile: Use secondary label to indicate mode
    • Settings: BluetoothDeviceDetailsFragment: fix edit menu icon tint
    • Settings: Disable Storage Manager
    • Settings: Improve code for time spent in-app
    • Settings: add the missing title for Beam main switch
    • Settings: fingerprint: hide link icon when there's no link
    • SystemUI: Update NFC tile drawable
    • SystemUI: Use the same NFC icon like that in the QS tile
    • SystemUI: add public setting keys for monet tunables
    • VolumeDialog: Display default row when the active row is notification
    • VolumeDialog: Don't hide the default stream when adjusting the music stream
    • Zygote: Fix an issue when emptying the usap pool
    • libgui: Dispatch vsync when receiving vsync timeout
    Major update. I really don't care about battery drain reports. Get a power bank. I will just focus on adding/fixing ROM stuff and not any device-side changes.

    Tons of stuff added/brought back. Most if not all have been tested. Would be nice if people donated to support all the work I've done to bring back all of your beloved features. Thanks and enjoy.

    Changelog for latest (03/26/2022) Update

    Device changes:
    • Upstream to latest Soviet kernel changes (v4.14.272)
    ROM changes:
    • Add dalvik-heap device configs for 8/12/16 GiB devices
    • AutofillManager: Turn off logging by default
    • BugFix: HWASAN: Fix stack-buffer-overflow
    • CarrierConfigManager: Enable payphone call blocking option
    • Change the order of Notification writeToParcel
    • ColorUtils: Prevent crash if the alpha component is translucent
    • Don't throw an exception if the admin is null
    • EvolutionUtils: Add check if the device supports compass
    • Evolver: Add bug report shortcut to Power menu
    • Evolver: Add reTicker feature
    • Evolver: Add support for clock auto-hiding
    • Evolver: Allow to disable qs footer warnings
    • Evolver: Allow toggling camera/mic privacy indicator
    • Evolver: Bring back Flashlight blink on incoming calls
    • Evolver: Bring back Monet settings
    • Evolver: Bring back Pulse
    • Evolver: Bring back QS brightness slider options
    • Evolver: Bring back Status bar logos
    • Evolver: Bring back UDFPS icons and animations
    • Evolver: Bring back hiding notification headers toggle
    • Evolver: Bring back lock screen album art filters
    • Evolver: Bring back minimal Ambient Edge Lighting
    • Evolver: Bring back scheduling of Always on Display
    • Evolver: QS Column count and QS hide label settings
    • Evolver: QS footer icon visibilities
    • Evolver: allow disabling qs on secure lock screen
    • FaceService: Downgrade strength to STRENGTH_WEAK
    • FingerprintEnrollEnrolling: Set proper dialog message when the user touches fp icon
    • Fix EventLog string class problem in ViewRootImpl#enqueueInputEvent()
    • Fix autogroupsummary bug
    • Fix potential race condition problem
    • Fix up hiding camera/location indicators for known packages
    • Fix: if anrApp is null, Null pointer exception occurred, Anr trace capture failed
    • Fixed a crash in settings in tts engine selection screen
    • Framelayout: Fix NPE when view is missing
    • GestureTweaksSettings: fix after removing assistant from extended swipe options
    • Make center clock follow paddingTop
    • Make sure we close system dialogs on the thread which it's created
    • MediaArtworkProcessor: Use less blur, zoom & alpha on keyguard
    • Merge Pixel 6 Pro March security patches
    • Parcel: remove use of getOpenAshmemSize
    • PixelPropsUtils: Add NHS App props spoofing
    • PixelPropsUtils: Add game props for mobile legends
    • PixelPropsUtils: Update to SP2A.220305.013.A3
    • PixelPropsUtils: Whitelist YouTube apps
    • PixelPropsUtils: only spoof raven to gms
    • Port ambient Now Playing container from Pixel
    • PowerProfile: allow overriding default power profile
    • Properly apply dark theming to the clock
    • QS: Add CPUInfo toggle tile
    • QS: Add and use Bluetooth Panel instead of full Settings
    • QS: Add and use Mobile Data panel
    • QuickStatusBarHeader: Update for new mClockDateView
    • Reduce padding use by privacy indicator resources
    • Refactor Ringtone.playFallbackRingtone
    • Restore cache clean up code in PackageManagerService
    • Screenshot: Remove text from expanded screenshot chip
    • Settings: Add more trigger actions/app/activities
    • Settings: Add preference for one-shot auto-brightness
    • Settings: Apply SUW button theming to WiFi page
    • Settings: Bring back Bluetooth/WiFi timeout features
    • Settings: Bring back haptic feedback on back gesture
    • Settings: Disable face enroll on Setup Wizard
    • Settings: Don't change nouns in summaries to lower case for German
    • Settings: Enable Quick Wallet settings for all devices with NFC
    • Settings: Implement RoutinesActionBroadcastReceiver
    • Settings: Network setup UI changes for SUW
    • Settings: Remove divider from Battery Manager
    • Settings: Update phone numbers when IMS registered
    • Settings: Update settings animations
    • Settings: Update some lottie animations
    • Settings: add sim status listener in about phone
    • Settings: move Extra Dim feature to display
    • Settings: update PowerUsageFeatureProviderGoogle to 12L
    • Settings: use PowerUsageFeatureGoogle
    • SettingsLib: Don't show system overlays on apps list
    • Shorten wait time for shutdown time optimization
    • SoundPool: Update queue only if streamID matches
    • Status bar: Update notification count icons
    • SystemUI: Add Compass tile and disable long click
    • SystemUI: Add switch data saver icon
    • SystemUI: Better QS detail clip animation
    • SystemUI: EvolutionKeyguardSliceProvider: cleanup
    • SystemUI: Fix SystemUI Crash
    • SystemUI: Flags: Properly enable Smartspace transition
    • SystemUI: Grant additional permissions for Google Smartspace
    • SystemUI: Invoke keyguard exit animation
    • SystemUI: Make media view less-gore when artwork bg is enabled
    • SystemUI: Nuke oriented navbar handle
    • SystemUI: Open WifiPanel on LongClick
    • SystemUI: Prevent loop with display timeout
    • SystemUI: Show mobile data indicator when VoLTE icon enabled
    • SystemUI: Unblock alarm and vibrate status bar icons
    • SystemUI: Update Smartspace assets to 12L
    • SystemUI: Use geometric 6 and 9 glyphs in PIN entry keypad
    • SystemUI: add missing initial call to updateResources in brightness mirror
    • SystemUI: add resource dimen for all screenshot UI radiuses
    • SystemUI: catch up to 12L SystemUIDefaultModule
    • SystemUI: inject WiredChargingRippleController
    • SystemUI: integrate smartspace and backgesture provider
    • SystemUI: match brightness slider track height with the progress drawable
    • SystemUI: res array for status bar blocked icons
    • SystemUI: res array for status bar blocked iconsAdd Sound Search tile
    • SystemUI: unify screenshot and record corner dimens
    • SystemUI: use properly themed divider in notification channel editor dialog
    • ThemeUtils: Make it compatible for all targets
    • Toast: fix layer leak
    • Use alphaoptimized layout for icons on left
    • ViewGroup: Remove child parent when a new view is added
    • ViewRootImpl: Fixed memory leak caused by viewrootImpl objects
    • audio: add support for extended formats
    • base: Fix location privacy indicator getting stuck
    • base: Grant SafetyHub some core permissions on the first boot
    • base: Update API for disabling gestural navigation
    • base: Use vector drawable for tab_selected_holo
    • base: add CPU info overlay
    • base: fix list style alert dialog to use system font
    • core: PinSet: Cache pin algorithms
    • fonts: add OneUISans
    • fs_mgr: Don't run clean_scratch_files on non-dynamic devices
    • fwb: Guard some functions against face unlock
    • graphics: Override system fonts with user-selected overlays
    • libmedia_jni: Changing MediaPlayer RefBase object creation as per RefBase recommendation
    • libs: PipTaskOrganizer: do not start to fade out animation for pip if surfacecontrol leash is null
    • media: Define MPEG-H Encoder Format
    • services: WindowOrientationListener: bail out if rotation resolver service instance is null
    • services: fonts: use a simple sha512 hash-based file verification system
    • styles: Use user fonts for Material UI themes
    • version: Uprev to 6.2.2