[ROM][12.1][raphael][OFFICIAL] Evolution X [08/17/22]

Search This thread

joeyhuab

Recognized Developer
Nov 5, 2012
3,802
15,458
27
Antipolo
evolution-x.org
Xiaomi Mi A1
Redmi K20 Pro


Evolution X 6.7 for the Xiaomi K20 Pro / Xiaomi Mi 9T Pro [raphael]
Code:
/*
* 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.
*/

0KUV8YX.png


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

SRQCjQJ.png


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

What are our features?
Themes
- 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

Statusbar
- 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

Notifications
- 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)

Gestures
- 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

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

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

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

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

CIrL2gb.png


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

o2G52Ve.png


PLEASE DO NOT FLASH GAPPS, THEY ARE ALREADY INCLUDED

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





Download
Donate to me! / Official Chat / Device Support




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

Contributors
joeyhuab

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

Version Information
Status:
Stable
Current Stable Version: 6.7
Stable Release Date: 2021-11-04

Created 2021-11-04
Last Updated 2022-08-17
 

Attachments

  • Screenshot_20211104-144246_Pixel Launcher.png
    Screenshot_20211104-144246_Pixel Launcher.png
    252.8 KB · Views: 12,367
  • Screenshot_20211104-144254_Pixel Launcher.png
    Screenshot_20211104-144254_Pixel Launcher.png
    143 KB · Views: 12,150
  • Screenshot_20211104-144257_Pixel Launcher.png
    Screenshot_20211104-144257_Pixel Launcher.png
    202.3 KB · Views: 11,659
  • Screenshot_20211104-144302_Settings.png
    Screenshot_20211104-144302_Settings.png
    155.9 KB · Views: 11,442
  • Screenshot_20211104-144308_Settings.png
    Screenshot_20211104-144308_Settings.png
    157.7 KB · Views: 10,929
  • Screenshot_20211104-144313_Settings.png
    Screenshot_20211104-144313_Settings.png
    94.8 KB · Views: 10,601
  • Screenshot_20211104-144317_Settings.png
    Screenshot_20211104-144317_Settings.png
    147.3 KB · Views: 9,862
  • Screenshot_20211104-144320_Settings.png
    Screenshot_20211104-144320_Settings.png
    96.6 KB · Views: 9,390
  • Screenshot_20211104-144329_Settings.png
    Screenshot_20211104-144329_Settings.png
    136.7 KB · Views: 8,905
  • Screenshot_20211104-144332_Settings.png
    Screenshot_20211104-144332_Settings.png
    124 KB · Views: 8,465
  • Screenshot_20211104-144335_Settings.png
    Screenshot_20211104-144335_Settings.png
    131.3 KB · Views: 7,983
  • Screenshot_20211104-144340_Settings.png
    Screenshot_20211104-144340_Settings.png
    142.1 KB · Views: 7,628
  • Screenshot_20211104-144344_Settings.png
    Screenshot_20211104-144344_Settings.png
    115.3 KB · Views: 7,327
  • Screenshot_20211104-144325_Settings.png
    Screenshot_20211104-144325_Settings.png
    159.4 KB · Views: 7,199
Last edited:

joeyhuab

Recognized Developer
Nov 5, 2012
3,802
15,458
27
Antipolo
evolution-x.org
Xiaomi Mi A1
Redmi K20 Pro
Changelog for the latest (08/17/2022) update

Device changes:
==============================
  • sepolicy: Neverallow app open access to /dev/ashmem
------------------------------
ROM changes:
==============================
  • Don't reset A2DP offload when disabling developer settings
  • Evolver: Add SystemPropertySwitchPreference
  • Evolver: Add master switch strings for new MainSwitchPreferences
  • Evolver: Bring back lockscreen media art blur filters
  • Evolver: Improve app list fragment
  • Evolver: Introduce {Global,Secure,System}MainSwitchPreference
  • Evolver: Make LS media filter blur radius configurable
  • Evolver: Transparent QS customization
  • Evolver: Use MainSwitchPreference when applicable
  • Evolver: Use SystemPropertySwitchPreference for Photos/Games props
  • Further increase blur radius for glass blur effect
  • KeyguardUpdateMonitor: Destroy our settings observer when necessary
  • NotificationMediaManager: Increase blur radius for blur media filters
  • PixelPropsUtils: Correctly spoof pixel props
  • PixelPropsUtils: Update fingerprints to Android 13 August 2022 release
  • Remove Kscope authored features
  • Screenrecord: Allow to select AVC codec profile level
  • Set default value of config_supportsScreenOffUdfps to false
  • Settings: Add SettingsLibMainSwitchPreference library
  • Settings: Adjust master switch strings for new MainSwitchPreference
  • SettingsLib: Fix nav bar color on certain apps
  • SettingsLib: fixup Big dotted circle integer value
  • SystemUI: Implement sleep for pickup gesture
  • SystemUI: Switch notification background to monet on heads up
  • SystemUI: match brightness slider track height with the progress drawable
  • core: Add telephony stack to privacy indicator whitelist
  • vendor: Add EVO_SECURITY_PATCH prop
DOWNLOAD
 
Last edited:
Sir, i just encountered this problem when dirty flashed from evolution_raphael-ota-rq3a.211001.001-10161645-unsigned.zip to evolution_raphael-ota-sd1a.210817.036.a8-11041427-unsigned.zip

I turned on “unlock when i finish the input of the PIN number” on Android 11 EvoX, but after the update to A12, every time I finish the input of correct PIN numbers, the screen goes off and not unlocked. The result is I cannot unlock the phone now.

Who knows how to bypass screenlock in Android 12 or evolution?

UPDATES for cannot unlock the phone.
Here is my method since my phone is unlocked, not encrypted and shipped with TWRP rec.
Flash to TWRP rec, go to Advanced>>File Manager>>data/system/>>delete locksettings.db and locksettings.db-journal
Reboot from TWRP
now the phone's PIN is gone

 
Last edited:

SamuelChenkual

Senior Member
Oct 12, 2016
55
8
Sir, i just encountered this problem when dirty flashed from evolution_raphael-ota-rq3a.211001.001-10161645-unsigned.zip to evolution_raphael-ota-sd1a.210817.036.a8-11041427-unsigned.zip

I turned on “unlock when i finish the input of the PIN number” on Android 11 EvoX, but after the update to A12, I finish the inut of PIN numbers, the screen goes off.

Yeah i think best not to dirty flash here
 
  • Like
Reactions: ConnorSu

Macke93

Senior Member
Jan 29, 2012
199
60
Linköping, Sweden
Dirty flashing from Evo X android 11 didn't go well :ROFLMAO:
"Phone is starting" is stuck on display, dirty flashing back to Evo X A11 didn't work either. Neither does restore via TWRP work.

I guess I'm going to clean install it and re-setup every app once again 🥳😫
Anyway, thanks for already putting out an android 12 build for us 💙😍
 

Rabanero

Member
May 11, 2015
38
16
Situation: Clean flash, no DFE, Magisk and fingerprint+security pattern.

I found "Phone is starting" bug when entered SIM pincode and before security pattern (and I cannot enter because of previous message). I solved it restarting SystemUI only, so it seems bug is there. Bug repeats always when I reboot, but not when phone autolocks.

Other things: it seems there isn't any recovery compatible with A12 data encryption. So, if you don't want to use DFE (like me) you will need to flash things with ADB or USB-OTG until there will be a solution.

And another minor issues, but they are reasonable things for first release:
- There isn't any customization of inmersive navigation, so the blank space on the bottom and with the navigation pill is again here.
- I don't like the bunch of new preinstalled programs like Youtube Music that are not available to unistall.
- Theme color customization is poor. I don't like default pink and pastel colors and I miss theme chooser with pure black backgrounds (for battery saving also). There isn't any chance by now.

After that... WOOOOW. WE HAVE A12! HURRA! :D Thx Evolution Team!
 

Emenaria

Senior Member
Jul 12, 2016
106
16
Redmi K20 Pro
If anyone is wondering how to flash Magisk, you can do it with this method.
Basically, I installed app-debug.apk (Magisk Canary) from https://github.com/topjohnwu/Magisk, patched the boot.img extracted from evolution_raphael-ota-XXXXXXXXXX.zip with the app, copied the patched image to PC, boot into fastboot and flashed it with this command "fastboot flash boot magisk_patched.img"
 
Last edited:

ngohoainam

Senior Member
Oct 23, 2016
91
23
thanks @joeyhuab for the Android 12. this rom is smooth on my K20 Pro. but 1 small thing is missing. can you bring back the option to revert the button layout in case user uses 3 button layout:)
 

Attachments

  • Screenshot_20211104-194659_Settings.png
    Screenshot_20211104-194659_Settings.png
    179.7 KB · Views: 1,327
  • Like
Reactions: joeyhuab

ovir0ck

Member
Jun 15, 2021
11
3
Thanks a lot Team. We are looking for this.

What is the safetynet and root status of this ROM.
Also please let us know the battery backup of this rom. Can it be used as daily driver ?
 

joeyhuab

Recognized Developer
Nov 5, 2012
3,802
15,458
27
Antipolo
evolution-x.org
Xiaomi Mi A1
Redmi K20 Pro
Thanks a lot Team. We are looking for this.

What is the safetynet and root status of this ROM.
Also please let us know the battery backup of this rom. Can it be used as daily driver ?
Safetynet passes by default. Use Magisk Canary for rooting then Enable Zygisk to hide from banking apps. It's stable enough.
 

shelmahh

Member
Jun 21, 2015
8
1
Dirty flashing from Evo X android 11 didn't go well :ROFLMAO:
"Phone is starting" is stuck on display, dirty flashing back to Evo X A11 didn't work either. Neither does restore via TWRP work.

I guess I'm going to clean install it and re-setup every app once again 🥳😫
Anyway, thanks for already putting out an android 12 build for us 💙😍
I can't install. Dirty and clean flash doesn't work fine for me :\ Everytime I have a bootloop to TWRP :\ I don't know what should I do
 

Macke93

Senior Member
Jan 29, 2012
199
60
Linköping, Sweden
I can't install. Dirty and clean flash doesn't work fine for me :\ Everytime I have a bootloop to TWRP :\ I don't know what should I do
I don't know if this is related, but I had that issue when trying to dirty flash A12 EvoX from a A11 EvoX. Installing the DTBO file from page 151 in EvoX A11 thread solved this issue for me.

Backup your DTBO before trying.
 

Top Liked Posts

  • 2
    Hello @joeyhuab, I am experiencing app freezes/crashes as others as well (I believe). After one app crashes, several (but not all) apps won't start properly, most of the time a reboot is the only/best solution. It also depends on uptime I presume, the longer the phone is running the more likely it is that something crashes.

    I'm on the latest build (flashed yesterday), on latest EEA Firmware I could find. I also followed all instructions for a clean flash (including formatting data). Furthermore I installed Magisk 25.2 stable

    Luckily, I managed to get a logdump via "logcat" a couple of minutes before an app crashed, which was somewhat precise at 09:29:25
    After some half a minute, my phone/apps were back to normal. I was presented that an app isn't responding 2 times in total

    Holpe you can help, as I'd like to use this awesome ROM as daily driver.
    Many thanks!


    Edit: Logdump won't upload, working on it
    2
    Welp, cheered too early, sadly.

    What's different imho is the (new?, compared to the logdump from before) DiskReadViolation


    I am also surprised by the amount of warnings/errors in regard to the gms / messaging.app services, maybe a correlation?
    Look, I appreciate all the efforts you're doing for the logs. Really. But as I've said in the final update post, I'm solely focusing on Android 13 already. I'm not gonna waste any more time to fix issues on A12.1.
    1
    Hello @joeyhuab, I am experiencing app freezes/crashes as others as well (I believe). After one app crashes, several (but not all) apps won't start properly, most of the time a reboot is the only/best solution. It also depends on uptime I presume, the longer the phone is running the more likely it is that something crashes.

    I'm on the latest build (flashed yesterday), on latest EEA Firmware I could find. I also followed all instructions for a clean flash (including formatting data). Furthermore I installed Magisk 25.2 stable

    Luckily, I managed to get a logdump via "logcat" a couple of minutes before an app crashed, which was somewhat precise at 09:29:25
    After some half a minute, my phone/apps were back to normal. I was presented that an app isn't responding 2 times in total

    Holpe you can help, as I'd like to use this awesome ROM as daily driver.
    Many thanks!


    Edit: Logdump won't upload, working on it
    I have the same exact problem. Magisk 25.2 (Zygisk) installed with Bootloop protector, Universal SafetyNet Fix i LSPosed. Without modules I experienced the same problem.
    I'm guessing you're both on EXT4? I think I know why half the community encounters this while the other doesn't. It's related to non-F2FS users.
    1
    I'm guessing you're both on EXT4? I think I know why half the community encounters this while the other doesn't. It's related to non-F2FS users.
    Yes, certainly I am! Will format to F2FS and reinstall now. Maybe it works, many thanks!
    1
    Yes, certainly I am! Will format to F2FS and reinstall now. Maybe it works, many thanks!
    I haven't experienced any freezes as of now (although I'm currently also setting up and changing many things/rebooting). However I think it's gone, as normally I should have at minimum encountered force closes of some apps (e.g. Firefox) by now.

    A thousand thanks @joeyhuab
  • 32
    This new update was supposed to be a way of thanks for the remaining supporters but seeing as things have changed, I'm posting it here too. A lot of changes as well such as additional battery styles, more fonts, removing the lag from QS pulldown, among other improvements.

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

    Device changes:
    ==============================
    • audio: Add Stereo config channel support to usb surround sound
    • audio: Remove dynamic attributes from APS config
    • overlay: Limit AOD & Ambient Display refresh rate to 60Hz
    ------------------------------
    ROM changes:
    ==============================
    • AnimatableClockController: Add misans to broken fonts
    • Evolver: Added 9 more battery styles
    • Evolver: Import Wi-Fi standard icon
    • Evolver: Secondary color for lockscreen clock toggle
    • LockscreenCharging: Add divisor current overlay
    • LockscreenCharging: Calculate power from voltage and current
    • PackageManagerService: Load APKs from system_ext/framework
    • Settings: AdbRootPreferenceController: Set isAvailable() to true
    • Settings: convert hotspot timeout preference to a list preference
    • Settings: default to GlifV3Theme
    • SystemUI: Fix QS expand lag when VoLTE/VoWiFi icons are enabled
    • SystemUI: Fix current formatting on lockscreen
    • SystemUI: GlobalActionsDialogLite: switch to AOSP's Flashlightcontroller
    • SystemUI: Respect Statusbar left padding in keyguard carrier
    • SystemUI: VolumeDialogImpl: Change bg tint for inactive rows
    • SystemUI: respect statusbar left padding in QS clock & keyguard carrier
    • Update battery info every second when device is charging
    • Use Tuner API for reTicker settings
    • permissions: Grant ACCESS_FINE_LOCATION to broadcast receiver intents
    • permissions: Update cellbroadcastreceiver allowlist
    • reTicker: Cleanup
    • themes: fonts: Add misans overlay
    • themes: fonts: Import Oppo Sans
    DOWNLOAD
    27
    I've decided to leave the telegram group and to only continue posting updates here alone. I'm tired of the constant whining about random apps crashing (without any proper logs), requests to switch back to Mi thermal or whatever non-sense whichever user may think is beneficial to the ROM. Everything beneficial is either already included or unavailable for a reason.
    25
    A new patreon page has been added to my link tree page. That gives everyone more options than ko-fi or PayPal or BMAC regarding tips.

    Here's the deal. In order for us to move forward, I will have to reach an agreement with everyone that there will be a single confirmed update per month for this device. Additional updates may be done if necessary, but now there will be only 1 update per month.

    I will no longer entertain weird/random/nonsense questions and I will only handle the bug reports that have been properly explained. Anyone that will tag me regarding something known already or being worked on, will be ignored.

    If you think this is unfair, you may leave the ROM. This ROM isn't requiring users to install it. It's up to everyone if you will stay.

    I'm only doing this for those who have been here from the start. Those who have been supportive and respectful. It's unfair for them who have stayed loyal if they will also lose their home. The next OTA will be posted as soon as possible. Thanks for all the kind words.
    23
    Here's the final MAJOR update for Android 12. I will solely focus on Android 13 from here. Thanks for all the support on our Android 12 journey.

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

    Device changes:
    ==============================
    • sepolicy: Neverallow app open access to /dev/ashmem
    ------------------------------
    ROM changes:
    ==============================
    • Don't reset A2DP offload when disabling developer settings
    • Evolver: Add SystemPropertySwitchPreference
    • Evolver: Add master switch strings for new MainSwitchPreferences
    • Evolver: Bring back lockscreen media art blur filters
    • Evolver: Improve app list fragment
    • Evolver: Introduce {Global,Secure,System}MainSwitchPreference
    • Evolver: Make LS media filter blur radius configurable
    • Evolver: Transparent QS customization
    • Evolver: Use MainSwitchPreference when applicable
    • Evolver: Use SystemPropertySwitchPreference for Photos/Games props
    • Further increase blur radius for glass blur effect
    • KeyguardUpdateMonitor: Destroy our settings observer when necessary
    • NotificationMediaManager: Increase blur radius for blur media filters
    • PixelPropsUtils: Correctly spoof pixel props
    • PixelPropsUtils: Update fingerprints to Android 13 August 2022 release
    • Remove Kscope authored features
    • Screenrecord: Allow to select AVC codec profile level
    • Set default value of config_supportsScreenOffUdfps to false
    • Settings: Add SettingsLibMainSwitchPreference library
    • Settings: Adjust master switch strings for new MainSwitchPreference
    • SettingsLib: Fix nav bar color on certain apps
    • SettingsLib: fixup Big dotted circle integer value
    • SystemUI: Implement sleep for pickup gesture
    • SystemUI: Switch notification background to monet on heads up
    • SystemUI: match brightness slider track height with the progress drawable
    • core: Add telephony stack to privacy indicator whitelist
    • vendor: Add EVO_SECURITY_PATCH prop
    DOWNLOAD
    20
    Hi. So Google hasn't pushed the complete revisions for August security patch yet but I've included the patches manually in the ROM. Other changes include bringing back several key features like Notification counter, Colored Status bar icons, and QS tiles customization among others.

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

    Device changes:
    ==============================
    • Add and increase 5 GHz network signal tolerance
    • Disable QTI perf lock usage in camera HAL
    • Disable debug.sf.enable_hwc_vds
    • Enable freeform window management
    • Get rid of megvii dependencies in camera.qcom.so
    • Tone down CamX and CHIUSECASE logging
    • display: Disable SF client composition cache
    • fingerprint: move fingerprint manifest to vintf_fragment
    • fixup status bar heights
    • overlay: Limit AOD & Ambient Display refresh rate to 60Hz
    • parts: Add MiSound scenes
    • parts: Change Headphone types for dirac
    • parts: Update and polish vector drawables
    • sepolicy: Label oem prop for rild
    ------------------------------
    ROM changes:
    ==============================
    • AnimatableClockController: Sync with fonts overlay changes
    • Bump to r22 raven patch
    • CameraManager: Make the workaround completely optional
    • DeviceInfoUtils: Read security patch from org.evolution.build_security_patch
    • Evolver: Bring back the Notification counter feature
    • Evolver: Bring back QS tiles/layout customization
    • Evolver: Make colored Statusbar Icons optional
    • Evolver: Remove status bar lyric feature (buggy for now)
    • IllustrationPreference: Hide illustrations when we fail to play anim
    • KeyguardUpdateMonitor: Destroy our settings observer when necessary
    • Merge August 2022 security patches
    • PixelPropsUtils: Bump to r22 raven build fingerprint
    • Screenrecord: Allow to select AVC codec profile level
    • Set default value of config_supportsScreenOffUdfps to false
    • Set navbar color for device default settings theme
    • Settings: Follow navbar color in base
    • SettingsLib: Fix nav bar color on certain apps
    • SettingsLib: Fix user profile photo picker crash
    • SystemUI: Remove trace counter from ScrimState
    • SystemUI: Show the ripple on face auth if skip lockscreen enabled
    • Update translations
    • Write permission synchronization for com.android.systemui
    • apns: Update mobily APN for prepaid connection
    • core: Add telephony stack to allowed service state packages
    • display: Restore brightness adjustment on boot
    • recovery: Only warn on SPL downgrade
    • sepolicy: Allow Settings app to change WFD resolution
    • sepolicy: Allow apps to access usap pool
    • sepolicy: Allow platform_app syslog_read
    • sepolicy: Allow system_server to get app_zygote pgid
    • sepolicy: Allow updater to read data files
    • sepolicy: Label skip unconfigure prop
    • themes: fonts: Fix, import and update more fonts
    • themes: fonts: Refresh shipped vendor fonts
    • vendor: Add EVO_SECURITY_PATCH prop
    • version: Uprev to 6.7
    DOWNLOAD
  • 70


    Evolution X 6.7 for the Xiaomi K20 Pro / Xiaomi Mi 9T Pro [raphael]
    Code:
    /*
    * 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.
    */

    0KUV8YX.png


    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

    SRQCjQJ.png


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

    What are our features?
    Themes
    - 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

    Statusbar
    - 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

    Notifications
    - 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)

    Gestures
    - 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

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

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

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

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

    CIrL2gb.png


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

    o2G52Ve.png


    PLEASE DO NOT FLASH GAPPS, THEY ARE ALREADY INCLUDED

    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





    Download
    Donate to me! / Official Chat / Device Support




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

    Contributors
    joeyhuab

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

    Version Information
    Status:
    Stable
    Current Stable Version: 6.7
    Stable Release Date: 2021-11-04

    Created 2021-11-04
    Last Updated 2022-08-17
    49
    Changelog for the latest (08/17/2022) update

    Device changes:
    ==============================
    • sepolicy: Neverallow app open access to /dev/ashmem
    ------------------------------
    ROM changes:
    ==============================
    • Don't reset A2DP offload when disabling developer settings
    • Evolver: Add SystemPropertySwitchPreference
    • Evolver: Add master switch strings for new MainSwitchPreferences
    • Evolver: Bring back lockscreen media art blur filters
    • Evolver: Improve app list fragment
    • Evolver: Introduce {Global,Secure,System}MainSwitchPreference
    • Evolver: Make LS media filter blur radius configurable
    • Evolver: Transparent QS customization
    • Evolver: Use MainSwitchPreference when applicable
    • Evolver: Use SystemPropertySwitchPreference for Photos/Games props
    • Further increase blur radius for glass blur effect
    • KeyguardUpdateMonitor: Destroy our settings observer when necessary
    • NotificationMediaManager: Increase blur radius for blur media filters
    • PixelPropsUtils: Correctly spoof pixel props
    • PixelPropsUtils: Update fingerprints to Android 13 August 2022 release
    • Remove Kscope authored features
    • Screenrecord: Allow to select AVC codec profile level
    • Set default value of config_supportsScreenOffUdfps to false
    • Settings: Add SettingsLibMainSwitchPreference library
    • Settings: Adjust master switch strings for new MainSwitchPreference
    • SettingsLib: Fix nav bar color on certain apps
    • SettingsLib: fixup Big dotted circle integer value
    • SystemUI: Implement sleep for pickup gesture
    • SystemUI: Switch notification background to monet on heads up
    • SystemUI: match brightness slider track height with the progress drawable
    • core: Add telephony stack to privacy indicator whitelist
    • vendor: Add EVO_SECURITY_PATCH prop
    DOWNLOAD
    32
    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
    DOWNLOAD
    32
    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 [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
    DOWNLOAD
    32
    This new update was supposed to be a way of thanks for the remaining supporters but seeing as things have changed, I'm posting it here too. A lot of changes as well such as additional battery styles, more fonts, removing the lag from QS pulldown, among other improvements.

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

    Device changes:
    ==============================
    • audio: Add Stereo config channel support to usb surround sound
    • audio: Remove dynamic attributes from APS config
    • overlay: Limit AOD & Ambient Display refresh rate to 60Hz
    ------------------------------
    ROM changes:
    ==============================
    • AnimatableClockController: Add misans to broken fonts
    • Evolver: Added 9 more battery styles
    • Evolver: Import Wi-Fi standard icon
    • Evolver: Secondary color for lockscreen clock toggle
    • LockscreenCharging: Add divisor current overlay
    • LockscreenCharging: Calculate power from voltage and current
    • PackageManagerService: Load APKs from system_ext/framework
    • Settings: AdbRootPreferenceController: Set isAvailable() to true
    • Settings: convert hotspot timeout preference to a list preference
    • Settings: default to GlifV3Theme
    • SystemUI: Fix QS expand lag when VoLTE/VoWiFi icons are enabled
    • SystemUI: Fix current formatting on lockscreen
    • SystemUI: GlobalActionsDialogLite: switch to AOSP's Flashlightcontroller
    • SystemUI: Respect Statusbar left padding in keyguard carrier
    • SystemUI: VolumeDialogImpl: Change bg tint for inactive rows
    • SystemUI: respect statusbar left padding in QS clock & keyguard carrier
    • Update battery info every second when device is charging
    • Use Tuner API for reTicker settings
    • permissions: Grant ACCESS_FINE_LOCATION to broadcast receiver intents
    • permissions: Update cellbroadcastreceiver allowlist
    • reTicker: Cleanup
    • themes: fonts: Add misans overlay
    • themes: fonts: Import Oppo Sans
    DOWNLOAD