[Xiaomi Mi Mix 3 Guides, News, & Discussion] Takenfal:
Hi everyone

First of all, I'm not an expert and I'm not a developer as well; I'm just a geek who loves to understand things and solve problems. Now, since I first bought the Mi Mix 3, I noticed that I always had a problem with the battery discharge.

When the phone was locked

, in fact,

it kept discharging very quickly

and during the winter, now that my hands are colder than my ex-girlfriend heart, I could notice that even if the phone has been locked for hours, it's always a little bit warm. So he keeps doing something in the background. On the other hand, I never decided to go deeper into this, because I use two LTE sim cards and the network signal in my room is very bad, so I always end up thinking "Maybe the problem is the quality of the signal, the phone keeps attempting to connect to the mobile antennas and it needs a lot of energy". The fact is that my Mi Mix 3 kept discharging even with a very good signal, like 100m straight line to the tower. But again, I thought it was because of the bad optimization of the beta Chinese ROM (I was testing the MIUI 11).

Ok, Two days ago, I finally decided to flash a custom ROM. I love the MIUI but the temptation of flashing stuff is too high, so I went ahead, I downloaded the Evolution X 2.1 and I finally flashed it. The problem was still there. Moreover, now I'm using only one sim card. So let's flash Magisk and then BetterBatteryStats. And finally, I discovered the real problem:

The DAMN CPU (both BIG cores and LITTLE cores) never go into the deep sleep state, literally.

So I downloaded Kernel Auditor for more details and listen here: when the phone is locked, the BIG cores remain at their minimum frequency (825 MHz) as well as the Little ones (576 MHz, I could set it to 300 and actually I noticed a slight improvement). But no Deep Sleep at all; Kernel Auditor itself says "Never used frequencies: Deep Sleep".

So excellent! The Deep Sleep state doesn't exist at all into my phone, I'd understand having a small percentage of it, but nothing at all, what kind of problem is that? I checked the wakelocks anyway, but there was nothing weird going on. The highest value on the Kernel wakelocks was because of the display management and on the partial ones, the highest was the Google Play Services (Nah, just 1%). So wakelocks were fine. I ended up thinking that the problem was the FIrmware or the Kernel, that's something I'll never know maybe. But I managed to solve the problem.

How did I solve it?

Right at this moment I'm using the Evolution X 2.1 ROM and, to be frank, I thought it could solve the problem but it didn't. For instance, I also tried different governors instead of the schedutil set by default, like conservative or powersave, nothing changed again.

"Ok ok, enough about that, how can I solve it?"

You have to install the XASP (M.A.R.S.) mod. This will solve your problem

.

Check the topic

:

https://xdaforums.com/mi-mix-3/development/rom-xasp-xiaomi-aosp-snapdragon-patch-t3931721

And the developer's website

:

https://sites.google.com/view/miustone/HOME

And the developer's GitHub repository related to the project

:

https://github.com/Miustone/MARS-Patch

Some hints:

You need an AOSP ROM in order to make it work.

It won't work on any MIUI ROM

(I think)!

The installation instructions say that you should flash it right after a fresh install of the ROM (It must be Android 9 / SDK 28 - AOSP ARM64), but I flashed it even after a few days of using and it worked as well.

You need to clone/download the repository, unzip it, move into the unzipped directory (where there's the META-INF), select everything and

compress it into a zip file

and that will be the patch you should flash using the TWRP recovery.

P.S. I know, it's not really a solution, I mean, If you don't want to root your phone, you have to rely on the original version of the MIUI, but from what I've seen, bot MIUI 10 global developer and MIUI 11 china developer have this problem. If you just don't want a custom ROM but you rooted your phone, you could try the MIUI EU ROM, I don't know if it has the same problem tho.

And finally, let your CPU rest a little bit!

UPDATE: The MIUI

EU

ROM works very well. The phone manages to go in the deep sleep state as well and everything works fine. So if you don't want to flash multiple zips and do tricky things, just use the MIUI EU ROM and you'll be ok.

Let's keep reporting any deep sleep issue here tho!

And thanks everyone for the help!