• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Development [ROM] [OFFICIAL] ArrowOS 11.0 [android-11.0][vayu/bhima]

Search This thread


Jul 6, 2016
I've just installed true the current official app with clean flash. fw as recommended. Works fine but Amazon app store crashes. Anybody else with this issue?


Oct 5, 2016
If you have time can you please report or post a screenshoot (like this) of cpu min-max clock with cpu-z or any other similar monitor app? Thank you.

i also flashed 2021/7/31 official version (dirty flash) yesterday through OTA, can't really remember my previous installed version but it was 7/23 or older, i'm on GLOBAL Firmware (installed a few weeks ago), here is my CPU-Z Screenshot:

Minimum clock speed is much lower than in your screenshot, is that what you meant? Is this "good"?

Everything else seems to work fine, i tested: WhatsApp, signal, pokemonGo, yt vanced, Gcam

Last edited:
  • Like
Reactions: kd276


Senior Member
Jun 14, 2021

i also flashed 2021/7/31 official version (dirty flash) yesterday through OTA, can't really remember my previous installed version but it was 7/23 or older, i'm on GLOBAL Firmware (installed a few weeks ago), here is my CPU-Z Screenshot:
View attachment 5376195
Minimum clock speed is much lower than in your screenshot, is that what you meant? Is this "good"?


Very good, they revert the scaling change to the stock values, thank you for the screenshoot, will install and try myself now.
  • Like
Reactions: Rod160


Senior Member
Jun 14, 2021
So, i'm testing it, noticed some minor bugs:
- Display statistics uwhile recharging the phone in the lock screen is no more, just fast charging with the %, no more volts, ampere and watts.

- The call recorder in dialer isn't here, is me or dev remove it?
How i can bring this back? Is possible to extract the app from the old version and reinstall here?

- USB debug option is not saved, at the next device reboot i need to activate it again.

- 2 tap wake-up do not work the first time i boot the device, need to press the power button, after working as should do.

- Downloading a file with DDGo is have the same name everytime.
Last edited:
  • Like
Reactions: Rod160


New member
Jan 30, 2019
Anyone know of a tutorial to make a full back up so you don't have to setup authenticators, apps and everything again?

Really don't understand why the 31st update would require a totally clean install... Might have to find another rom if this is common for Arrow to do.


Senior Member
Jun 14, 2021

Hi, how i can completely wipe my customized settings? Overwriting the new rom and doing a format data have not effect, some settings are still preserved. I don't want to mess up so i'm asking if there is a safe way to do so.

Remember that in my old N4 there were a /system dir, but it is missing here.
Last edited:


Senior Member
Jun 14, 2021
Really don't understand why the 31st update would require a totally clean install... Might have to find another rom if this is common for Arrow to do.

Right, latest builds have some bugs and stability issues that are a bit concerning, but i can give to the dev more time since he switch only a month ago to a cutom vendor. Best version still 07.09.2021.
Last edited:


Jan 22, 2009
I wanted to create an issue on Gitlab, but my access request is still pending.

I'm using Arrow-v11.0-vayu-OFFICIAL-20210709-GAPPS.zip. When I use the com.freestylelibre.app.nl app and scan my Abbot medical sensor's NFC, I directly get an error in the app.

"Scan error
The smartphone was unable to scan the sensor. Scan the sensor again. Make sure to keep the back of the smartphone close to the sensor. When you hear the first tone or vibration, keep the smartphone still until you hear the second tone or vibration."

In the stock rom this message was displayed after misplacing the smartphone while scanning. Scanning the NFC sensor again would solve the issue. This is not the case on ArrowOS. The error message is displayed directly while scanning (after two quick vibrations). This looks more like a communication error between NFC and the app.

I've attached two logcat files. One is of the problem and one is from a working environment (taken from a Xiaomi Note 8 Pro running the stock rom).

If there's anything else I can do, please let me know.

I tried debugging the app. However, as I couldn't get the source code I had to work with smali (for everything there is a first time).

My backup phone that doesn't have any problems is a Sony Z5 compact (running LineageOS 15.1). The app/NFC works as well on my wife's Xiaomi Note 8 Pro (running stock).

Below is the copied output of the java.io.IOException stacktrace value from debugging in Android Studio.

Does anybody have an idea how this can be fixed in this rom? Or what should be checked next?

java.io.IOException stackTrace = {StackTraceElement[43]@20851}
 0 = {[email protected]} "android.nfc.tech.BasicTagTechnology.connect(BasicTagTechnology.java:88)"
 1 = {[email protected]} "android.nfc.tech.NfcV.connect(NfcV.java:35)"
 2 = {[email protected]} "tr$a.connect(DefaultNfcOsFunctions.java:1)"
 3 = {[email protected]} "qta$a.connect(WrongLengthErrorNfcOsFunctions.java:1)"
 4 = {[email protected]} "ota$a.connect(LoggingNfcOsFunctions.java:3)"
 5 = {[email protected]} "kta$a.connect(FixedTransceiveTimeoutNfcOsFuntions.java:1)"
 6 = {[email protected]} "Xsa$a.connect(AnalyticsNfcOsFunctions.java:5)"
 7 = {[email protected]} "yr.a(DefaultNfcRfModule.java:11)"
 8 = {[email protected]} "yr.a(DefaultNfcRfModule.java:1)"
 9 = {[email protected]} "dwa$a.a(SensorModule.java:5)"
 10 = {[email protected]} "fEa.a(ScanSensorFragment.java:84)"
 11 = {[email protected]} "zDa.apply(Unknown Source:10)"
 12 = {[email protected]} "yRa$a.t(ObservableMap.java:4)"
 13 = {[email protected]} "jRa$a.t(ObservableDoOnEach.java:3)"
 14 = {[email protected]} "jRa$a.t(ObservableDoOnEach.java:3)"
 15 = {[email protected]} "jRa$a.t(ObservableDoOnEach.java:3)"
 16 = {[email protected]} "GRa.run(ObservableScalarXMap.java:2)"
 17 = {[email protected]} "xRa.c(ObservableJust.java:3)"
 18 = {[email protected]} "TPa.a(Observable.java:74)"
 19 = {[email protected]} "gRa.c(ObservableDefer.java:2)"
 20 = {[email protected]} "TPa.a(Observable.java:74)"
 21 = {[email protected]} "jRa.c(ObservableDoOnEach.java:1)"
 22 = {[email protected]} "TPa.a(Observable.java:74)"
 23 = {[email protected]} "jRa.c(ObservableDoOnEach.java:1)"
 24 = {[email protected]} "TPa.a(Observable.java:74)"
 25 = {[email protected]} "jRa.c(ObservableDoOnEach.java:1)"
 26 = {[email protected]} "TPa.a(Observable.java:74)"
 27 = {[email protected]} "yRa.c(ObservableMap.java:1)"
 28 = {[email protected]} "TPa.a(Observable.java:74)"
 29 = {[email protected]} "jRa.c(ObservableDoOnEach.java:1)"
 30 = {[email protected]} "TPa.a(Observable.java:74)"
 31 = {[email protected]} "yRa.c(ObservableMap.java:1)"
 32 = {[email protected]} "TPa.a(Observable.java:74)"
 33 = {[email protected]} "jRa.c(ObservableDoOnEach.java:1)"
 34 = {[email protected]} "TPa.a(Observable.java:74)"
 35 = {[email protected]} "LRa$b.run(ObservableSubscribeOn.java:1)"
 36 = {[email protected]} "ZPa$a.run(Scheduler.java:2)"
 37 = {[email protected]} "hSa.call(ScheduledRunnable.java:2)"
 38 = {[email protected]} "java.util.concurrent.FutureTask.run(FutureTask.java:266)"
 39 = {[email protected]} "java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)"
 40 = {[email protected]} "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)"
 41 = {[email protected]} "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)"
 42 = {[email protected]} "java.lang.Thread.run(Thread.java:923)"


New member
Jan 30, 2019
Right, latest builds have some bugs and stability issues that are a bit concerning, but i can give to the dev more time since he switch only a month ago to a cutom vendor. Best version still 07.09.2021.
I'm on July 23rd currently.

Trying to get Titanium Backup setup so I can make sure my stuff backs up correctly.

But from what I'm seeing on the thread here, I'm gonna wait till another update or 2 drop.

Wonder how the Silont kernel works with ArrowOS.


Senior Member
Jun 14, 2021
Does anybody have the 07-09 build they'd be willing to share with me? Or maybe I'm not looking in the right spot. Can't find it on the ArrowOS website.

07-29 has random lags versus the old one. Seen complaints about battery life as well, though it seems more or less the same to me.

Here there is a link to 07.09, but 07.09 do not have vendor, so i do not have idea the procedure to restore the stock vendor or if 07.09 work with this custom vendor.
Since installing the new firmware, I can no longer log into Spotify. In the last version that wasn't a problem. What I did after the clean install, only installed Magisk and Viper4Android, but I also installed that on the previous version.
Spotify says something went wrong. Try again later


i uninstalled magisk and now i can log into spotify. I had installed magsik 23 with the old firmware, why it no longer works with the new firmware I would be interested...
Last edited:


Senior Member
Jun 14, 2021
Flashing dirty over the 29-07 build does not work.

I'll just deal with the stuttering and test out the next build, unless I can figure out how to downgrade or decide to do a clean flash. Whichever comes first!

Otherwise, everything seems to be working well.

While you did it, i restore the original stock vendor using Xiaomi.eu MIUI from here. This rom do not overwrite TWRP on devices with bootloader unlocked.
I used this one:

Then i flashed via twrp, formata data, boot it (it took 5-6 minutes) to see if everything goes smooth, then reboot into TWRP again and flash arrowOS 07.09 again, format data, then flash magisk and complete the installation once boot up into the os.
Now is working all, all the missing features are back, is smooth and fast like before, all the bugs i had in the last build mentioned above disappeared, the scrolling while browsing the web is back smooth without stutters.

But, for an unknow reason, i lost the call recoding in the process, i reflashed the EEA official firmware from global but nothing. Need to find a way to restore this feature on the dialer, was usefull.

Sorry to say this, but these last version of ArrowOS are filled with micro bugs and performance issues that ruin, at least for me, the whole experience.
Last edited:
  • Like
Reactions: GarrettM98
I ended up flashing the 31-07 Official build over the 29-07 Community build (what I was experiencing lags on).

So far, so good. Notification shade and app switcher both run at 120 Hz, whereas before it was dropping down to 60.

As long as there's no major bugs, I'll stick with this build and report back if I find any issues after a few days. Only been using it for an hour.

Some comments were saying you need to do a clean install to flash 31-07;

My upgrade path was:
09-07 Official
25-07 (I think I said I was on 27-07 before)
Dirty flashed the entire way and it works.
If for any reason anybody wants any of these files, I will store them.

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    I updated #2 with a possible solution for users facing ghost touch problems in their units, this has nothing to do with ArrowOS; this is something at HW or FW level, people are able to fix it while rolling back to or firmware (you will need to boot full MIUI rom for them to do their magic on partitions)
    Even if MIUI fixes it in the latest releases, we might not know how as they do not publish changes made to their kernel source rather publish the base/initial sources only
    anyways, read more at the FAQ section in #2
    Just to be clear, I never faced these issues as I unlocked on the 7th day and never went to MIUI again nor flashed any other firmware, more than 98% of the users also do not face it at a regular basis. I have a bhima 8/128gb variant (Indian vayu with no NFC)
    Good luck
    A new update will soon be released (08-09-2021) will include:

    - Update blobs from V12.5.4.0.RJUMIXM
    - Bring back and switch to AOSP WFD implementation
    - Import remaining Xiaomi init script changes
    - Fix Ambient Display crash on clean installs
    - Misc changes and improvements

    - Merged September security patches
    - Full source changelogs here: https://arrowos.net/changelog.php

    - Requires MIUI 12.5 firmware (any region), but if you face issues with the latest firmware you can use or above (Remember you need to boot to that specific MIUI version first for MIUI to do its magic on firmware partitions before moving back to ArrowOS)
    - These builds include custom source compiled vendor and ODM partitions
    - Misc changes and improvements
    - See full device changes at: https://github.com/ArrowOS-devices?q=vayu

    kubersharma001: UPI: [email protected]

    For helping me test new changes to some feedbacks, I am usually active in my chat, you can join it here: https://t.me/kubersharma001chat

    New update is available!


    - Merge latest CAF tag on kernel (LA.UM.9.1.r1-11100-SMxxx0.0)
    - Migrate to libperfmgr power aidl hal (pixel power hal)
    - Add NotchBar killer (Can be seen in cutout menu in developer settings)
    - Update Brazillian translations in device settings
    - Cleanup init rc files/scripts
    - Sync init rc files/scripts from CAF 9.1.r1-10900 SMxxx0.0 tag
    - Cleanup unneeded blobs
    - Add missing vintf entries
    - Remove duplicate, irrelevant references in init rc files
    - Introduce raise to wake gesture
    - Enforce all RRO for all resource overlays
    - Remove QTI perfd, I/O prefetcher blobs, props in favor of moving to libperfmgr
    - Decrease minimum brightness value
    - Update SE policy rules
    - Synchronise some props from stock MIUI
    - Enable idle_state mechanism
    - Fix Clear speaker footer text issues
    - Add a summary for clear speaker and Dirac preferences
    - Zram/swap improvements
    - Move remaining device-side RROs to vendor partition
    - Misc changes and improvements

    ^ This is not a full changelog, please check device repositories (https://github.com/ArrowOS-devices?q=vayu) and source changelogs (https://arrowos.net/changelog.php) for all the changes made from the last date of update.

    UPI: [email protected]

    Support chat: https://t.me/kubersharma001
    New update will include the following changes:
    - Enable AOSP Sim toggle
    - Minor refresh rate improvement
    - Fix SafetyNet issues for all users
    - Fix GoogleCamera mod video recording issue
    - Allow all 4 rotations
    - Misc changes and fixes

    PayPal: https://www.paypal.com/paypalme/kubersharma001
    UPI: [email protected]
    who is developer of this ROM? will u fix brightness problem at next update and when? if no pls inform, i will move to lineage or crdroid, lowest brightness on arrow is trash
    Developer of this ROM definitely is not paid by Xiaomi themselfs and is not obliged to spend his valuable time to improve / fix stuff on a ROM that is voluntarily maintained, yet he does. Instead, be thankful that OP still improves upon an AOSP based ROM which X3 Pro is not designed for originally. Please do not ask for ETAs. If you have any problem about the ROM itself, follow this guide by OP: https://blog.arrowos.net/how-to-report-a-bug/
  • 49

    ArrowOS for POCO X3 PRO (vayu|bhima)

    is an AOSP/CAF based project started with the aim of keeping things simple, clean and neat.

    Website: https://arrowos.net
    Telegram: Channel | TG Portal/Links
    Github: https://github.com/ArrowOS
    Code Review: review.arrowos.net
    E-mail: arrowos.contact
    PayPal: Donate to us
    Blog: blog.arrowos.net

    Checkout more documentation at (maintainership/contributing): Check this out

    1. Audio
    2. Bluetooth
    3. Camera
    4. Dt2w
    5. Display
    6. Torch
    7. Battery/Notification LED
    8. Sensors
    9. Radio, data. networks (2g,3g,4g+volte,vowifi etc)
    10. Refresh rates(120,90,60)
    11. Headset port, charging ports, etc
    12. GPS/Location
    13. Almost everything?
    • ArrowOS ships with source compiled vendor and odm partitions.​
    1. You tell us.​
    Be sure to include a log: check how to

    Click here to Download
    Tip: Select OEM -> Device, choose Arrow version, choose the build type: "GAPPS" or "VANILLA" to download.

    • Remove any fingerprint, PIN, or password in MIUI
    • Unlock the bootloader
    • Transfer ROM to internal storage
    • Install any suitable recovery
    • Flash ROM zip file
    • Do a data wipe in recovery (format data)
    • Reboot to the system, wait and enjoy
    • Download via OTA Updater and let it automatically install; OR
    • Download an update, transfer to internal/external storage (always check file sha256)
    • Flash ROM zip and reboot.
    Read our blog article/post about:
    * HOW-TO report a bug
    * GAPPS and VANILLA variants
    * Checking build integrity

    ROM Source: https://github.com/ArrowOS
    Kernel Source: https://github.com/ArrowOS-Devices/android_kernel_xiaomi_vayu

    ROM Firmware Required: MIUI global or you can use any latest R firmware from your region as well (firmware only)
    Donate: https://www.paypal.me/kubersharma001
    UPI: [email protected]
    You can download ArrowOS Recovery if you like or use other 3rd party recoveries


    Tip: If you are new to custom ROMs, I would suggest taking a TWRP backup/partition backup (usually: persist, efs, firmware partitions, etc) saved in your cloud or computer.

    Q1: How can I update to a new update?
    A1: Flash ArrowOS recovery and download and install the update from the OTA Updater application OR Download from arrowos.net [codename: vayu] boot to TWRP and flash it; if you are using ArrowOS recovery, copy build zip to external storage (sdcard, USB otg etc) and install via "Apply system update option"
    If you are on PC, you can also use adb sideload while being on recovery

    Q2: Why is Mi8 (dipper)/walleye oreo or any other device's build fingerprint and desc props/values are used?
    : As most of the custom ROM users might be aware that SafetyNet cannot pass with devices own build fingerprint props due to the multiple checks or other aspects which is unknown, done by the OEM/Google which fails hence nowadays devices are generally spoofed with build fingerprint and description props of devices which passes CTS/SafetyNet like from a device with Android Oreo or Pre Android Oreo (walleye oreo; mi8 oreo, etc) or from latest Pixels (like redfin)
    This device as of now uses Mi8 (dipper) build fingerprint and description to pass SafetyNet!
    (In future release: It can change to Pixels or some other device too just to "Pass SafetyNet checks") hence don't consider this as some lame reason to spam or message about.

    Q3: Facing ghost touch issues on your device?
    This issue has been recognized by Xiaomi as a fault in their MIUI firmware, I am not yet sure if this is completely a hardware fault or just a firmware fault with specific variants
    I have an Indian 8/128 variant and I never faced such issues.
    Since Xiaomi does not release newer changes done to the kernel source, we are stuck with the initial R source release hence we don't know what changes they made to fix it on MIUI if they ever did
    But, some people have fixed ghost touch issues by :
    * Flashing MIUI full MIUI rom, booting to it, setup up everything (like registering the fingerprint, etc), and then moving to custom ROMs.

    [* Using 120hz? (not confirm but 2 users have suggested doing this has solved sluggish touch issues for them)]

    If this method works for you do not update firmware unless you are sure that will work
    This is not a global issue, only a limited number of people face it!
    Also, users have faced ghost touch issues on MIUI versions aswell, so this is not something custom from related! It is hardware/firmware level

    Do not report bugs with mods or custom kernels.

    You can chat with me on Telegram: https://t.me/kubersharma001chat
    Hey. just wanted to notify you all that I am going to remove the "Smart Charging" feature in future builds, Also I suggest using mods/ modules which simulate similar behavior as the smart charging feature IS NOT RECOMMENDED!

    A bunch of Xiaomi devices (at least vayu, surya etc for sure) (or lets say some QUALCOMM devices in general too) have somewhat buggy PMIC ( i.e Power Management IC) and facing the issue is rare in most scenarios (some can face it without using these features too) till you don't mess power_supply or anything related to PMIC mods or features like smart charging, idle state charging, those Magisk modules for smart charging like ACC or whatever can trigger the PMIC to bug out as well and in that case your battery will be drained, won't charge unless you reboot to bootloader till the time you can. If you don't do that and let it drain (which I remind you might be quicker than usual) it might just go DEAD.

    Ref: https://github.com/lybdroid/poco-x3-pro/issues/1

    Most people might not face the issue, but still, there is a chance, and let's not risk it. I would suggest avoiding draining your battery to 0.

    I am not saying the above-mentioned features or mods are bad or broken but there is a slight chance something bad can happen, so my removal of this feature on vayu is just a safe play till we know something better
    "Be safe than sorry"
    Fixes/Changes done for next build/update:
    - Yellow tint on screen
    - Lowers vibration intensity to a decent level
    - Force volume steps to 25 as some MIUI vendors are forcing this to insane 150 volume steps, yikes.
    - Fix Recents Overview sluggishness
    - Ship GCamGoPrebuilt instead of AOSP camera2
    - Other minor improvements and fixes.
    BTW, Incase anyone wasn't aware you can see last 24 hour active/installs statistics here:
    vayu is now under top10

    Changes for Next update:
    Fixed WFD showing green screen while casting to laptop