[ROM][12L][AOSP] ArrowOS v12.1 OFFICIAL [RN8/8T][UNIFIED][WEEKLY]

Search This thread
I had chosen ArrowOS 11 because it had the App block which I think is a very important thing especially to increase the security of the banking or payment apps.
Please ask the developer if he could answer me about the possibility of having this function also on A12

Also I would like to ask users how they are with the battery drain, I have heard several rumors that the ROM is a bit battery-drain.

Thanks for the replies!
 

ShevT

Senior Member
Feb 1, 2011
774
1,502
Russia
Redmi Note 8
OnePlus 7T
Version 2022/01/19 - google pay not working

logcat:
Code:
01-20 14:36:50.555   480   480 E KeyMasterHalDevice: Finish send cmd failed
01-20 14:36:50.555   480   480 E KeyMasterHalDevice: ret: 0
01-20 14:36:50.555   480   480 E KeyMasterHalDevice: resp->status: -30
01-20 14:36:50.555   521  7666 E keystore2: keystore2::error: In KeystoreOperation::finish
01-20 14:36:50.555   521  7666 E keystore2:
01-20 14:36:50.555   521  7666 E keystore2: Caused by:
01-20 14:36:50.555   521  7666 E keystore2:     0: In finish: KeyMint::finish failed.
01-20 14:36:50.555   521  7666 E keystore2:     1: Error::Km(ErrorCode(-30))
01-20 14:36:50.556  3306 10395 W pcq     : cannot decrypt keyset:
01-20 14:36:50.556  3306 10395 W pcq     : javax.crypto.AEADBadTagException
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:611)
01-20 14:36:50.556  3306 10395 W pcq     :      at javax.crypto.Cipher.doFinal(Cipher.java:2113)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.pcr.d(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.pcr.a(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.pcp.e(:[email protected]@21.48.16 (100000-0):6)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.pcp.a(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.ivi.b(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.ivi.<init>(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.ivj.get(:[email protected]@21.48.16 (100000-0):4)
01-20 14:36:50.556  3306 10395 W pcq     :      at dagger.internal.DoubleCheck.get(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.hxa.a(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.fri.get(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at dagger.internal.DoubleCheck.get(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.fql.a(:[email protected]@21.48.16 (100000-0):7)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.okt.a(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.omv.next(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.okq.j(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.fqq.b(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.fqm.b(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.okq.j(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.fqq.b(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.fqq.a(:[email protected]@21.48.16 (100000-0):4)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.iyw.b(:[email protected]@21.48.16 (100000-0):49)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.drl.run(:[email protected]@21.48.16 (100000-0):15)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.odu.run(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.dkj.c(:[email protected]@21.48.16 (100000-0):6)
01-20 14:36:50.556  3306 10395 W pcq     :      at m.dkj.run(:[email protected]@21.48.16 (100000-0):7)
01-20 14:36:50.556  3306 10395 W pcq     :      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-20 14:36:50.556  3306 10395 W pcq     :      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-20 14:36:50.556  3306 10395 W pcq     :      at vuh.run(:[email protected]@21.48.16 (190400-420364950):0)
01-20 14:36:50.556  3306 10395 W pcq     :      at java.lang.Thread.run(Thread.java:920)
01-20 14:36:50.556  3306 10395 W pcq     : Caused by: android.security.KeyStoreException: Signature/MAC verification failed
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.KeyStore2.getKeyStoreException(KeyStore2.java:356)
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.KeyStoreOperation.handleExceptions(KeyStoreOperation.java:78)
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.KeyStoreOperation.finish(KeyStoreOperation.java:127)
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer$MainDataStream.finish(KeyStoreCryptoOperationChunkedStreamer.java:228)
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.keystore2.KeyStoreCryptoOperationChunkedStreamer.doFinal(KeyStoreCryptoOperationChunkedStreamer.java:181)
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.keystore2.AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer.doFinal(AndroidKeyStoreAuthenticatedAESCipherSpi.java:396)
01-20 14:36:50.556  3306 10395 W pcq     :      at android.security.keystore2.AndroidKeyStoreCipherSpiBase.engineDoFinal(AndroidKeyStoreCipherSpiBase.java:603)
01-20 14:36:50.556  3306 10395 W pcq     :      ... 30 more
01-20 14:36:50.558  3306 10395 E Pay     : Failed to create EncryptedData using Keystore encryption. [CONTEXT service_id=198 ]
01-20 14:36:50.558  3306 10395 E Pay     : m.rbs: Protocol message contained an invalid tag (zero).
01-20 14:36:50.558  3306 10395 E Pay     :      at m.qzq.k(:[email protected]@21.48.16 (100000-0):13)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.rcs.X(:[email protected]@21.48.16 (100000-0):42)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.rcs.i(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.qzq.f(:[email protected]@21.48.16 (100000-0):4)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.qzq.g(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.rcs.X(:[email protected]@21.48.16 (100000-0):37)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.rcs.i(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.rbf.s(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.rbf.p(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.pcp.e(:[email protected]@21.48.16 (100000-0):15)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.pcp.a(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.ivi.b(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.ivi.<init>(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.ivj.get(:[email protected]@21.48.16 (100000-0):4)
01-20 14:36:50.558  3306 10395 E Pay     :      at dagger.internal.DoubleCheck.get(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.hxa.a(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.fri.get(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at dagger.internal.DoubleCheck.get(:[email protected]@21.48.16 (100000-0):1)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.fql.a(:[email protected]@21.48.16 (100000-0):7)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.okt.a(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.omv.next(:[email protected]@21.48.16 (100000-0):0)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.okq.j(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.fqq.b(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.fqm.b(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.okq.j(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.fqq.b(:[email protected]@21.48.16 (100000-0):3)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.fqq.a(:[email protected]@21.48.16 (100000-0):4)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.iyw.b(:[email protected]@21.48.16 (100000-0):49)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.drl.run(:[email protected]@21.48.16 (100000-0):15)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.odu.run(:[email protected]@21.48.16 (100000-0):2)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.dkj.c(:[email protected]@21.48.16 (100000-0):6)
01-20 14:36:50.558  3306 10395 E Pay     :      at m.dkj.run(:[email protected]@21.48.16 (100000-0):7)
01-20 14:36:50.558  3306 10395 E Pay     :      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
01-20 14:36:50.558  3306 10395 E Pay     :      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
01-20 14:36:50.558  3306 10395 E Pay     :      at vuh.run(:[email protected]@21.48.16 (190400-420364950):0)
01-20 14:36:50.558  3306 10395 E Pay     :      at java.lang.Thread.run(Thread.java:920)
01-20 14:36:50.592  3306 10395 I Pay     : Found 0 smart tap valuables [CONTEXT service_id=198 ]
01-20 14:36:50.594  3306 10395 I Pay     : NFC Payments selection mode: 0 [CONTEXT service_id=198 ]
01-20 14:36:50.596  3306 10395 I Pay     : HCE enabled bits, default for payments category: true, default for Visa credit: true [CONTEXT service_id=198 ]
 

chrono_s3rge

Member
Mar 4, 2012
27
7
I've just installed A11 arrowos and I really like it. The only problem that bothers me is that after enabling gesture navigation and switching to a different launcher (nova) it keeps going back to arrow os launcher. Setting nova as default launcher doesn't work either.
 

Suuzuaw

Member
Sep 23, 2016
31
10
Santa Cruz
Hello, I wanted to know how the battery is doing in this rom, because I have noticed that in miui it spends more than 30% and when the phone is not used at night, thanks in advance
 

Joaoovn

Member
Aug 2, 2018
49
6
Hello, I wanted to know how the battery is doing in this rom, because I have noticed that in miui it spends more than 30% and when the phone is not used at night, thanks in advance
Pretty good, i've noticed that it consumes faster when battery is 100%-80%. My phone can survive a whole day with intense use (max bright, 3 to 5 hours of screen) and i still get to the end of the day with 21%.
 
  • Like
Reactions: Suuzuaw

Joaoovn

Member
Aug 2, 2018
49
6
Guys, i've been looking but i can't find the option to update the firmware. When i search on settings i got the Update result in Phone > About but when i tap it it got me stuck in About and doesnt show the Update option. Is this rom only updated by doing a dirty flash?
 

Uluru25

Senior Member
Nov 27, 2016
247
95
Samsung Galaxy S7
Samsung Galaxy A6
Guys, i've been looking but i can't find the option to update the firmware. When i search on settings i got the Update result in Phone > About but when i tap it it got me stuck in About and doesnt show the Update option. Is this rom only updated by doing a dirty flash?
I am not using this rom but usually fw updates are flashed from the custom recovery.
 

A1eEe

Member
Nov 19, 2021
10
0
I clean flashed this Rom yesterday and been using it for past 48 hours. I'm facing an issue which is, if you close an app it doesn't run in background and you won't recieve any new notifications unless you turn open the app. I checked the notification section and reset app preferences too but that didn't work either. The only thing thing that seems to be a temporary fix for this is to restart your device. But it happens again after sometimes when you reboot your device. Kindly help me with this
 

alexmaisa

Senior Member
Mar 8, 2016
181
42
Indonesia
Redmi Note 8
I clean flashed this Rom yesterday and been using it for past 48 hours. I'm facing an issue which is, if you close an app it doesn't run in background and you won't recieve any new notifications unless you turn open the app. I checked the notification section and reset app preferences too but that didn't work either. The only thing thing that seems to be a temporary fix for this is to restart your device. But it happens again after sometimes when you reboot your device. Kindly help me with this
You may check the battery optimization setting for each app you need to always run in the background. Change the option from "Optimize" to "Don't optimize".

But you shouldn't overdo it. It will drain the battery faster. Pick the most important apps.

I'm using Android 11 version for months, and never experienced that problem.
 
Last edited:

A1eEe

Member
Nov 19, 2021
10
0
You may check the battery optimization setting for each app you need to always run in the background. Change the option from "Optimize" to "Don't optimize".

But you shouldn't overdo it. It will drain the battery faster. Pick the most important apps.

I'm using Android 11 version for months, and never experienced that problem.
I'm aware of this but issue is no matter what you do or turn off the battery optimisation the notifications still won't show up. Tbh that was the first thing I tried when I first noticed that issue. Just for that reason I've reverted back to A11 for now until they fix it in their next update. Cz rn Arrow Os is the only stable and battery friendly A12 out there for Redmi Note 8.
 

scorpie67

Senior Member
Nov 26, 2010
214
59
Hi,

i restored a backup A11 today and forgot that I set a pin and fingerprint (included in the backup) and now if i insert the pin I get a blanck screen for some seconds and then I'm back where I was before. The pin is the right one. Using another one I get "wrong pin" massage.

How can this be fixed (if even possible)

Have to say I did a dirty flash to A12. The pin worked there, after going back to A11 not so. AHHHHHHHHHH
 

Lucas_Maximiliano

Senior Member
Apr 30, 2015
260
69
Hi,

i restored a backup A11 today and forgot that I set a pin and fingerprint (included in the backup) and now if i insert the pin I get a blanck screen for some seconds and then I'm back where I was before. The pin is the right one. Using another one I get "wrong pin" massage.

How can this be fixed (if even possible)

Have to say I did a dirty flash to A12. The pin worked there, after going back to A11 not so. AHHHHHHHHHH
In TWRP or similar find /data/system/locksettings*. * and delete it. This is the file that stores your lock setting. After this, just reboot and you will not have any lock. Re-set your favorite lock mode.
 

Josico14

New member
Feb 12, 2016
3
0
Redmi Note 8
Hi,

After trying to update the ROM via OTA (Arrow OS 12, 17/02 build) the update failed two times:
The first one, after clicking the install button in the Arrow OS update option, the phone restarted into the recovery but didn't load the update, I restarted into the system and everything looked fine. Downloaded the update again, and pushed the install button for second time.

This time the phone booted into the recovery and started installing the update, but during this process the update failed (?) and brought me to the main page of the recovery (btw I'm using OrangeFox recovery). I restarted again into system and the device doesn't boot. It get stuck in the Arrow Os animation.

How can I fix that?

I can't upload the update manually because the phone is encrypted and can't find it in the files (btw, I don't know where the update is located, if it's inside the root storage who isn't encrypted or inside the encrypted storage).

Thanks in advantage for your answers!

Update: I downloaded the update into the sd card and achieved install it (didn't make any wipe or anything, only installed the zip), but even though it installed correctly, the phone get stucked after the Arrow booting animation (the arrow fill in white and after a seconds the screen goes black, in this step I am able to long push the power button and get a rare bootings options, it seems like the options aren't optimized for the screen size and appears alls attached to the left, also they are functionally and let me shut off, reestart or block the screen). Probably need a clean install? How can I do that?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 9
    ArrowOS 12.1 official builds are now available.
    Download: Here

    (select version Arrow-12.1 -> Official)

    Changelog
    - Initial Android 12L release
    - May 2022 security patch
    - Updated MIUI blobs from V12.5.2.0.RCOMIXM
    - Upgraded telephony stack from QSSI 12
    - Upgraded adreno drivers from sm8450
    - Merged latest CAF tag in kernel
    - Misc optimizations and fixes.

    Clean flash (format data) is mandatory for those who are upgrading from ArrowOS 12.0 and has their internal storage encrypted. Future updates can be installed directly via OTA updater.

    Cheers and enjoy A12L!
    1
    Anyone know where the call recordings are saved? Can't seem to find them.
    I am on a different rom but maybe it's the same location
    1
    I'm using new 12.1 since 3 days ago. Really amazing battery thingy here 😱. Thank you very much dev @Adithya R 🥳🥳🥳

    Screenshot_20220512-051347_Settings.png
    1
    I was using Bing wallpaper app to change wallpaper daily. I think that was problem. I set a wallpaper manualy and Wallpaper and style is working properly.
    Thanks for your reply.
    Try google wallpaper. It works for me.
  • 38
    logo.png


    ArrowOS 12.1
    Redmi Note 8 (ginkgo) / 8T (willow)

    ABOUT
    ArrowOS
    is an AOSP/CAF based open source project started with the aim of keeping things simple, clean and neat, both for the Android system and users. We understand the pain of unnecessary and sometimes rarely used mods/features being shipped with custom roms nowadays which may end up causing battery drains and/or memory leaks & crashes. This is being strictly avoided on our side keeping everything to a bare minimum, delivering stable performance all the time without destroying the AOSP interface. With users getting more used to tweaks and features, we added just the right features and customisations that will be actually USEFUL at the end of the day.

    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

    More documentation at (maintainership/contributing): Check this out

    WHAT WORKS?
    • Almost everything (boots, RIL, calls/sms, mobile data, volte/vowifi, wifi, bluetooth, gps, audio, camera, fingerprint, DT2W, wifi display, NFC on willow, etc)

    WHAT DOESN'T WORK?
    • Fast charging on Chinese variant of Redmi Note 8
    • 48MP mode in MiuiCamera
    • You tell me
    Be sure to include logcat: check how to

    * MiuiCamera and XiaomiParts included
    * QuicksilveR kernel v2.5 included
    * Latest Android 11 firmware required
    * Encryption is enabled by default
    * SELinux is enforcing and SafetyNet passes
    * Ginkgo builds are unified for both ginkgo and willow.

    INSTRUCTIONS

    Clean flash (coming from a different ROM or arrow-11.0/12.0):
    • Download ROM from below
    • Reboot to recovery
    • Wipe data, cache, dalvik cache
    • Flash latest android 11 firmware (Ginkgo | Willow)
    • Flash ROM zip
    • Format data (if encrypted)
    • To disable auto encryption, flash DFE (optional)
    • Reboot and voila!
    • To get root access, reboot to recovery after ROM setup and flash Magisk.
    Updating to a newer build (dirty flash):
    Use the built-in OTA updater, or

    • Reboot to recovery
    • Wipe cache and dalvik cache
    • Flash ROM zip and magisk (optional)
    • Flash DFE (optional) to disable auto-encryption
    • Flash firmware update if required
    • Reboot and voila!
    DOWNLOADS
    Click here to Download

    Tip: Choose Arrow version -> Official, choose build type "GAPPS" or "VANILLA" to download.

    Read our blog article/post about:
    * HOW-TO report a bug
    * GAPPS and VANILLA variants
    * Checking build integrity

    ROM Source: https://github.com/ArrowOS
    Device Sources: https://github.com/ArrowOS-Devices

    XDA: DevDB Information
    ArrowOS, ROM for the Redmi Note 8

    Contributors
    Adithya R
    Source Code: https://github.com/ArrowOS-Devices/android_kernel_xiaomi_ginkgo

    ROM OS Version: Android 12
    ROM Kernel: Linux 4.14
    Based On: AOSP

    Version Information
    Status:
    Stable
    Firmware Required: Android 11
    12
    If anyone is interested, i have builded ArrowOS 11 (Gapps and Vanilla) for those dont like to move to ArrowOS 12.x for whatever reason, with latest source they've merged into arrow-11.0 branch like Feb 2022 security patch and other fixes you can found here , plus i have updated your MIUI vendor blobs to V12.5.2.0.RCOMIXM with a upstreamed QS 2.5 kernel to 4.14.275.

    10
    ArrowOS 12.0 official builds are out!
    Based on Android 12 (AOSP 12.0.0_r13)

    Download from here
    Select version Arrow-12.0 -> Official -> Gapps/Vanilla.

    Upgrading from ArrowOS 11
    - Boot into recovery
    - Wipe system, vendor, cache, dalvik, data
    - Flash latest android 11 firmware (Ginkgo | Willow)
    - Flash ROM zip
    - Format data (if encrypted)
    - To disable auto encryption, flash DFE (optional)
    - To get root access, flash Magisk (optional)
    - Reboot and voila!

    What's working?
    Almost everything (Boots, RIL, calls/sms, mobile data, volte/vowifi, wifi, bluetooth, gps, audio, camera, fingerprint, DT2W, wifi display, NFC on willow, etc)
    - MiuiCamera and XiaomiParts included
    - SELinux is enforcing and SafetyNet passes

    Known issues?
    - 48MP mode in MiuiCamera (won't work in android 12)
    - Fast charging on chinese Redmi Note 8 variants
    - Sometimes device will freeze & reboot while trying to shutdown, will be fixed soon.
    - You tell me! Report bugs with logcat

    Stop begging for Pixel-specific features, this is purely an AOSP ROM.
    Danny Lin (kdrag0n)'s custom monet theming engine is included.
    ROM will be updated on a weekly basis or when a critical bug fix is available.
    Enjoy Android 12!
    9
    ArrowOS 12.1 official builds are now available.
    Download: Here

    (select version Arrow-12.1 -> Official)

    Changelog
    - Initial Android 12L release
    - May 2022 security patch
    - Updated MIUI blobs from V12.5.2.0.RCOMIXM
    - Upgraded telephony stack from QSSI 12
    - Upgraded adreno drivers from sm8450
    - Merged latest CAF tag in kernel
    - Misc optimizations and fixes.

    Clean flash (format data) is mandatory for those who are upgrading from ArrowOS 12.0 and has their internal storage encrypted. Future updates can be installed directly via OTA updater.

    Cheers and enjoy A12L!
    9
    UPDATE!

    Arrow-v11.0-ginkgo-OFFICIAL-20210307
    https://arrowos.net/download/ginkgo

    Changelog
    - Updated stock blobs from MIUI 21.3.3
    - Updated CAF blobs from LA.UM.9.11.r1-02800-NICOBAR.0
    - Updated redfin fp to march (fixed safetynet)
    - Fixed camera freeze in some social media apps
    - Fixed camera lens switching delay
    - Fixed voip/mic issues in some apps
    - KCAL improvements in xiaomi parts
    - Added vibration strength control in xiaomi parts
    - Made notch cutout wider/smoother
    - Switched to new QTI thermal HAL
    - Attempted to fix screen blackouts under sunlight/heat
    - Disabled KPTI for performance improvement
    - Reduced readahead to 128kB to improve storage performance
    - GPS config optimizations and fixes
    - Tuned cpusets for better performance
    - Improved rounded corners and fixed hide cutout option
    - Switched to android userspace LMKD
    - Added support for willow hwversion 18.31.0
    - Improved zram read/write performance
    - Switched to QuicksilveR v2.5 kernel
    - Merged LA.UM.9.1.r1-09100-SMxxx0.0 CAF and v4.14.223 in kernel
    - Fast charging on chinese ginkgo variants maybe fixed
    - Misc optimizations and fixes

    Cheers and happy flashing!