How To Guide Flashing GSI roms on Redmi Note 10S and then fixing some issues, all without any custom recovery

Search This thread

quackoducko

New member
Nov 10, 2021
4
0
Alright I followed this tutorial, fastbootd with twrp ( I have unofficial twrp installed ) said partition does not exist after flashing process it just booted me into stock rom?

Any fix? Pls
 

GildroY

Senior Member
Oct 10, 2017
65
18
By Following this guide, you will lose your warranty so keep that in mind before you begin. (Although you have probably already lost your warranty by unlocking the bootloader)

This guide will help you to flash any GSI (Project Treble) ROM onto your Redmi Note 10S, and since TWRP, or any custom recovery for that matter, is not yet available, we have to manually install the GSI roms using fastboot (and fastbootd because of the dynamic partition). The process is lengthy but not that difficult.

It should go without saying that you should backup everything and be prepared to lose your data and potentially soft-brick your phone and the experience with GSI roms is not always known to be stable (although I have not seen any such problems yet aside from a few easy-to-fix bugs) so do all of this at your own risk.

Important to note is that if at anytime you mess stuff up or delete partitions you weren't supposed to (whatever the guides may say, don't erase the product partition, it won't help, you're gonna end up in a bootloop) and soft-brick your phone, as long as you can access fastboot you can easily fix the problem by using the MiFlash tool which will help you get back to square one (you won't have to wait to unlock the bootloader again so don't worry about that)

Now, for the disclaimer:
DISCLAIMER: I'm an amateur in terms of tinkering with android stuff and phones in general. The process mentioned below has worked on my phone but I would still recommend waiting for someone more....experienced to weigh in his/her opinions. If you end up bricking your phone or if things go south, I'm not responsible, that's on you.

NOTE:
When I mention fastboot I'm referring to the standard "normal" fastboot and when I mention fastbootd, I'm referring to the dynamic/userspace fastboot which is different (which wiil be indicated by the fastboot screens during either of the modes)

I should mention that using this method I have been able to flash DotOS, Android 12 Beta 5, CorvusOS (my current daily driver) and in my daily driver (Corvus OS), It's passing SafetyNet and the WideVine certification is still at L1 even after rooting, however I have tested neither Google Pay nor Netflix, because I don't use either of them so your mileage may vary, however I did find Netflix in the play store so that is a bit encouraging ig.

Alright, with the appetizers out of the way, let's crack on to the main course:

PART 0: Requirements:-

Please ensure that the following requirements are met:
  • A Redmi Note 10S with an unlocked bootloader
  • OEM Fastboot driver and Fastbootd driver is installed
  • A preferred GSI rom (the file extension should be .img)
  • Being prepared to lose your data
  • Obtain android platform-tools along with knowledge about how to use it
  • Acceptance that the newly flashed GSI rom may/may not be completely stable.
  • Fastboot rom from here
If you have all that, you can move on to the next step

PART 1: Get Straight to Flashin':

This guide is rather straightforward because there really isn't much to it.

To begin with, extract the vbmeta.img from the Fastboot rom. Once you have done that, reboot your phone to fastboot mode.
Once the phone is in fastboot mode, on your computer, run the following command:
Code:
fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
to disable what is the android equivalent of window's secure boot

Once that is done, issue the following command:
Code:
fastboot.exe reboot fastboot
(No, there is no typo here, this is what needs to be done to enter the fastbootd mode, which is where the real fun begins)

Ensure that you are in fastbootd mode. The blue coloured "fastboot" text at the bottom will be replaced by a yellow coloured "fastbootd"

Okay, now for the most important command, type:
Code:
fastboot.exe -u flash system your_gsi_rom_of_choice.img

Done!

After this, don't forget to factory reset your device by:
Code:
fastboot.exe -w

Note: If you forget to do the factory reset, you're gonna end up with a frankenstein combination of your new and some configs of your previous rom, in this case reboot to bootloader (using power and volume down) and issue the factory reset command (fastboot -w)

And then for the toppings:
Code:
fastboot.exe reboot

That's.....about it. You should boot into your chosen rom. For the first time, the boot animation may stick around for a long time (5 minutes or more). However, if, even after an absurd amount of time (15-20), the rom doesn't boot up, try using MiFlash tool to get back to square one and try the whole process again.

Once it boots up, continue with the setup process and you will (hopefully) be at the home screen of your new rom.

PART 2: Le Bugs

Of course, no software is perfect and considering the especially ambitious nature of Project Treble, it is no surprise that you will encounter some bugs. 2 bugs in particular are the disabled headphone jack and the wonky brightness slider.

Here's how I fixed them in CorvusOS (most probably applies in other ROMs as well)

1. Disabled Headphone Jack:

Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
Through your computer, issue the following commands (one-by-one, don't copy-paste them):
Code:
adb shell
su
setprop persist.sys.overlay.devinputjack true
reboot

Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.

2. Brightness Slider Fix:

This one does not require any root. However, this does require that you can access the device specific customisations,

So, in my case, I had to go into {Device Name} Settings > Misc features and then tick the Force alternative backlight scale . Once you have done that, reboot and your brightness slider will be working properly again. Also, if you noticed sudden fluctuations after booting or when device goes to sleep earlier, that should all be fixed as well.


Conclusion:

At this point, you should be ready to rock the world along with your phone. Depending upon the rom you have chosen (DotOS for example), your widevine certification and safetynet may be compromised, even after trying out several fixes (which is what happened in my case). So if that happens to you, I suggest that you either change your rom, hunt around for some solutions or just, you know, live with it.
In my case, (As I mentioned before) I'm using CorvusOS where the widevine rating and safetynet are unaffected, with the latter requiring some special fixes.

Hope that helped. I look forward to hearing from you people about any recommendations or discussion. If you have any problem with the process or think that something may be wrong, post it in the replies and I'll be happy to get back to you (depending upon the time, of course)
Flashed the Dot OS GSI today on my Note 10s and wanted to share some observations:

1. Should the fastboot command to flash the image :
Code:
fastboot.exe -u flash system your_gsi_rom_of_choice.img
contain '-u' or '--u' (single or double hyphen)?
That is, should it be:
Code:
fastboot.exe --u flash system your_gsi_rom_of_choice.img
?
Single hyphen did not worked for me on my ubuntu device.
Might be irrelevant for experts but for noobs like me, it caused some panic and delay :).

2. The 'Night Light' filter is not working as expected - even at the lowest setting, the screen remains pale orange-ish at best.

3. Jio (India) sim - calling is not working irrespective of which sim slot is used, whether data is enabled or disabled, other sim slot is occupied or vaccant - tried all possible permutations. Data is working though with Jio sim. This is a complete 'deal breaker' for me as Jio is the primary carrier.

Experts, please suggest in case any fixes are available for these issues.
Apologies in advance for verbiage and silly mistakes (if any).

Must mention that It is a delight to see stock, UN-bloated experience on such a promising hardware. Many thanks to the developers and experts out there who are making this possible.
 

GildroY

Senior Member
Oct 10, 2017
65
18
Flashed the Dot OS GSI today on my Note 10s and wanted to share some observations:

1. Should the fastboot command to flash the image :
Code:
fastboot.exe -u flash system your_gsi_rom_of_choice.img
contain '-u' or '--u' (single or double hyphen)?
That is, should it be:
Code:
fastboot.exe --u flash system your_gsi_rom_of_choice.img
?
Single hyphen did not worked for me on my ubuntu device.
Might be irrelevant for experts but for noobs like me, it caused some panic and delay :).

2. The 'Night Light' filter is not working as expected - even at the lowest setting, the screen remains pale orange-ish at best.

3. Jio (India) sim - calling is not working irrespective of which sim slot is used, whether data is enabled or disabled, other sim slot is occupied or vaccant - tried all possible permutations. Data is working though with Jio sim. This is a complete 'deal breaker' for me as Jio is the primary carrier.

Experts, please suggest in case any fixes are available for these issues.
Apologies in advance for verbiage and silly mistakes (if any).

Must mention that It is a delight to see stock, UN-bloated experience on such a promising hardware. Many thanks to the developers and experts out there who are making this possible.
Has anyone been able to enable VoLTE with any of the GSIs? Its not working for me with both Corvus as well as DotOS.
Looking for help/guidance.
 

GildroY

Senior Member
Oct 10, 2017
65
18
Has anyone been able to enable VoLTE with any of the GSIs? Its not working for me with both Corvus as well as DotOS.
Looking for help/guidance.
I was able to fix this !!!
VoLTE is working now !!!

Settings -> Phh Treble Settings -> IMS features
1. Install IMS APK for Mediatek R vendor -> click on it and manually install the downloaded APK file
2. Request IMS network (should be checked)
3. Force the presence of 4G Calling .. (should be checked)

Screenshot_20211221-003631945.jpg


Thats it.
Reboot and VoLTE will start working

Tested with JIO (India) - both data and calling working fine.
 

D4rkF4lcon

Member
Mar 26, 2015
15
1
CAMPOS DOS GOYTACAZES
I was not able to.
I downloaded Android GSI - ARM64 (https://www.drodontime.com/devices/arm64)

I unzipped the IMG file.
1) I executed:
Code:
fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta_a' (4 KB) OK [0.008s]
Writing 'vbmeta_a' OK [0.001s]
Finished. Total time: 0.039s

2)
Code:
fastboot.exe reboot fastboot

03) But, when running the code below, it gives an error.

Code:
fastboot.exe --u flash system dotOS-R-v5.2-arm64-ab-GAPPS-OFFICIAL.img
Resizing 'system_a'    FAILED (remote: 'Not enough space to resize partition')
fastboot: error: Command failed

When I try to use Vanilla IMG (without GAPPS), the following error occurs:

Code:
fastboot.exe --u flash system dotOS-R-v5.2-arm64-ab-VANILLA-OFFICIAL.img
< waiting for any device >
Resizing 'system_a'                                         OKAY [  0.004s]
Sending sparse 'system_a' 1/10 (262140 KB) OKAY [ 10.867s]
Writing 'system_a'    FAILED (remote: 'No such file or directory')
fastboot: error: Command failed

I have TWRP installed.
 
Last edited:

D4rkF4lcon

Member
Mar 26, 2015
15
1
CAMPOS DOS GOYTACAZES
I was not able to.
I downloaded Android GSI - ARM64 (https://www.drodontime.com/devices/arm64)

I unzipped the IMG file.
1) I executed:
Code:
fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta_a' (4 KB) OK [0.008s]
Writing 'vbmeta_a' OK [0.001s]
Finished. Total time: 0.039s

2)
Code:
fastboot.exe reboot fastboot

03) But, when running the code below, it gives an error.

Code:
fastboot.exe --u flash system dotOS-R-v5.2-arm64-ab-GAPPS-OFFICIAL.img
Resizing 'system_a'    FAILED (remote: 'Not enough space to resize partition')
fastboot: error: Command failed

When I try to use Vanilla IMG (without GAPPS), the following error occurs:

Code:
fastboot.exe --u flash system dotOS-R-v5.2-arm64-ab-VANILLA-OFFICIAL.img
< waiting for any device >
Resizing 'system_a'                                         OKAY [  0.004s]
Sending sparse 'system_a' 1/10 (262140 KB) OKAY [ 10.867s]
Writing 'system_a'    FAILED (remote: 'No such file or directory')
fastboot: error: Command failed

I have TWRP installed.

I got it.

I used miFlash to install the official ROM.
Then I successfully executed the commands as below.

Code:
Microsoft Windows [versão 10.0.19044.1415]
(c) Microsoft Corporation. Todos os direitos reservados.


C:\Windows\system32>cd C:\Xiaomi\platform-tools


C:\Xiaomi\platform-tools>fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta_a' (4 KB)                          OKAY [  0.008s]
Writing 'vbmeta_a'                                 OKAY [  0.001s]
Finished. Total time: 0.041s


C:\Xiaomi\platform-tools>fastboot.exe reboot fastboot
Rebooting into fastboot                            OKAY [  0.001s]
< waiting for any device >
Finished. Total time: 12.682s


C:\Xiaomi\platform-tools>fastboot.exe --u flash system dotOS-R-v5.2-arm64-ab-VANILLA-OFFICIAL.img
Resizing 'system_a'                                OKAY [  0.004s]
Sending sparse 'system_a' 1/10 (262140 KB)         OKAY [ 12.644s]
Writing 'system_a'                                 OKAY [  1.146s]
Sending sparse 'system_a' 2/10 (262140 KB)         OKAY [ 12.413s]
Writing 'system_a'                                 OKAY [  1.095s]
Sending sparse 'system_a' 3/10 (262140 KB)         OKAY [ 12.484s]
Writing 'system_a'                                 OKAY [  1.133s]
Sending sparse 'system_a' 4/10 (262140 KB)         OKAY [ 12.446s]
Writing 'system_a'                                 OKAY [  1.109s]
Sending sparse 'system_a' 5/10 (262140 KB)         OKAY [ 12.414s]
Writing 'system_a'                                 OKAY [  1.140s]
Sending sparse 'system_a' 6/10 (262140 KB)         OKAY [ 12.388s]
Writing 'system_a'                                 OKAY [  1.120s]
Sending sparse 'system_a' 7/10 (262140 KB)         OKAY [ 12.404s]
Writing 'system_a'                                 OKAY [  1.122s]
Sending sparse 'system_a' 8/10 (262140 KB)         OKAY [ 12.388s]
Writing 'system_a'                                 OKAY [  1.121s]
Sending sparse 'system_a' 9/10 (262140 KB)         OKAY [ 12.365s]
Writing 'system_a'                                 OKAY [  1.106s]
Sending sparse 'system_a' 10/10 (117804 KB)        OKAY [  5.505s]
Writing 'system_a'                                 OKAY [  0.592s]
Finished. Total time: 186.606s


C:\Xiaomi\platform-tools>fastboot.exe -w
Erasing 'userdata'                                 OKAY [  0.623s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Erasing 'metadata'                                 OKAY [  0.004s]
Erase successful, but not automatically formatting.
File system type raw not supported.
Finished. Total time: 0.669s


C:\Xiaomi\platform-tools>fastboot.exe reboot
Rebooting                                          OKAY [  0.001s]
Finished. Total time: 0.005s


C:\Xiaomi\platform-tools>
 

saier_io

New member
Jan 1, 2022
4
2
I flashed DotOs GSI correctly and I can confirm NFC works but, when I connect a bluetooth audio device, while it gets connected correctly, it fails to play audio: how can I fix this?

Edit: the only thing I liked about MIUI was that in order to unclock the phone, you could set it to both fingerprint AND pressing the button. How can i replicate that on DotOs?
 

Mino260806

Member
Oct 10, 2020
45
22
Huawei Y5 (2017)
Redmi Note 10S

Pre-flash info:​

  • Device name: Xiaomi Redmi Note 10S (secret)
  • Earlier rom: MIUI 12.5.15 (Global)
  • Rooted?: Yes

Tested image:​

  • Pixel Experience 12 Unofficial (phh v401)

Hardware Support post flashing​

ComponentComment
CameraQuality looks better than stock
Speaker/MicWorks, headphone jack requires a tiny tweak
BluetoothWorks
Wi-FiWorks
SIM/Mobile Data/ VoiceSim works but mobile data does not work
VoLTEDoes not work
FingerprintWorks
NFCNot tested
Offline ChargingWorks
Display Refresh rate60hz (same as before)
Screen BrightnessWorks like before after a small tweak
Volume scaleWorks fine
5GN/A
SafetyNet post root?Not tested
WideVine certification post flash and rootNot tested

Personal Notes:​

  • Native screenrecord causes device to freeze and crashes SystemUI. Third party screen recorders work fine tho so it's not a big problem.
  • Mobile data extremely rarely works.
  • System UI is very laggy, especially the app drawer [thanks @Redmi note 10s user]
  • Gcam camera quality looks better than stock, but photo view is very laggy (looks like 15fps) despite video is smooth. Also video shooting only works on main cam the other two are just black.
  • There is a noticeable performance drop in games and compile speed in AIDE.
  • ============================
  • There are many other bugs, most of them are fixable with little tweaks, but these are the most important for me and I didn't find a workaround yet.
After using this rom for about two weeks, I think I'm going back to stock (or LiteE). The features I miss the most are floating apps (there are some alternatives but they are not as practical as stock rom), and especially MOBILE DATA is important. Please tell me if mobile data has been fixed and I will consider coming back to this rom.
 
Last edited:
Feb 19, 2022
6
0
Works flawlessly except default screen recorder doesn't work and mobile data is a bit slower than normal.
Pretty sure rosemary and secret are the same because my is sometimes one of them and then the other.
 

majorbrain20

Member
Feb 23, 2022
5
0
By Following this guide, you will lose your warranty so keep that in mind before you begin. (Although you have probably already lost your warranty by unlocking the bootloader)

This guide will help you to flash any GSI (Project Treble) ROM onto your Redmi Note 10S, and since TWRP, or any custom recovery for that matter, is not yet available, we have to manually install the GSI roms using fastboot (and fastbootd because of the dynamic partition). The process is lengthy but not that difficult.

It should go without saying that you should backup everything and be prepared to lose your data and potentially soft-brick your phone and the experience with GSI roms is not always known to be stable (although I have not seen any such problems yet aside from a few easy-to-fix bugs) so do all of this at your own risk.

Important to note is that if at anytime you mess stuff up or delete partitions you weren't supposed to (whatever the guides may say, don't erase the product partition, it won't help, you're gonna end up in a bootloop) and soft-brick your phone, as long as you can access fastboot you can easily fix the problem by using the MiFlash tool which will help you get back to square one (you won't have to wait to unlock the bootloader again so don't worry about that)

Now, for the disclaimer:
DISCLAIMER: I'm an amateur in terms of tinkering with android stuff and phones in general. The process mentioned below has worked on my phone but I would still recommend waiting for someone more....experienced to weigh in his/her opinions. If you end up bricking your phone or if things go south, I'm not responsible, that's on you.

NOTE:
When I mention fastboot I'm referring to the standard "normal" fastboot and when I mention fastbootd, I'm referring to the dynamic/userspace fastboot which is different (which wiil be indicated by the fastboot screens during either of the modes)

I should mention that using this method I have been able to flash DotOS, Android 12 Beta 5, CorvusOS (my current daily driver) and in my daily driver (Corvus OS), It's passing SafetyNet and the WideVine certification is still at L1 even after rooting, however I have tested neither Google Pay nor Netflix, because I don't use either of them so your mileage may vary, however I did find Netflix in the play store so that is a bit encouraging ig.

Alright, with the appetizers out of the way, let's crack on to the main course:

PART 0: Requirements:-

Please ensure that the following requirements are met:
  • A Redmi Note 10S with an unlocked bootloader
  • OEM Fastboot driver and Fastbootd driver is installed
  • A preferred GSI rom (the file extension should be .img)
  • Being prepared to lose your data
  • Obtain android platform-tools along with knowledge about how to use it
  • Acceptance that the newly flashed GSI rom may/may not be completely stable.
  • Fastboot rom from here
If you have all that, you can move on to the next step

PART 1: Get Straight to Flashin':

This guide is rather straightforward because there really isn't much to it.

To begin with, extract the vbmeta.img from the Fastboot rom. Once you have done that, reboot your phone to fastboot mode.
Once the phone is in fastboot mode, on your computer, run the following command:
Code:
fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
to disable what is the android equivalent of window's secure boot

Once that is done, issue the following command:
Code:
fastboot.exe reboot fastboot
(No, there is no typo here, this is what needs to be done to enter the fastbootd mode, which is where the real fun begins)

Ensure that you are in fastbootd mode. The blue coloured "fastboot" text at the bottom will be replaced by a yellow coloured "fastbootd"

Okay, now for the most important command, type:
Code:
fastboot.exe -u flash system your_gsi_rom_of_choice.img

Done!

After this, don't forget to factory reset your device by:
Code:
fastboot.exe -w

Note: If you forget to do the factory reset, you're gonna end up with a frankenstein combination of your new and some configs of your previous rom, in this case reboot to bootloader (using power and volume down) and issue the factory reset command (fastboot -w)

And then for the toppings:
Code:
fastboot.exe reboot

That's.....about it. You should boot into your chosen rom. For the first time, the boot animation may stick around for a long time (5 minutes or more). However, if, even after an absurd amount of time (15-20), the rom doesn't boot up, try using MiFlash tool to get back to square one and try the whole process again.

Once it boots up, continue with the setup process and you will (hopefully) be at the home screen of your new rom.

PART 2: Le Bugs

Of course, no software is perfect and considering the especially ambitious nature of Project Treble, it is no surprise that you will encounter some bugs. 2 bugs in particular are the disabled headphone jack and the wonky brightness slider.

Here's how I fixed them in CorvusOS (most probably applies in other ROMs as well)

1. Disabled Headphone Jack:

Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
Through your computer, issue the following commands (one-by-one, don't copy-paste them):
Code:
adb shell
su
setprop persist.sys.overlay.devinputjack true
reboot

Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.

2. Brightness Slider Fix:

This one does not require any root. However, this does require that you can access the device specific customisations,

So, in my case, I had to go into {Device Name} Settings > Misc features and then tick the Force alternative backlight scale . Once you have done that, reboot and your brightness slider will be working properly again. Also, if you noticed sudden fluctuations after booting or when device goes to sleep earlier, that should all be fixed as well.


Conclusion:

At this point, you should be ready to rock the world along with your phone. Depending upon the rom you have chosen (DotOS for example), your widevine certification and safetynet may be compromised, even after trying out several fixes (which is what happened in my case). So if that happens to you, I suggest that you either change your rom, hunt around for some solutions or just, you know, live with it.
In my case, (As I mentioned before) I'm using CorvusOS where the widevine rating and safetynet are unaffected, with the latter requiring some special fixes.

Hope that helped. I look forward to hearing from you people about any recommendations or discussion. If you have any problem with the process or think that something may be wrong, post it in the replies and I'll be happy to get back to you (depending upon the time, of course
thanks for the post. pls any guide on downloading the corvus for the redmi note 10s. thanks in advance
 

safwan2011

New member
Oct 31, 2015
1
0
Redmi Note 10S
I have flashed indonesia stock rom via mi flash tool on my redmi note 10s india variant but google play is showing device is not certified.what would be the fix?Someone please help
 

majorbrain20

Member
Feb 23, 2022
5
0
Alright I followed this tutorial, fastbootd with twrp ( I have unofficial twrp installed ) said partition does not exist after flashing process it just booted me into stock rom?

Any fix? Pls
fastboot flash boot twrp.img
fastboot --disable-verification flash vbmeta vbmeta.img
you have to flash the boot and not the recovery, because the recovery partition is not navailable on the redmi note 10s.
 

Attachments

  • vbmeta.img
    4 KB · Views: 15

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    By Following this guide, you will lose your warranty so keep that in mind before you begin. (Although you have probably already lost your warranty by unlocking the bootloader)

    This guide will help you to flash any GSI (Project Treble) ROM onto your Redmi Note 10S, and since TWRP, or any custom recovery for that matter, is not yet available, we have to manually install the GSI roms using fastboot (and fastbootd because of the dynamic partition). The process is lengthy but not that difficult.

    It should go without saying that you should backup everything and be prepared to lose your data and potentially soft-brick your phone and the experience with GSI roms is not always known to be stable (although I have not seen any such problems yet aside from a few easy-to-fix bugs) so do all of this at your own risk.

    Important to note is that if at anytime you mess stuff up or delete partitions you weren't supposed to (whatever the guides may say, don't erase the product partition, it won't help, you're gonna end up in a bootloop) and soft-brick your phone, as long as you can access fastboot you can easily fix the problem by using the MiFlash tool which will help you get back to square one (you won't have to wait to unlock the bootloader again so don't worry about that)

    Now, for the disclaimer:
    DISCLAIMER: I'm an amateur in terms of tinkering with android stuff and phones in general. The process mentioned below has worked on my phone but I would still recommend waiting for someone more....experienced to weigh in his/her opinions. If you end up bricking your phone or if things go south, I'm not responsible, that's on you.

    NOTE:
    When I mention fastboot I'm referring to the standard "normal" fastboot and when I mention fastbootd, I'm referring to the dynamic/userspace fastboot which is different (which wiil be indicated by the fastboot screens during either of the modes)

    I should mention that using this method I have been able to flash DotOS, Android 12 Beta 5, CorvusOS (my current daily driver) and in my daily driver (Corvus OS), It's passing SafetyNet and the WideVine certification is still at L1 even after rooting, however I have tested neither Google Pay nor Netflix, because I don't use either of them so your mileage may vary, however I did find Netflix in the play store so that is a bit encouraging ig.

    Alright, with the appetizers out of the way, let's crack on to the main course:

    PART 0: Requirements:-

    Please ensure that the following requirements are met:
    • A Redmi Note 10S with an unlocked bootloader
    • OEM Fastboot driver and Fastbootd driver is installed
    • A preferred GSI rom (the file extension should be .img)
    • Being prepared to lose your data
    • Obtain android platform-tools along with knowledge about how to use it
    • Acceptance that the newly flashed GSI rom may/may not be completely stable.
    • Fastboot rom from here
    If you have all that, you can move on to the next step

    PART 1: Get Straight to Flashin':

    This guide is rather straightforward because there really isn't much to it.

    To begin with, extract the vbmeta.img from the Fastboot rom. Once you have done that, reboot your phone to fastboot mode.
    Once the phone is in fastboot mode, on your computer, run the following command:
    Code:
    fastboot.exe --disable-verity --disable-verification flash vbmeta vbmeta.img
    to disable what is the android equivalent of window's secure boot

    Once that is done, issue the following command:
    Code:
    fastboot.exe reboot fastboot
    (No, there is no typo here, this is what needs to be done to enter the fastbootd mode, which is where the real fun begins)

    Ensure that you are in fastbootd mode. The blue coloured "fastboot" text at the bottom will be replaced by a yellow coloured "fastbootd"

    Okay, now for the most important command, type:
    Code:
    fastboot.exe -u flash system your_gsi_rom_of_choice.img

    Done!

    After this, don't forget to factory reset your device by:
    Code:
    fastboot.exe -w

    Note: If you forget to do the factory reset, you're gonna end up with a frankenstein combination of your new and some configs of your previous rom, in this case reboot to bootloader (using power and volume down) and issue the factory reset command (fastboot -w)

    And then for the toppings:
    Code:
    fastboot.exe reboot

    That's.....about it. You should boot into your chosen rom. For the first time, the boot animation may stick around for a long time (5 minutes or more). However, if, even after an absurd amount of time (15-20), the rom doesn't boot up, try using MiFlash tool to get back to square one and try the whole process again.

    Once it boots up, continue with the setup process and you will (hopefully) be at the home screen of your new rom.

    PART 2: Le Bugs

    Of course, no software is perfect and considering the especially ambitious nature of Project Treble, it is no surprise that you will encounter some bugs. 2 bugs in particular are the disabled headphone jack and the wonky brightness slider.

    Here's how I fixed them in CorvusOS (most probably applies in other ROMs as well)

    1. Disabled Headphone Jack:

    Once you boot up the rom, you'll notice that the headphone jack will not work; the audio will only play on the speaker. To fix this one, you unfortunately need to root your phone (although that's not necessary, try looking into the Device Specific customisations of your rom).
    Through your computer, issue the following commands (one-by-one, don't copy-paste them):
    Code:
    adb shell
    su
    setprop persist.sys.overlay.devinputjack true
    reboot

    Your phone will now reboot and once it does, you will see that the headphone jack is functioning normally again.

    2. Brightness Slider Fix:

    This one does not require any root. However, this does require that you can access the device specific customisations,

    So, in my case, I had to go into {Device Name} Settings > Misc features and then tick the Force alternative backlight scale . Once you have done that, reboot and your brightness slider will be working properly again. Also, if you noticed sudden fluctuations after booting or when device goes to sleep earlier, that should all be fixed as well.


    Conclusion:

    At this point, you should be ready to rock the world along with your phone. Depending upon the rom you have chosen (DotOS for example), your widevine certification and safetynet may be compromised, even after trying out several fixes (which is what happened in my case). So if that happens to you, I suggest that you either change your rom, hunt around for some solutions or just, you know, live with it.
    In my case, (As I mentioned before) I'm using CorvusOS where the widevine rating and safetynet are unaffected, with the latter requiring some special fixes.

    Hope that helped. I look forward to hearing from you people about any recommendations or discussion. If you have any problem with the process or think that something may be wrong, post it in the replies and I'll be happy to get back to you (depending upon the time, of course)
    2

    Pre-flash info:​

    • Device name: Xiaomi Redmi Note 10S (secret)
    • Earlier rom: MIUI 12.5.15 (Global)
    • Rooted?: Yes

    Tested image:​

    • Pixel Experience 12 Unofficial (phh v401)

    Hardware Support post flashing​

    ComponentComment
    CameraQuality looks better than stock
    Speaker/MicWorks, headphone jack requires a tiny tweak
    BluetoothWorks
    Wi-FiWorks
    SIM/Mobile Data/ VoiceSim works but mobile data does not work
    VoLTEDoes not work
    FingerprintWorks
    NFCNot tested
    Offline ChargingWorks
    Display Refresh rate60hz (same as before)
    Screen BrightnessWorks like before after a small tweak
    Volume scaleWorks fine
    5GN/A
    SafetyNet post root?Not tested
    WideVine certification post flash and rootNot tested

    Personal Notes:​

    • Native screenrecord causes device to freeze and crashes SystemUI. Third party screen recorders work fine tho so it's not a big problem.
    • Mobile data extremely rarely works.
    • System UI is very laggy, especially the app drawer [thanks @Redmi note 10s user]
    • Gcam camera quality looks better than stock, but photo view is very laggy (looks like 15fps) despite video is smooth. Also video shooting only works on main cam the other two are just black.
    • There is a noticeable performance drop in games and compile speed in AIDE.
    • ============================
    • There are many other bugs, most of them are fixable with little tweaks, but these are the most important for me and I didn't find a workaround yet.
    After using this rom for about two weeks, I think I'm going back to stock (or LiteE). The features I miss the most are floating apps (there are some alternatives but they are not as practical as stock rom), and especially MOBILE DATA is important. Please tell me if mobile data has been fixed and I will consider coming back to this rom.
    1
    Make sure this is checked in Misc featuresView attachment 5541197
    OMG. IT WORKED! THANKS A LOT