MI 8 bootloop/no post after display replacement


slowmail

Members
Aug 3, 2019
19
15
I broke the screen on my Mi 8 (global version), I ordered a replacement screen online, and was able to install it, but I noticed the following issues:

a) Phone would not boot with the new screen; but would boot correctly when the old screen is put back on. It simply sits at the Mi logo screen and does not post.
b) The workaround for me to boot the phone is to flash an earlier version of the rom (EU 10.3.3); but once I update to the current EU10.3.4, it will not boot at all.
c) The last version of Miui Global Rom that would boot is (V10.3.2.0 PEAMIXM); if I flash a newer version, the phone will not post, even if the bootloader is locked, and updated via fastboot or OTA.
d) The earliest version of Mi Global Rom that would boot is (V10.2.1.0.PEAMIXM); flashing an earlier version would bootloop with the new screen installed.
d) LineageOS16 bootloops
e) Official TWRP versions also can't boot, but TWRP by LR Team (from here) works.

With the replacement screen installed, Device Info Hardware shows:
LCM: dsi_ss_ea8074_notch_fhd_cmd_display
Touchscreen: fts

In all cases (no post, or bootloop), the phone would boot correctly if I swap back the previous (broken) screen.
I'm not exactly sure why replacing the broken display causes this. I was wondering if anyone here could give me a bit of advice on how to figure out what the problem might be.
 
I broke the screen on my Mi 8 (global version), I ordered a replacement screen online, and was able to install it, but I noticed the following issues:

a) Phone would not boot with the new screen; but would boot correctly when the old screen is put back on. It simply sits at the Mi logo screen and does not post.
b) The workaround for me to boot the phone is to flash an earlier version of the rom (EU 10.3.3); but once I update to the current EU10.3.4, it will not boot at all.
c) The last version of Miui Global Rom that would boot is (V10.3.2.0 PEAMIXM); if I flash a newer version, the phone will not post, even if the bootloader is locked, and updated via fastboot or OTA.
d) The earliest version of Mi Global Rom that would boot is (V10.2.1.0.PEAMIXM); flashing an earlier version would bootloop with the new screen installed.
d) LineageOS16 bootloops
e) Official TWRP versions also can't boot, but TWRP by LR Team (from here) works.

With the replacement screen installed, Device Info Hardware shows:
LCM: dsi_ss_ea8074_notch_fhd_cmd_display
Touchscreen: fts

In all cases (no post, or bootloop), the phone would boot correctly if I swap back the previous (broken) screen.
I'm not exactly sure why replacing the broken display causes this. I was wondering if anyone here could give me a bit of advice on how to figure out what the problem might be.
Does this phone have an inscreen fingerprint reader?

If yes try to detach it on the new screen and see, if it boots.

I changed the display on my sons black shark without such issue.

Sent from my MI 8 Explorer Edition
 
Does this phone have an inscreen fingerprint reader?

If yes try to detach it on the new screen and see, if it boots.

I changed the display on my sons black shark without such issue.

No, my Mi 8 does not have an in-screen fingerprint reader.

It would appear there are others who have replaced a broken screen on their Mi 8 who are experiencing the same bootloop issues:

I believe the issue might be unique to the Mi 8 only, which is why you did not experience this with your son's Black Shark. I'm also not sure if it may be unique to a certain batch of replacement Mi 8 screens only, or if all of them might be affected.
 
No, my Mi 8 does not have an in-screen fingerprint reader.

It would appear there are others who have replaced a broken screen on their Mi 8 who are experiencing the same bootloop issues:

I believe the issue might be unique to the Mi 8 only, which is why you did not experience this with your son's Black Shark. I'm also not sure if it may be unique to a certain batch of replacement Mi 8 screens only, or if all of them might be affected.
That seems really weird, the only idea left is to compare the display drivers between the rom then, maybe some working ones have either more compatible ones included or a slight different voltage setup for battery saving, I assume your replacement display may consume / need more power as the board is configured to deliver.

Just a thought, you could try to find the files or the piece of code responsible for display voltages, try to boot in a dark environment to avoid brightness increase shortly before the os finally starts.

regards

Sent from my MI 8 Explorer Edition
 
That seems really weird, the only idea left is to compare the display drivers between the rom then, maybe some working ones have either more compatible ones included or a slight different voltage setup for battery saving, I assume your replacement display may consume / need more power as the board is configured to deliver.

Just a thought, you could try to find the files or the piece of code responsible for display voltages, try to boot in a dark environment to avoid brightness increase shortly before the os finally starts.

regards

Sent from my MI 8 Explorer Edition

I'm confused about this response (booting in a dark environment)... it's not that the unit boots to a blank screen and is unresponsive. It simply remains at the Mi logo screen; or, in the case of a bootloop (lineageos16, and global rom before V10.2.1.0.PEAMIXM), it just keeps cycling.

Where would I find the display drivers in each rom so that I can try to compare them?

At this time, I was thinking of comparing TWRP official vs LR Teams releases; but I wasn't sure how to unpack and examine the .img file.
 
I'm confused about this response (booting in a dark environment)... it's not that the unit boots to a blank screen and is unresponsive. It simply remains at the Mi logo screen; or, in the case of a bootloop (lineageos16, and global rom before V10.2.1.0.PEAMIXM), it just keeps cycling.

Where would I find the display drivers in each rom so that I can try to compare them?

At this time, I was thinking of comparing TWRP official vs LR Teams releases; but I wasn't sure how to unpack and examine the .img file.
You know, normally the phone adjusts its brightness right before the os comes up, therefore it might help to not increase if the display draws to much power (just a test to collect evidence for my theory) you do also know, twrp usually starts with max brightness (lr-team does not) so, i vote for voltage issue they are normally controlled by the kernel, so ask an experienced kernel developer (franco?) For some input in this regard.

Sent from my MI 8 Explorer Edition
 
Just a thought, you could try to find the files or the piece of code responsible for display voltages, try to boot in a dark environment to avoid brightness increase shortly before the os finally starts.

I've done a clean flash, and tried to boot the unit in a totally dark environment (with the screen face down and covered). No change, and it still does not post.
It simply remains in the initial mi logo screen with "unlocked" at the bottom. The "powered by android" text and animation never appears.
 
I've done a clean flash, and tried to boot the unit in a totally dark environment (with the screen face down and covered). No change, and it still does not post.
It simply remains in the initial mi logo screen with "unlocked" at the bottom. The "powered by android" text and animation never appears.
Okay, so that is a dead end, Damned, it seems you need to stick with the working rom then, can you get a logcat while the phone is booting via adb?

Sent from my MI 8 Explorer Edition using Tapatalk
 
Okay, so that is a dead end, Damned, it seems you need to stick with the working rom then, can you get a logcat while the phone is booting via adb?

I ran 'adb -d logcat' on my PC, while the phone is connected via USB to it and tried to boot the phone, but it just sat at "- waiting for device -" with no output. Nothing moved.

I tested with my (now retired) Mi 5, where I tried installing LiveBoot and noted that it only starts to display (on the screen) a little after the "Powered by Android" logo comes up, and adb only comes to life at the lock screen; and only if I usb debugging was already enabled in developer options.

The only thing I know at this time is:
EU 10.3.3, and earlier versions will boot.
EU 10.3.4, and later versions won't.

=(
 
It also appears, the latest EU Miui 11.0 Stable is also working. I have these running on my unit right now...

TWRP-3.3.1-0607-XIAOMI8-CN-wzsx150
xiaomi.eu_multi_MI8_V11.0.3.0.PEACNXM_v11-9
Magisk v20


However, EU Miui 11 (Weekly 9.10.11) does not. =(
xiaomi.eu_multi_MI8_9.10.11_v11-10 - does not boot
 
Last edited:
Im glad to read you got it working!

Stick with stable, it's not that bad and quite recent, interesting, maybe @ingbrzy or @Igor Eisberg have a clue what might be the difference?



Sent from my MI 8 Explorer Edition using Tapatalk
 
It also appears, the latest EU Miui 11.0 Stable is also working. I have these running on my unit right now...

TWRP-3.3.1-0607-XIAOMI8-CN-wzsx150
xiaomi.eu_multi_MI8_V11.0.3.0.PEACNXM_v11-9
Magisk v20


However, EU Miui 11 (Weekly 9.10.11) does not. =(
xiaomi.eu_multi_MI8_9.10.11_v11-10 - does not boot
You said earlier it won't even boot the recovery, is this now history or still the case?

Sent from my MI 8 Explorer Edition using Tapatalk
 
Im glad to read you got it working!

Stick with stable, it's not that bad and quite recent, interesting, maybe @ingbrzy or @Igor Eisberg have a clue what might be the difference?

I wouldn't say that I 'got it working', rather, it just happens to work. And it's disconcerting not knowing the cause, as it means any update could brick the unit (and I would have to roll it back to the last known 'good' version) (eg: when global rom V10.3.2.0 PEAMIXM updated my unit to V10.3.3.0...)

You said earlier it won't even boot the recovery, is this now history or still the case?
The latest official TWRP still can't boot on my unit.
The above mentioned TWRP by TeamLR does.

Similarly, LineageOS doesn't boot either.

I'd like to try figure out what is happening, but don't quite know where to start. it'd be nice if someone could point out where/how I can unpack the various images to try see what has changed, and figure out what is causing this issue with replacement screens.

EU 10.3.3 boots,
EU 10.3.4 (and later versions) does not.

Global V10.1.2.0.PEAMIFI does not boot.
Global V10.2.1.0.PEAMIXM boots.
...
Global V10.3.2.0 boots,
Global V10.3.3.0 (and later versions) does not.

TeamLR's TWRP boots, Official TWRP does not.

I would guess it would be possible to find something that has changed betwen the above versions, that is causing the problem... maybe; but I just don't know how to.
 
Last edited:
I wouldn't say that I 'got it working', rather, it just happens to work. And it's disconcerting not knowing the cause, as it means any update could brick the unit (and I would have to roll it back to the last known 'good' version) (eg: when global rom V10.3.2.0 PEAMIXM updated my unit to V10.3.3.0...)


The latest official TWRP still can't boot on my unit.
The above mentioned TWRP by TeamLR does.

Similarly, LineageOS doesn't boot either.

I'd like to try figure out what is happening, but don't quite know where to start. it'd be nice if someone could point out where/how I can unpack the various images to try see what has changed, and figure out what is causing this issue with replacement screens.

EU 10.3.3 boots,
EU 10.3.4 (and later versions) does not.

Global V10.1.2.0.PEAMIFI does not boot.
Global V10.2.1.0.PEAMIXM boots.
...
Global V10.3.2.0 boots,
Global V10.3.3.0 (and later versions) does not.

TeamLR's TWRP boots, Official TWRP does not.

I would guess it would be possible to find something that has changed betwen the above versions, that is causing the problem... maybe; but I just don't know how to.
As a Start, set up a vm (centos or fedora live image would do it) in a virtual box, except you are running Linux native anyways.

Extract the system image for both Rom, diff all non binary files, that might show you config differences.

One liner:

diff -r dir1/ dir2/ | sed '/Binary\ files\ /d' >outputfile

If they changed something deep in the binaries, you might be screwed, then you have to decompile, android sdk might be needed.

A little script for compare:

Code:
#!/bin/bash 
dir1=/path/to/first/directory 
dir2=/path/to/second/directory 
content_dir1=$(mktemp) 
content_dir2=$(mktemp) 
$(cd $dir1 && find . -type f -print > $content_dir1)
$(cd $dir2 && find . -type f -print > $content_dir2) 
echo Files that only exist in one of the paths
 echo ----------------------------------------- 
diff $content_dir1 $content_dir2 

#Files 2 Ignore 
declare -A F2I 
F2I=( [sqlite3]=1 [binfile2]=1 )

while read f; 
  do 
       b=$(basename $f) 
       if ! [[ ${F2I[$b]} ]]; then 
            diff $dir1/$f $dir2/$f 
       fi 
done < $content_dir1

Google for more info.

Sent from my MI 8 Explorer Edition using Tapatalk
 
  • Like
Reactions: katerpanne
Extract the system image for both Rom, diff all non binary files, that might show you config differences.

Thanks for the advice. Could you also advise *how* do I extract/unpack the system image files?
What tools and/or commands should I use?

(and subsequently , how do I repack the files, so I can try to flash the changes I have made to test if it works...)
 
Thanks for the advice. Could you also advise *how* do I extract/unpack the system image files?
What tools and/or commands should I use?

(and subsequently , how do I repack the files, so I can try to flash the changes I have made to test if it works...)
This should help:


Btw, once they are images you could just mount them into a folder.

Seems there is even a tool which allows you to repack:

https://forum.xda-developers.com/an.../dev-android-extractrion-repack-tool-t3588311

Sent from my MI 8 Explorer Edition using Tapatalk
 
If anyone is wondering, the current EU Miui 11.0 Stable works. I have these running on my unit right now...

TWRP-3.3.1-0607-XIAOMI8-CN-wzsx150
xiaomi.eu_multi_MI8_V11.0.4.0.PEACNXM_v11-9.zip
Magisk v20.1 (20100) w Magisk Manager v7.4.0 (253) (3)
 
  • Like
Reactions: Horalius
Got one "dsi_ss_ea8074_notch_fhd_cmd_display" with broken glass, if somebody want to pay shipping i can send it ho him.
 
Hello, good, I have been talking with developers to see if they could solve the problem that happened to those of us who had changed the screen of my 8 and after many tests and a lot of research by a partner of the Revolution OS development team is A rom based on MIUI that I recommend, because they make an incredible worker I was talking to him and he has managed to create a kernel. Which includes the drivers we need for the screen to work for us so that we can continue to have both AOSP and MIUI, I am using it right now and it works perfectly, it is already stable and I am going to proceed with the work, it is done by the partner, nulled from the development team of Revolution OS and really stop by their website because they work a lot here you have the download link to enjoy: https://mega.nz/#F!C1xhwA7B!lb0woxrbiD-xUC2tKtW3tQ
 
If anyone is wondering, the current EU Miui 11.0 Stable works. I have these running on my unit right now...

TWRP-3.3.1-0607-XIAOMI8-CN-wzsx150
xiaomi.eu_multi_MI8_V11.0.5.0.QEACNXM_v11-10.zip
Magisk v20.1 (20100) w Magisk Manager v7.4.0 (253) (3)


Hello, good, I have been talking with developers to see if they could solve the problem that happened to those of us who had changed the screen of my 8 and after many tests and a lot of research by a partner of the Revolution OS development team is A rom based on MIUI that I recommend, because they make an incredible worker I was talking to him and he has managed to create a kernel. Which includes the drivers we need for the screen to work for us so that we can continue to have both AOSP and MIUI, I am using it right now and it works perfectly, it is already stable and I am going to proceed with the work, it is done by the partner, nulled from the development team of Revolution OS and really stop by their website because they work a lot here you have the download link to enjoy: https://mega.nz/#F!C1xhwA7B!lb0woxrbiD-xUC2tKtW3tQ

So, how are we supposed to use this? If we installed a rom that does not boot (eg: LineageOS, or the latest Miui Global Rom), do we just drop this in and it'll magically work? Will it also allow official TWRP to post and boot correctly?