[Xiaomi Mi Mix 2S ROMs, Kernels, Recoveries, & Othe] jjpprrrr:
Notes:

- Formatting data and clean flash are required if you come from android 12. Please do not update through OTA if you are on android 12.

- Partition scheme has been switched to retrofit dynamic partitioning because polaris is running out of system partition space. No actual re-partition is involved. Instead, the physical system and vendor partition is mapped together to form a logical "super" partition. The size of super partition equals the sum of the physical system and vendor partitions. After that, logical system and vendor partitions are created on top of this super partition. In this way, we are essentially redistributing space between the physical system and vendor partition to accommodate for the increase in size of system libraries and prebuilt apps.

- Encryption is enabled.

- The firmware is included with a different keymaster.img from perseus. DO NOT flash your own firmware.

- Formatting data and flashing with EvoX is verified and recommended by me. The latest release of OrangeFox recovery for dynamic partitions may work as well. If you encountered issue using OrangeFox, please contact OrangeFox maintainer for support.

- To switch to other ROMs, format data in EvoX recovery first, and then install another recovery. You may need to re-flash the required firmware, if the ROM you are going to flash does not include one.

2023/04/29

Changelog: https://jjpprrrr.com/evox/04291103/

2022/12/24

Changelog: https://jjpprrrr.com/evox/12240732/

2022/11/27

Changelog: https://jjpprrrr.com/evox/11290805/

===============================

Old stuff for android 12 builds:

Note:

- Formatting data and clean flash are required if you come from android 11. Please do not update through OTA if you are on android 11.

- Encryption is disabled for various reasons. You can keep using the latest TWRP or OrangeFox, but please follow the clean flash guide carefully.

- When switching to other ROMs, you may need to re-flash the required firmware, if the ROM you are going to flash does not include one.

2022/08/27

Changelog: https://jjpprrrr.com/evox/08271011/

2022/07/19

Changelog: https://jjpprrrr.com/evox/07190900/

2022/06/30

Changelog: https://jjpprrrr.com/evox/06300952/

2022/05/07

Changelog: https://jjpprrrr.com/evox/05071329/

2022/04/24

Changelog: https://jjpprrrr.com/evox/04240931/

2022/04/04

Changelog: https://jjpprrrr.com/evox/04030425/

2022/02/13

Changelog: https://jjpprrrr.com/evox/02130533/

2022/01/23

Changelog: https://jjpprrrr.com/evox/01230545/

2022/01/03

Changelog: https://jjpprrrr.com/evox/01030801/

2021/12/22

Changelog: https://jjpprrrr.com/evox/12222133/

===============================

Old changelogs on android 11 builds:

2021/11/17

Changelog: https://jjpprrrr.com/evox/11170302/

2021/09/19

Changelog: https://jjpprrrr.com/evox/09191152/

2021/09/01

Changelog: https://jjpprrrr.com/evox/09010753/

2021/08/08

Changelog: https://jjpprrrr.com/evox/08081935/

2021/07/20

Changelog: https://jjpprrrr.com/evox/07200639/

2021/07/12

Changelog: https://jjpprrrr.com/evox/07120827/

2021/07/09

Changelog: https://jjpprrrr.com/evox/20210709-1224/

2021/06/27

Changelog: https://jjpprrrr.com/evox/20210627-0234/

2021/06/24

Changelog: https://jjpprrrr.com/evox/20210624-0151/

2021/06/13

Changelog: https://jjpprrrr.com/evox/20210613-1343/

2021/05/24

Changelog: https://jjpprrrr.com/evox/20210524-0028/

2021/05/19

Changelog: https://jjpprrrr.com/evox/20210519-0450/

2021/05/08

Changelog: https://jjpprrrr.com/evox/20210508-0030/

2021/04/24

Changelog: https://jjpprrrr.com/evox/20210424-1321/

2021/04/04

Changelog: https://jjpprrrr.com/evox/20210404-2205/

2021/03/22

Changelog: https://jjpprrrr.com/evox/20210322-1630/

2021/02/28

Changelog: https://jjpprrrr.com/evox/20210228-0619/

2021/02/11

Changelog: https://jjpprrrr.com/evox/20210211-1145/

2021/01/27

Changelog: https://jjpprrrr.com/evox/20210127-2249/

2021/01/23

Changelog: https://jjpprrrr.com/evox/20210123-0312/

2021/01/14 Update 2

- Removed UFS clkgate and hibern8 power hints on LAUNCH to avoid kernel ufshcd_abort on some phones

2021/01/14

Changelog: https://jjpprrrr.com/evox/20210114-0015/

2021/01/05

Changelog: https://jjpprrrr.com/evox/20210105-1618/

2020/12/28

Changelog: https://jjpprrrr.com/evox/20201228-0914/

2020/12/12

Changelog: https://jjpprrrr.com/evox/20201212-0042/

2020/11/20

**Evolution X Update**

- Removed Now Playing feature and its sound model

* it crashes audio hal service all the time and causes audio stuttering, if you turn on Now Playing

* it will not work for our device anyway

2020/11/19

Changelog: https://jjpprrrr.com/evox/20201119-0528/

Un-indented mess thanks to XDA's text formatting system:

**Device Changes:**

- Etude kernel: Op.11 No.1

* DO NOT use a third party kernel without proper support for Pixel thermal hal

* Linux 4.9.243

* merged upstream fix on ipv6, vsoc, tee, and thermal from android common kernel

* wireguard 1.0.20201112

- Updated the following blobs from LA.UM.9.8.r1-02700-SDM710.0

* SDM, HDR, Adreno, Vulkan, and Snapdragon CVE

* CNE, IMS, QMI, and RIL

* wfd vendor

* media and media codecs

* configstore

* dpm vendor

* drm

* msm_irqbalance

* peripheral manager

* time service

* TEE and TUI

* ESE power manager

* Secure Element

- Updated wfd and dpm system blobs from OnePlus8Pro

- Wireless Display under Cast is working now

- Updated the following hal versions

* Secure Element --> 1.2

* ESE power manager --> 1.1

* QTI Health implementation --> 2.1

* IRadio --> 1.5

* uceservice --> 2.2

* ims factory --> 1.0

* qti radio --> 2.4

* ims rtp service --> 3.0

* removed qdutils_disp

- Brought back Livedisplay

- Enabled dex2oat64

- Switched to full CAF android 11 display HAL

* UI rendering jitter and total duration are back to normal, thx to the new blobs and hals

- Reworked TetheringOverlay blueprint

- Removed some unused entries in init script

**Evolution X Update**

- Evolution X on android 11 is under fast development to bring back features from android 10. Do not expect full feature set like that on android 10.

- Brand new boot animation

- Added battery health section

- Added option to change navbar length or completely hide it

- Added three finger swipe to screenshot gesture

- Added option to customize notification LED light

- Added custom clock picker under Settings/Display/

- Added volume rocker skip track to Gestures

- Added option for linked ring and media volume

- Added lockscreen album art filter

- Added QS columns/rows option

- Added VoLTE icon toggle

- Added option to disabled LED after full charge

- Added toggle for lockscreen charging animations

- Added visualizer

- Added heads-up blacklists, timeout and snooze

- Click to take partial screenshot

- Added screen off animations

- Added Seedvault as an alternative backup provider

- Made Inter as the default system font

- Many other misc features in Evolver

**Notes and Known Issues**

- "OK Google" hot word does not work yet

**Gapps, vendor, and firmware are included.** Formatting data and clean flash are required if you come from android 10. Dirty flash or update through OTA is fine from the previous EvoX android 11 versions.

2020/11/04

__Initial android 11 release__

FORMATTING DATA AND CLEAN FLASH ARE REQUIRED

FORMATTING DATA AND CLEAN FLASH ARE REQUIRED

FORMATTING DATA AND CLEAN FLASH ARE REQUIRED

OTA WILL NOT WORK BY DESIGN.

I DON'T WANT TO DO THIS BUT SOME PEOPLE JUST CAN'T READ.

Check changelog with proper indentation from my website: https://jjpprrrr.com/evox/20201104-1831/

Un-indented mess thanks to XDA's text formatting system:

__Initial android 11 release__

**Device Changes:**

- Etude kernel: Op.11 No.1

* DO NOT use a third party kernel without proper support for Pixel thermal hal

* Linux 4.9.241

* merged CAF R tag LA.UM.9.8.r1-02900-SDM710.0

* modified DT bindings for Pixel thermal hal

* enabled zram writeback

* fixed zram idle and writeback string compare

* added a killable freezer to kill frozen tasks similar to cgroups v2

* increased top-app boost

* fixed per_cpu declaration of pending_ipi

* upstreamed bpf

* upstreamed simple_lmk

* disabled PSI to avoid userspace notifying memory pressure through PSI

* synaptics: use disable_erq_nosync

* some fixes on led-class init/de-init

* use BPF_PROG_RUN

* raise mm compaction priority after it withdraws

* disabled unused wsa881x codecs

* fixed a memory leak on camera

- Switched to Pixel thermal 2.0

* also updated thermal engine from Pixel 3 XL android 11 build

- Ported CAF R display hal

* screen brightness is now controlled by hwc instead of light HAL, which offers a smooth and accurate brightness adjustment without weird hacks I did on android 10

* display config 2.0

- Switched to CAF R media hal

* set higher priority to c2 than OMX

* removed deprecated divx/xvid software codecs

* cleaned up and merged redundant media codec configs

- Switched to stable aidl Pixel power hal

* removed UfsHibern8Enable and clkgate_enable hints in launch and interaction because it may freak out ufshc

- Merged drm hal entry changes from CAF and updated DRM blobs from OnePlus8Pro android 11 build

* clearykey 1.3

* widevine 1.3

* wfdhdcp 1.3

- Switched to AOSP NFC 1.2

- Enabled IORap

* IORap is a new feature in android 11 that greatly improves app startup time by predicting and prefetching potentially blocking I/O

- Enabled zram writeback in fstab and job scheduler

- Updated adreno and vulkan blobs from Pixel 3 XL android 11 build

* OpenGL ES 3.2 V@464 -> @490

- Set frozen group as killable

- Added AOSP RCS packages and removed deprecated RCS

- Bumped audio hal to 6.0

- Added a shim to fix dpm service

- Enabled the option to turn on blur in developer settings (defaults to disabled)

* Note: blur is very expensive on rendering and may incur jank frames

- Added WifiOverlay

- Added TetheringOverlay

- SELinux enforcing and SafetyNet passes out of the box

* if you use Magisk, you may need to turn on MagiskHide

- Forced encryption is disabled for now. Your partition will not be encrypted.

**Evolution X Update**

- Evolution X on android 11 is under fast development to bring back features from android 10. Do not expect full feature set like that on android 10.

**Notes and Known Issues**

- Prebuilt official GoogleCamera has been removed intentionally because obviously it will not work for our device. Install any gcam you like that works on android 11. Do not use the Camera2 that comes with the ROM.

- Wireless Display can scan but may not connect successfully

- "OK Google" hot word does not work yet

**Gapps, vendor, and firmware are included.** Formatting data and clean flash are required.

Flash guide:

- Install the latest custom recovery

- Format data (required)

- After formatting data, you may have to reboot again to recovery

- Wipe system & data & cache & dalvik cache

- Install ROM

- Reboot

==================================

Old changelogs on android 10 builds:

09/25/2020

**Device Changes:**

- Etude kernel: Linux 4.9.237

**Feature update highlights:**

- Introduced AppLock from AOSPA

- Improved touch width on AOSP volume panel

- Other misc fixes

09/18/2020

**Device Changes:**

- Etude kernel:

* Linux 4.9.236

* fpc and goodix fingerprint: use qcom drm notifier instead of the generic one

* fixed xbl_region reserved memory

* wireguard: 1.0.20200908

- Reworked screen panel backlight

* in previous builds

- adjusting brightness slider in the lower range resulted in uneven brightness transition

- previous builds did not allow screen to dim to the lowest possible value

- auto-brightness had slow reaction to ambient light changes

* patched frameworks/base to use linear brightness slider instead of the log scale one

* ported gamma-linear conversion to light HAL

* re-calculated auto brightness curve to fit new light HAL changes

* reduced light sensor debounce time to stay in-line with MIUI

* the result:

- smooth backlight brightness transition when moving brightness slider

- screen can dim to the lowest possible value the panel allows

- auto-brightness reacts faster to ambient light changes

- auto-brightness is no longer jumpy

- screen dimming caused by no user action has proper transitions

- Fixed an issue where notification pulse option is unavailable when DOZE_ENABLED option is not set yet

**Feature update highlights:**

- September security patch

- Force enabled Styles component

- Added pocket lock

- Improved navbar pulse visualizer

- Replaced Google Sans with Manrope in many system components

09/03/2020

**Device Changes:**

- Etude kernel:

* Linux 4.9.235

* merged CAF tag "LA.UM.8.3.r1-08500-sdm845.0"

* built with latest Clang 12

* improved suspend/resume latency

* some misc fixes on arm64 and mm

- enabled proximity sensor check on wake by default

- cleaned up unused auto brightness values

- updated firmware and vendor from MIUI 12 Global Stable V12.0.1.0

- use qti-telephony-common from polaris dump for injection

- fixed an issue where mobile data on one SIM may be broken after the other SIM receives a phone call or SMS

**Feature update highlights:**

- Added QS header styles and removed QS header color picker

- Added Disco and RGB QS tile styles

* Check https://jjpprrrr.com/evox/20200903-1428/#screenshots-of-new-qs-styles for screenshots

- Removed boost framework because it messes up with kernel boost behavior and causes more battery drain

- Extended navbar pulse to lockscreen

- Added OOS 10 VoLTE icon

08/22/2020

**Device Changes:**

- Etude kernel

* Linux 4.9.233

* improved suspend/resume latency

* merged some loop device backports from upstream

* wireguard 1.0.20200729

* disabled LLVM Polly

* fixed a few string literal concatenations

- fixed a few sepolicy issues for sched_boost and sysfs_batteryinfo

- cleaned up Google specific hints from powerhint

- fixed the "HD" capable notification spam for Chinese carriers

- created dummy perfd client so that proprietary perfd blobs can be removed while keeping goodix fingerprint sensor functioning

- disabled kpi_optimize in audio extension because it tries to call perfd and spams logs when failed

- re-introduced an updated qti-telephony-common injection to polaris

* this fixed mms issue on some Korean carriers

- dropped wifi-ext

**Feature update highlights:**

- Option to choose from AOSP/Compact/Oreo/Tiled volume panel styles in Settings/Evolver/Themes

- Option to clamp minimum auto brightness value

- Added VoWiFi icon warning

- Solarized Dark for dark themes

08/04/2020

**Device Changes:**

- Etude kernel

* Linux 4.9.232

* built with Clang 12

* some scheduler changes on idle load

* upstream on mm, qspinlock, and arm/arm64 specific libs

- Updated APNs for Chinese carriers

- Bumped Vulkan feature level to 1

- Enabled 802.11r Fast BSS Transition and increased max BSS count

- Enabled unspecialized app process pool

**Feature update highlights:**

- August security patch (android-10.0.0_r41)

- Reworked VoWiFi icon

- Moved swipe to screenshot and screenshot type preferences from Evolver to main Settings app

- Brought AOSP screen recorder to power menu options

- Improved expanded volume panel

- Added Anaheim and Tinkerbell fonts

- Many touch and scrolling optimizations

07/18/2020

**Device Changes:**

- Etude kernel

* reduced frame drops on Facebook Messenger's chat head

* cleaned up some previous scheduler changes

* enabled more LLVM Polly optimization options

* some upstream for rbtree and arm64 memory assembly

* wireguard 1.0.20200712

- Switched to QTI BlueTooth stack

**Feature update highlights:**

- Brought back navbar audio gfx visualizer

- Added Dark Aubergine theme. Here is a screenshot of how it looks: https://jjpprrrr.com/evox/20200718-1921/#screenshot-of-dark-aubergine-theme

07/13/2020

**Device Changes:**

- Etude kernel

* Linux 4.9.230

* fixed an issue on ebbg touchscreen

* built with Clang 11's ThinLTO and Polly. ThinLTO greatly improves build times over full LTO while retaining most of the performance benefits.

* reverted back to 100HZ tick rate for better battery life

* exposed calculated FPS through sysfs. Now you can monitor your frame rates through supported apps (Tested on Franco Kernel Manager)

- Brought back color calibration in Livedisplay

**Feature update highlights:**

- Added Battery Health in Settings/Battery

- Added screen stabilization (enable it in QS)

- Merged some Zygote USAP Pool changes for faster app opening and switching

- Updated apns-conf for better IMS support

07/08/2020

**Device Changes:**

- Etude kernel: Op.10 No.2, "Allegro"

* Linux 4.9.229 and CAF tag "LA.UM.8.3.r1-08100-sdm845.0"

* built with Clang LTO(Link Time Optimization) and Polly(Polyhedral Optimization)

* more scheduler and schedtune upstream

* enabled CONFIG_HZ_300 and disabled core rotation for better load tracking and EAS task placement

- Disabled backpressure propagation due to slight increase in rate of jank frames

- Dropped qti telephony injection

* let me know if on some carriers mobile data is still broken after a phone call

- Known issue: color calibration in Livedisplay is temporarily unavailable

**Feature update highlights:**

- July's security patch (android-10.0.0_r40)

- Blocked face authentication when device is in pocket mode

- Fixed active color for some qs tile styles

- TextClock: Fixed Korean strings

06/28/2020

**Device Changes:**

- Etude kernel:

* some scheduler and schedutil changes from Pixel 3/XL kernel to improve UI responsiveness and jitter

* Shadow Call Stack support

* Wireguard 1.0.20200623

* built with AOSP Clang 11.0.3 (r383902c)

- Fully enabled backpressure propagation in SurfaceFlinger

- Enabled Seamless Transfer

* now you can switch between different audio output devices by tapping the music note icon on the notification of music apps

* if you are not sure where it is, check the screenshot at https://jjpprrrr.com/evox/20200628-1334/#screenshot-for-seamless-transfer

- Tweaked powerhint to improve IO latency on UFS

- Updated Qualcomm Adreno and Vulkan drivers from Pixel 3 XL android 11 beta

* OpenGL ES 3.2 V@464 (was @415) and Vulkan 1.1.128

- Fixed an SELinux denial of vendor_init writing to blkio

- Increased amount of visible notification icons

- Enabled and improved color profiles in Livedisplay

* you can now choose between Standard, Reading, and sRGB profile

- Known issue: color calibration in Livedisplay is temporarily unavailable

**Feature update highlights:**

- Allow remounts with magisk installed

- Fixed DividedLine clock style layout

- Per app network isolation

- VoWiFi icons and more VoLTE icon styles

- TextClock is back with translation updates

- New icon shapes from R

- Coral and Ferrari red accent color

- Alarm, calculator, calendar, camera, and dialer QS tiles

06/17/2020

**Device Changes:**

- Etude kernel: Op.10 No.1

* the built-in Etude kernel aims to offer better experience for users who do not feel like flashing a custom kernel

* special thanks to palaych for commits of new Xiaomi changes

* Linux 4.9.227 & LA.UM.8.3.r1-07900-sdm845.0, compiled with AOSP Clang 11.0.1 (r383902)

* upstreamed lz4 to v1.8.3 and enabled lz4 crypto for zram

* simple_lmk, sound control, f2fs rapid GC (by arter97), Wireguard 1.0.20200611...

- Increased minimum frequency for expensive rendering

- Per-app thermal profile

**Feature update highlights:**

- Fixed some mods that hooks zygote such as Riru

- Option to disable long screenshot

- Long press Caffeine for infinite duration

- Added a LineageOS clock

- Other misc fixes

06/04/2020

**Device Changes:**

- Kernel: merged Linux 4.9.226 and LA.UM.8.3.r1-07900-sdm845.0

- Switched to OSS fingerprint HIDL

- Updated firmware and blobs from MIUI Global Stable V11.0.5.0 for polaris

- Removed CarrierSettings from vendor

**Feature update highlights:**

- June security patch (android 10.0.0_r37)

- Updated gapps from QQ3A.200605.001

- Updated prebuilt Pixel Launcher

- SystemUI: Don't forcefully convert wallpaper to SRGB

- Added center style Text clock, Divided Lines, MNML based clocks & SFUNY clock styles

- Improved Smart Charging

05/28/2020

**Device Changes:**

- Upstreamed kernel to Linux 4.9.225

- Set max_frame_buffer_acquired_buffers to 3 instead of using NUM_FRAMEBUFFER_SURFACE_BUFFERS flag

- Fixed aux camera (telephoto)

- tested on PitbulL gcam

- Shipped CarrierSettings in vendor

- Tweaked power hint a bit to improve battery life

- Enabled Smart Charging support

**Feature update highlights:**

- Fixed notification LED blink for missed calls

- Increased historical notifications to 100

- Added option to enable R style notification section headers

- Added support for Smart Pixels + QS tile

- Re-implemented option to hide navigation bar gesture completely

- Evolver: added a simple About Evolution X page

- Added hexagon and rounded hexagon icon shape overlays

- Re-worked expanded volume panel

05/17/2020

Initial Official Release

**Device Changes:**

- Upstreamed kernel to Linux 4.9.223

- Fixed frequent charging disconnections and screen wakeups when battery is warm (46C)

- Merged display HAL from CAF LA.UM.8.3.r1-07200-sdm845.0

- bumped vendor.display.config to 1.9

- increased NUM_FRAMEBUFFER_SURFACE_BUFFERS to 3

- for the buttery smooth experience

- Brought back CarrierConfig overlay and telephony injection

**Feature update highlights:**

- Face unlock is back

Download: https://sourceforge.net/projects/evolution-x/files/polaris