# ~Edit: 11/1/2025, this guide may be outdated, I purchased an S23 Ultra in July and as such I haven’t kept up with the latest developments with Custom ROMs. I will leave the guide up in hopes that it’ll help someone, but I’d advise you not to use it as a step-by-step guide anymore, but rather as a reference, just incase some things have changed in the process. Good luck!
Hey there!
Exactly 5 months ago, I bought myself a Poco F3, not knowing that it would end up entirely changing my view of “what makes a smartphone good?”. Some of you may read this and think “I already know what makes a smartphone good! Processor good = Phone good” but unfortunately, like most things in life, it ain’t so simple. Like everyone, My phone and I had a bit of a honeymoon phase, I loved everything it did, I couldn’t see anything wrong with it, everything it did was perfect in my eyes! Well, that was the case for a total of a week, and then I starting noticing things here and there, stutters when leaving apps, bugs in multitasking, weird inconsistent battery life, system apps which don’t support 120hz, etc.
I joined this subreddit to ask for help, and realized that everyone hated MIUI and most people were on Custom ROMS. Here’s the thing, I was no stranger to custom ROMs, while I’d never used one, a friend of mine used to show me his phone (a Nexus 6) running Cyanogen Mod back in the day (may it rest in peace) and I thought it was amazing! I got amped up, I decided, that I was going to install a custom ROM, and I was going to LIKE IT. A moment later, my bubble burst, I realized I hadn’t the faintest clue of how to install one, and to my beginner mind, it seemed like some impossible task. Everywhere I looked for a guide I’d see weird words I didn’t understand, Custom Recovery, AOSP, CAF, Vendor, Partition, and the list goes on. I was crushed, was that it? Would my quest to install a custom ROM end there? No, I decided that if everyone else could do it, so could I!
DISCLAIMER: I am not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. YOU are choosing to make these modifications, and if you point a finger at me for messing up your device, I will laugh at you.
Since I know how it feels as a beginner, I decided to create a full guide which I wish I had starting out. This is going to be beginner friendly and explain things as simply as possible.
First things first, you have to unlock the bootloader, unlocking the bootloader allows you to make changes to the system and is necessary to flash a custom ROM. It’s a simple process really, all you need to do is create a MI account, and apply to unlock your bootloader, I followed a tutorial from a YouTube channel called “Munchy”, and [this](https://www.youtube.com/watch?v=ng5Lh2ejmY4) is the link for it, one thing you do need to note is that there’s a 7 day countdown the first time you unlock your bootloader, so take this time to do your research on ROMs, and download all the necessary files you need.
***\*Unlocking the bootloader will wipe your device, back up any data you need.\****
Next, I began to do my own research on ROMs to know which ones interested me the most, I found that lots of AOSP and general Google-like ROMS seemed brilliant to me, and one recommendation that I kept seeing was “ArrowOS”, before this I had never heard of ArrowOS, but it seemed cool, most people said that it had great battery, a smooth UI, great performance, and it was bloatware free. So the very first thing I did was download the latest version for my device from the official ArrowOS [website](https://arrowos.net/download), one thing you do need to note is that all devices have codenames, my device the Poco F3 has the code name “Alioth”, you’ll need to find out what the codename for your device is to know which version of the ROM to download.
***Please either download the ROM from the phone or move it to the phone afterwards, we need the file on the phone in order to flash it***
Once I had my ROM chosen and downloaded, the next thing I needed to do was figure out how exactly it’s meant to be installed, I found out that ArrowOS can be installed in two different ways, for simplicity, I’ll be explaining the TWRP method since most ROMs install using TWRP. So, what exactly is TWRP? TWRP is a custom recovery for android devices which allows us to install 3rd party software onto our devices. Each device has its own TWRP version, you can download the latest “stable” TWRP build for your device from [here](https://twrp.me/Devices/). So now we have both TWRP and the ROM downloaded, we can officially begin the process of installing the ROM. Please note that some ROMs may require an extra thing to be downloaded, so you’ll have to check the ROM’s website or XDA page to make sure.
First thing you need to do to install the ROM is download ADB onto your computer from [here](https://developer.android.com/studio/releases/platform-tools), once downloaded, unzip and place the TWRP file you downloaded earlier in the platform tools folder and rename the file “TWRP.img”.
Now for the actual process of installing the ROM, it’s a lot simpler than one would think, before this, we did nothing complicated either, all we did was download 3 files. Now you need to
1. Make sure your device is charged above 50-60%, please do not undergo the process if your battery percentage is lower than that to ensure that your battery does not die during the procedure.
2. Remove your screen lock, and all your google accounts from the device. ***THIS IS VERY IMPORTANT, BELIEVE ME, ITS NOT FUN TO GET LOCKED OUT OF YOUR DEVICE AND ACCOUNTS***
3. Connect your device to your computer with the charging cable and boot the device into fastboot mode, on the Poco F3, you boot into fastboot mode by holding the power and volume down keys simultaneously. Key combination may differ depending on the device.
4. Once booted into fastboot mode, open the Platform Tools folder on your computer, click on the address bar at the top of the file explorer, highlight it, erase the text and type “CMD” and enter. This is going to open a Command Prompt in the ADB folder. To make sure your phone is detected by your computer, type “fastboot devices” in the CMD window and press enter, if it detects a device, you can move on to the next step.
5. Now you need to type “fastboot boot TWRP.img” in the cmd window and press enter. Wait a few seconds and you should see that your phone has booted into TWRP mode.
6. When you boot into TWRP mode, click Wipe, Advanced Wipe, Select Dalvik and swipe to wipe. Next go back to the home page and click on install, choose the ROM file you previously either downloaded or moved to your device, if you downloaded it directly to your device, it will be in the downloads folder.
7. Once you choose the ROM file, don’t check/uncheck anything, leave it as it is, just make sure that the option “flash TWRP after install” is checked. It could be called something else depending on the device but you’ll know what it is. After you check it, swipe to flash, this will take a few minutes so don’t worry. You might get a bit of text in red about failing to mount certain partitions but those can be ignored.
8. After Flashing is complete, go back to the home screen, click reboot, reboot to recovery. Once you’ve booted to recovery again, click on wipe, format data, type “yes” and swipe to format data. You may also get text in red but that can be safely ignored.
9. Finally, click reboot, reboot to system, the first bootup will take a few minutes so be patient.
There you have it! How to flash a custom ROM onto your device. Of course, a few steps may differ depending on the ROM so make sure to do your research. These are the general steps to installing most ROMs. One thing I need to mention is that the YouTube channel “Munchy” is your best friend, very easy to follow guides. If you have any doubts you should watch one of his videos. Feel free to AMA in the comments below!
Happy Romming 🙂
Custom ROMs are probably always going to be safer than MIUI, due to a lack of trackers.
Yup! If worst comes to worst and you softbrick the device, you can use the Mi Flash Tool to restore to Stock MIUI!
It depends where you live, some regions void warranty others don’t. In either case if you ever need warranty service you can just go back to stock MIUI and lock the bootloader
Got the Xiaomi 11T (mediatek chipset) and I found out that many custom roms do not support it. Do you have any recommendations? I heard GSI roms may work for the 11T.
My phone is the Poco F3, works on it.
I’m surprised some ROMs are supported for it. Afaik Mediatek devices have no developer support at all. I’m sorry dude, that really sucks 🙁
Custom ROMs are objectively better than MIUI, not just in security
Hey. I’m sorry but I think you’re a little confused. Most custom ROMs DO infact support encryption. The only difference is that on a custom ROM, since you have your bootloader unlocked, a thief can just reflash the phone and use it as his own. But he definitely doesn’t have access to your data 🙂
1) Custom ROMs are much more stable than MIUI, miui is a horrible buggy experience.
2) As I replied on an earlier comment of yours Custom ROMs DO have encryption
3) Google Pay has not failed on any ROM I’ve tried apart from Lineage
You’re definitely wrong. Perhaps it used to be like that a while back, I really don’t know, but for Android 11 data doesn’t decrypt on TWRP unless you enter the password, and on Android 12 the only way to use TWRP is to not set a password to your device. I don’t mean any offense by this, just thought I had to inform you that your knowledge is probably somewhat outdated
check a previous reply. Your knowledge is somewhat outdated. Data is definitely encrypted
It is definitely possible my knowledge is outdated and it’s great if it is the case! Would be great if the encryption is the standard now.
Guys just an FYI for anyone on the post. We resolved this in another comment reply, don’t worry about your data, Android 11 and 12 ROMs definitely are encrypted 🙂
Xiaomi: excellent hardware for the price but the stock software is crap
Great guide thanks for that, however i have a Xiaomi mi 10t pro and Miui has been stable, and only minor bugs like you have on any phone really. Do not understand the “MIUI is terrible” crowd. Maybe it has to do with regions ? My previous Xiaomi was from the EU and my current one is from Thailand.
Minor bugs : Sometimes a notification sound is cut short, sometimes the quick toggles appear a little slow. Reboot phone once a week and no problems at all.
Custom roms from my own experience : A hassle to install, no original camera app, less battery life, more bugs, problems with banking apps
Previous phones : Oneplus 7 pro (horrible software), Samsung A70 (Slow slow) and a Mi 9 pro (great)
Which phones unlock easier than others?
The Mi a2 is easy but old.
Exactly why a custom ROM is necessary!
For me it’s the animations more than anything else. MIUI animations are very stuttery for me and it ruined the experience. It always reminded “oh I’m still on this shit OS”. It only got more clear when I went to Custom ROMs how much MIUI actually WAS hindering the experience.
Data is encrypted, some roms don’t even let you boot twrp to decrypt data they use AOSP recovery for the flashing, and they even don’t allow the usage of DFE to decrypt data.
Hey! I know that we personally resolved our issues but before that you were being somewhat aggressive.
You were the one with outdated Custom ROM knowledge in this scenario
Edit: You edited your reply to be less rude. I think that in itself shows that you know what you said was too aggressive
I’m pretty sure they all follow the same method.
I just noticed how they change unlock system, No need to wait 2 – 7 days.
right now, we can unlock bootloader within hour. just tried it with my poco f1 last month
No actually it’s still 7 days. But if you already unlocked the device / have a Mi account which has unlocked before then you don’t need to wait.
FYI my Mi A2 was just the fastboot unlock command.
Sounds like all the rest are the unlock through xiaomi thing with unpredictable wait times?
when i joined the LineageOS telegram group, everyone was like twrp isnt good, and that a lot of roms dont play well with it. I sitll have 4 days left before the bootloader unlock… im not sure what to do. whether to use twrp or follow rom specific instructions.
back when i had moto e 1st gen, there was no A, A/B partition stuff, just unlock, get code from motorola, flash twrp, install rom. but now things are getting so complex … 🙁
Ah. That’s a good point.
“xiaomi phones that don’t run mummy” can’t could be a line of enquiry
Thank you for the confirmation.
That’s some great news and awesome progress from few years ago, where encryption has to be forced manually in the fstab and was problematic in subsequent updates.
Here’s the thing, when I flashed LineageOS I did it with TWRP and had no issues, however Lineage Recovery is fine as well. I’d recommend all beginners use TWRP or OrangeFox because they’re the most convenient and beginner friendly
Very nice guide but the last time i tried to mod a phone (poco x3 nfc) i hardbricked my phone, i don’t know if i should mod my redmi note 10 pro i’m scared to hardbrick again 🙁
Believe it or not, Hardbricks are very very very rare and only occur if you seriously fuck up. Anyways I haven’t seen an actual Hardbrick in my entire life. The worst I’ve seen was fixable using EDL mode.
Give it a shot and follow instructions toe to toe.
Is it possible to use Google pay with any custom ROM? It seems to be that my MI 9 gets no update any longer.
Yes it is. I’ve only had problems with GPay on LineageOS
Hey there, I have a 10T Pro too, and I was on the same boat, MIUI was surprisingly stable for me. But coming from a Nokia and Poco F1 (Pixel Experience), I couldn’t get used to it. I tried Arrow OS, it’s amazing how stable the ROM is. I also regularly check their commits on [review.arrowos.net](https://review.arrowos.net) and it’s all very well documented. The installation took me around 30 min in total. And another 20 min to restore my phone’s apps and settings.
The battery life has been similar if not better than stock MIUI, none of my apps get killed in background and banking apps work completely fine. Netflix retains Widevine L1 and HDR on every ROM. And I always prefer the images from gcam over the MIUI camera. Video however is better on MIUI.
Banking apps aren’t an issue on most of the ROMs because they evade safetynet. Note that using custom ROM isn’t the same as rooting, rooting gets you into all sorts of trouble with banking apps. ArrowOS11 is by far the most stable custom ROM I’ve tried on any of the devices I’ve owned. For android 12, I would recommend hentaiOS, since other A12 roms for 10T Pro aren’t stable yet, because of Google’s source side mess-ups.
ahhh that makes sense, I knew they didn’t run MIUI I just didn’t know they had a different unlock process
Fine, sometime I will get me the stress to migrate. Yes lineage OS is gone worser, on my Samsung S3-5, and old tab it was the best.
Thank you for this comprehensive guide. I’ve applied for bootloader unlock and have about 3 days to go. I’ve decided to flash ArrowOS. I wanted to ask if ArrowOS supports face unlock, double tap on homescreen to lock the screen and ability to delete/disable certain google apps like chrome, google one, etc. Also, I’d like to know if you get the ability to disable internet access to each app. Currently, MIUI offers this ability only for certain 3rd party apps, which means there are some apps for which I just cant disable internet access. Once again, thanks a lot for your efforts.
Currently not on ArrowOS, but no it doesn’t have face unlock. I think it does have double tap to lock and if you want to delete/disable you might as well flash the Vanilla build and flash your Google apps seperately. Also, the internet access thing is there!
It’s possible disable Miravision from the Note 10S using a Custom ROM ?
Do you get Play Store in the Vanilla Build? Because if that’s missing, then it complicates everything. I dont know where I can download play store from 🙂
No that’s why you have to flash Gapps separately. Search it up. Its pretty easy dw.
not OP but I don’t think you can
OK. Then I think its best to go with gapps build and then remove some apps. Thanks for replying. You mind if I DM you after a few days (when I install custom ROM) in case I run into any problems?
Go for it!
Definitely. Its even better, go for it, you won’t regret it.
Tbh if you like Miui you might as well just flash Xiaomi.eu and chill. It’ll fix the stuttering animations in stock, get rid of the Poco Launcher in your case, and give you earlier updates. 0 downsides.
Yo OP,ive got 3 questions,which current custom ROM aside Arrow OS does support face unlock,which rank do you put Arrow OS among Pixel OS,xiomi eu and Lineage OS,does the data wipe happen straight after 7 days or nothing happen until you went into TWRP after applying for boot unlocking? Thx for replying!👍
Can you tell me if there is a built in app locker? Also, does it support external drives via OTG?
No built in app lock. But OTG is supported
I see. Thanks a lot for the fast reply.
Hi, only Android 11 Roms support Face Unlock so far, so don’t hold your breath expecting an Android 12 ROM with support anytime soon.
Pixel OS isn’t too good afaik, [Xiaomi.eu](https://Xiaomi.eu) is great, but I had some issues with Lineage tbh. I’d say Arrow is best out of these 3. However, Pixel Plus UI is pretty great as far as Pixel ROMs are concerned.
The wipe happens after you unlock the bootloader, you have to manually do it after the 7 days are up using the Mi Unlock Tool, it doesn’t happen automatically and TWRP definitely has nothing to do with this. Especially considering you can’t flash TWRP before the unlock occurs.
My recommendation for you is that since you seem like a beginner, I’d go with Pixel Plus UI or ArrowOS since they’re the most “complete” out of the box. My recommendation for the best ROM you could flash if you put some effort in is definitely still Miku UI, if you flash it, then flash GAPPs and the Pixel Launcher, and ROOT to get the ANXcamera then it is undoubtedly the best ROM I’ve ever tried.
Well done answered! Considering my device is RN7 3/32 variant,i shortlisted custom ROM into android 11 only and stable then.
Im not sure if i still a beginner but a xiomi device is new to me cause flashing a ROM on my 2016 j5 prime into Radical Quack ROM might give an experience though.
Im okay with rooting but my RN7 still a phone that i use on daily basis so ROM selection is important in my case.
I want to install pixel experience on my poco f3, but im just scared as shit that Ill brick my phone.. i watched a lot of tutorials on how to install roms and im pretty sure i know everything that i need to know but still…
up
Depends on the ROM, most of them do in fact have Dolby Atmos sound.
I had just flashed twrp. But when I open install on twrp, all I see are folders with random letters and numbers. I want to install magisk, but I am afraid that I might effed up something. Then the next time I open twrp after a reboot, I am back to stock recovery. It’s getting pretty frustrating. 😕
Aight, so you flashed Skkk TWRP, you’re gonna have to change the [language](https://www.droidwin.com/change-language-twrp-recovery/)! Enjoy
Thanks for the reply. But it is not the language. I think maybe it is encrypted? Not quite sure though. Sorry for the confusion.
Device?
Mi9t (DaVinci)
Are you on the stock ROM at the moment? If so which android version.
Yes. I’m at MIUI global 12.1.4, android version 11.
Weird. Are you on the latest official TWRP for your device? 3.6.1?
What to do for newly purchased phones? Should I not do software updates? If i used the phone before flashing ROMs, should i factory reset? thank you for this thread
No don’t worry about any of that. Use your phone normally, when you want to flash a ROM just follow the given steps.
Thank you. Can’t wait for my phone to arrive
I’ve read somewhere that TWRP doesnt have access to data partition when you are on android 12 or something meaning that I’d still have to use an OTG and a flash drive to transfer the rom file, is this still needed now? or has twrp updated or something like that and no longer need to do those steps and instead just copy it from the pc to the phone?
It depends on your device, I’m not sure about other devices, but the F3 has an unofficial version of TWRP, it’s called skkk TWRP, it works on Android 12 and 13 no problems. Just make sure you don’t have a passcode on your phone.
Best of Luck 🙂
Hello man thanks for responding, I see on the xda dev site that twrp has released a new update (3.7.0 iirc) and now includes android 12 decryption support or something, this means that I no longer need to use and otg and flashdrive or an sdcard right? i am using a poco x3 pro btw
If the TWRP for the X3 Pro is 3.7.0, then yes, you’re completely fine. Otherwise, find an unofficial recovery which supports A12 decryption for your device.
Thanks for the guide and I just wanna ask, do you still have to wait for 7 days before unlocking your device?
Yes unfortunately you do, I’ve heard some people got 3 days, but I have no idea why, it may be based on the region or device.
It’ll tell you how long it takes regardless, so just give it a try!
Hey there, few questions here
why there is no TWRP for Redmi note 9
in the 4th step you’ve said my device didn’t got detected. is there a solution for that?
Thank you. 🙂
Hey!
I took a look at your issue, and unfortunately the Redmi note 9 is not a Qualcomm phone, and thus has extremely limited Custom ROM capabilities (if any at all).
As for the device detection, if you still have any uses for ADB outside of custom ROMs, all you need to do is install the ADB drivers and you’ll be good to go!
Sorry I couldn’t give you any better news, I wish you luck on your journey 😉