[03.04.2021][Systemless-Rom-Mod][V6][WW 17.0823.2102.143] Armoury Crate - Unleashed

Search This thread

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
1614879177544.png


Hello everyone,

I´m sure everybody that is using a ROG Phone 3 has explored the possibilities Armoury Crate provides for gaming. It yields a pleathora of settings and tweaks especially in the hardcore tuning mode.
Some of you might be more familiar and some might be less familiar with the tweaks that can be done.

But did you ever think about taking Armoury Crate to the next level? The options armoury crate provides are not only useful for gamers. In fact, Armoury Crate has the power to create a power/performance profile for apps that are regularly used as well.


Does Netflix, Amazon Prime Video or Youtube really need to run at 144FPS, while watching a video that was recorded at 30FPS or 60FPS.
Is it necessary that your navigation app runs at 144HZ and full unlocked CPU-Power?
Does your fitness tracking/navigation app need to run at 144HZ and full unlocked CPU-Power.
Is it possible to save a significant amount of battery life during video-calling by restricting CPU-Freqs for the Video-Calling app of your choice?
Might it be possible to not use the power-hungry prime core when using navigation or videocalling apps?
Might it be possible to run the currently displayed app only on the little cores?

Some might have already experimented in that direction. But it quickly becomes apparent that Armoury Crate in its current form is meant for games and this is not possible without facing major drawbacks.
As soon as an App is added to Armoury Crate there is a necessity for doing a double swipe to trigger a back gesture. This also works only on the right side of the phone.
The left side triggers Game Genie, the Game Assistant.
Unfortunately the same restriction applies to the home-gesture. Each time you want to trigger the home gesture- triggering the gesture a second time is mandatory.

The Conclusion:
Adding apps to Armoury Crate that are regularly used, is not convenient during day to day usage.


The solution to this problem is this Systemless-Rom-Mod (SRM) called Armoury Crate - Unleashed.
Since Magisk has grown to a full root and modding solution for Android, it also provides developers the possibility to replace only certain parts of a ROM in a systemless way via Magisk Modules. That means during boot certain parts of the stock firmware are systemlessly replaced, with parts that are modded by me. That means by flashing this Magisk Module your firmware is not altered, and you can just remove the module in Magisk Manager in case you want to return to stock.

Armoury Crate - Unleashed will allow you to use your phone and navigation gestures normally, when adding apps to armoury crate. It will also extend the possible settings in armoury crate.

Features this Systemless-Rom-Mod brings to you:

- remove the necessity for double swipe back gesture once an app is added to armoury crate
- remove the necessity for double home gesture once an app is added to armoury crate:
- remove game genie trigger from the left side of the screen once an app is added to armoury crate (it can still be accessed via the notification in the notification drawer)
- extend cpuset capabilities from armoury crate (you´ll find a more detailed explanation in the second post)



Download: https://www.androidfilehost.com/?w=files&flid=323785

Requirements:
- working magisk environment
- a ROG 3 running stock firmware WW 17.0823.2102.143

Instructions:

1. Make sure you´re running the firmware this mod is made for.
2. Download the Magisk Module from the download section above
3. Flash the Magisk Module in Magisk Manager App
4. Reboot
5. Profit

Changelog:
v1 Initial Release
v2 fix airtriggers
v4 add 10 taps per second option to airtriggers (use with caution, might be detected as cheating)
v5 add support for new firmware (17.0823.2102.143)
v6 fix bug with navigation gestures when using stock launcher from asus


For additional information or some possibilities this mod opens up be sure to take a look at post #2.
I´ll also try to explain some of the tunables found in the hardcore tuning mode, so they´re easier to understand.



Credits:
@topjohnwu for Magisk
@mikalovtch for advice
@j to the 4n for advice
@deadlyindian for the banner!
Asus for the ROG Phone 3 and givig me the opportunity to develop on the device!
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
Useful strategies on how to use this Mod

Short overview of the ROG Phone 3´s SoC:


The ROG Phone 3´s SoC is the SD865/+. The CPU is a little.Big.PRIME setup.
There are 8 cores
4x Cortex-A55 @ 1.80GHz --> the little cores. Very efficient cores using very little power. Not as performant as the other cores. (cores 0-3 translated to cpusets)
3x Cortex-A77 @ 2.42GHz --> The Big cores. The working horses of the SoC. Not as power-hungry as the PRIME-core, but still very performant (cores 4-6 translated to cpusets)
1x Cortex-A77 @ up to 3.09GHz --> The PRIME core. Power-hungry, extreme performance, peak performance, short bursts (core 7 translated to cpusets)

This architecture layout will become important later so keep it in mind.


General information explaining powerful Armoury Crate options:

This is a rough guideline. How to setup your own phone is up to you. I give examples you can try, but I encourage everyone to experiment. You might find that restricting CPU-Frequencies too severely in a specific app leads to stutters. Or that changing cpusets leads to slowdowns in this app as well. It´s about balance, your own preference and having the freedom to do what you want!

FPS tuning:
If you´re using video calling apps, navigation apps or streaming apps such as Netflix, Prime Video or Youtube you might want to reduce FPS to 60 or 90 in armoury crate.
This will save battery life for one part and will have better colours and gamma levels for video playback, especially on low brightness.

CPU-Frequency Tuning:
Go to performance tuning section, advanced hardcore tuning mode. Apps, such as videocalling apps, navigation apps or streaming apps don´t need access to extremely high CPU frequencies. Especially not from the big cluster and prime core.
Now think back to the architecture of the SoC.
Try experimenting by restricting the max cpu frequencies for the big cluster ( cpu_max_freq 4-6) and the prime core (cpu_max_freq 7).
Restricting the max freq for the big cluster from 2,4ghz to 1,67ghz will essentially cut the power draw in half, if the phone ramps up to the respective allowed max freq.
The same applies to the Prime-Core!
As a side effect this will also reduce heat and of course performance.
But it can prolong your battery life and reduce the heat your phone produces. Good example are hot climates, generally in summer during extended navigation sessions with navigation apps.

Tuning the cpusets:
This might be one of the most powerful options in armoury crate. Yet I think not many understand the purpose let alone what the value of the sliders mean.
But here we come back to the architecture layout of the SoC and the cpusets I briefly explained above.
Two settings are of importance for us here.
"dev/cpuset/top-app/cpus" and "dev/cpuset/foreground/cpus"

Here´s the linux-kernel documentation about cpusets: https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html

From that documentation:
Cpusets provide a Linux kernel mechanism to constrain which CPUs and Memory Nodes are used by a process or set of processes.

Tasks from the "top-app" group include always the currently displayed app on Android. The option "dev/cpuset/top-app/cpus" in Armoury Crate allows us to define, which CPUs this app´s tasks get scheduled to.
This creates the possibility to run the currently displayed app entirely on the little cluster (0-3) for example. Or on all cores (0-7).
It´s an extremely powerful setting.

Unfortunately you don´t see the cpusets displayed as 0-3, 0-7 or 0-6 in Armoury Crate.
By default you have only limited options on Armoury Crate: 15, 240 and 255.
These are decimal values, that represent the cpusets I explained above. Unfortunately this restricts most people from making use of this feature without any form of explanation from Asus.
Here´s a small table that explains the values, also the values I added additionally to armoury crate:

Small reminder: 0-3 are the little cores, 4-6 the big cores and 7 the prime core

255= 0-7 utilize all cores -> default for top-app and forground!
1 = 0 use only one little core of the little cluster -> not recommended, extreme powersaving but phone will stutter
3= 0-1 use two small cores of the little cluster -> great powersaving at the cost of performance, phone will probably stutter, use with caution
15= 0-3 use the little cluster only -> great powersaving, while utilizing the cores that require the least amount of energy
127 = 0-6 utilize the little cluster plus the big cluster, but NOT the Prime core -> saves power, with only a small performance loss during peak performance scenarios
240= 4-7 utilize only the big cluster plus the prime core!

This can be very useful, when using a fitness app to track cycling for example. There might be no need for the prime core in that case.
Try to set dev/cpuset/top-app/cpus to 127 for this app (maybe additionally to restricting the max_freq for big and prime cluster below 2ghz). Use your phone and see what happens.
If you want to save more power try also setting dev/cpuset/foreground/cpus to the same value as you did for top-app.


This is it for now, but I might add more options to this write-up at a later point in time.


Other Tips and Tricks:

System-Apps and Armoury Crate:

Some apps, like Google Maps can´t be added to Armoury Crate, because Armoury Crate only allows adding apps installed by the user.
However there is a trick to this. Get the Magisk-Module "Debloater (Terminal Emulator)" from the Magisk Repo.
Now you can systemlessly remove Google Maps from your Phone. Do a reboot. Clear cache from Armoury-Crate and re-install Google Maps from the PlayStore.
You´re able to add Google Maps to Armoury Crate now.
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
FAQ:

Q: The mod is not working for me after flashing via Magisk Manager and doing a full reboot.
A: The mod modifies systemui. Make sure you´re not having systemui, focusapplistener, gamebroadcaster, asuslauncher or any other apps hidden in Magisk Manager. You shouldn´t hide those anyways.
If you´re not hiding those you´re probably using modules that alter the appearance of the phone, by modifying systemui. Remove those mods and reflash Armoury Crate - Unleashed.

Q: How to access Game Genie, now that the left side swipe is mapped to the back gesture?
A: You can find the notification for Game Genie in the notification drawer. That will take you to the game genie settings.
 
Last edited:
  • Like
Reactions: killerdvd

Mrkara13

Member
May 16, 2019
19
1
man, you are doing very successful work. I always follow. please let's fix this gpu mhz upgrade. I believe you can do this. They get 905mhz with adreno 650. I'm ready for 645
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
double swipe back
double swipe home

I have no idea why it is not working for you. It´s not related to the kernel, as I´m running my kernel myself.
Maybe you´re using another mod that is conflicting? What other modules do you use?

I´m about to upload V2, which fixes airtriggers.


To troubleshoot, can you remove the module again and do a full reboot please.
Then flash V2 again and see if it´s working afterwards.

If it´s not working go to terminal or adb shell. then type

su

press enter and grant superuser permission on your phone.

afterwards type:

cd data/adb/modules/Armoury_Crate_Unleashed/

then type:

ls */*/*

and show me the output.

Link to V2:
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040

You rebooted after flashing the module correct?
The module flashed fine, the files should be in the correct place.

Which other mods do you use?
 
You rebooted after flashing the module correct?
The module flashed fine, the files should be in the correct place.

Which other mods do you use?
yes ,rebooted good
another modules magisk? many
now disabled all modules magisk and your module not working =\ need double swipes

I found the cause of the problem
need magisk unhided com.asus.launcher com.android.systemui

is now all OK!
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
yes ,rebooted good
another modules magisk? many
now disabled all modules magisk and your module not working =\ need double swipes

I found the cause of the problem
need magisk unhided com.asus.launcher com.android.systemui

is now all OK!

Good, nice to hear :)

is there a special reason why you put those two apps on the magisk hide list?

You should really only put apps that are conflicting with safety net, like banking apps and the play services that are pre-selected there.
 
Good, nice to hear :)

is there a special reason why you put those two apps on the magisk hide list?

You should really only put apps that are conflicting with safety net, like banking apps and the play services that are pre-selected there.
it is very difficult to hide the white strip at the bottom of the screen, only one module could do this only if you hide the root for systemui
but now it can be done lsposed+gravitybox without magiskhide
 

Attachments

  • Screenshot_20210304-230523500 (1).jpg
    Screenshot_20210304-230523500 (1).jpg
    469.9 KB · Views: 222

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
it is very difficult to hide the white strip at the bottom of the screen, only one module could do this only if you hide the root for systemui
but now it can be done lsposed+gravitybox without magiskhide

I see. Didn´t know such a mod existed. Glad you find out. Have fun with armoury crate unleashed now ;)
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
I´d recommend everybody to upgrade to V2, which can be found in downloads in the OP!
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
6,441
23,040
Added a short FAQ to the third post.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    1614879177544.png


    Hello everyone,

    I´m sure everybody that is using a ROG Phone 3 has explored the possibilities Armoury Crate provides for gaming. It yields a pleathora of settings and tweaks especially in the hardcore tuning mode.
    Some of you might be more familiar and some might be less familiar with the tweaks that can be done.

    But did you ever think about taking Armoury Crate to the next level? The options armoury crate provides are not only useful for gamers. In fact, Armoury Crate has the power to create a power/performance profile for apps that are regularly used as well.


    Does Netflix, Amazon Prime Video or Youtube really need to run at 144FPS, while watching a video that was recorded at 30FPS or 60FPS.
    Is it necessary that your navigation app runs at 144HZ and full unlocked CPU-Power?
    Does your fitness tracking/navigation app need to run at 144HZ and full unlocked CPU-Power.
    Is it possible to save a significant amount of battery life during video-calling by restricting CPU-Freqs for the Video-Calling app of your choice?
    Might it be possible to not use the power-hungry prime core when using navigation or videocalling apps?
    Might it be possible to run the currently displayed app only on the little cores?

    Some might have already experimented in that direction. But it quickly becomes apparent that Armoury Crate in its current form is meant for games and this is not possible without facing major drawbacks.
    As soon as an App is added to Armoury Crate there is a necessity for doing a double swipe to trigger a back gesture. This also works only on the right side of the phone.
    The left side triggers Game Genie, the Game Assistant.
    Unfortunately the same restriction applies to the home-gesture. Each time you want to trigger the home gesture- triggering the gesture a second time is mandatory.

    The Conclusion:
    Adding apps to Armoury Crate that are regularly used, is not convenient during day to day usage.


    The solution to this problem is this Systemless-Rom-Mod (SRM) called Armoury Crate - Unleashed.
    Since Magisk has grown to a full root and modding solution for Android, it also provides developers the possibility to replace only certain parts of a ROM in a systemless way via Magisk Modules. That means during boot certain parts of the stock firmware are systemlessly replaced, with parts that are modded by me. That means by flashing this Magisk Module your firmware is not altered, and you can just remove the module in Magisk Manager in case you want to return to stock.

    Armoury Crate - Unleashed will allow you to use your phone and navigation gestures normally, when adding apps to armoury crate. It will also extend the possible settings in armoury crate.

    Features this Systemless-Rom-Mod brings to you:

    - remove the necessity for double swipe back gesture once an app is added to armoury crate
    - remove the necessity for double home gesture once an app is added to armoury crate:
    - remove game genie trigger from the left side of the screen once an app is added to armoury crate (it can still be accessed via the notification in the notification drawer)
    - extend cpuset capabilities from armoury crate (you´ll find a more detailed explanation in the second post)



    Download: https://www.androidfilehost.com/?w=files&flid=323785

    Requirements:
    - working magisk environment
    - a ROG 3 running stock firmware WW 17.0823.2102.143

    Instructions:

    1. Make sure you´re running the firmware this mod is made for.
    2. Download the Magisk Module from the download section above
    3. Flash the Magisk Module in Magisk Manager App
    4. Reboot
    5. Profit

    Changelog:
    v1 Initial Release
    v2 fix airtriggers
    v4 add 10 taps per second option to airtriggers (use with caution, might be detected as cheating)
    v5 add support for new firmware (17.0823.2102.143)
    v6 fix bug with navigation gestures when using stock launcher from asus


    For additional information or some possibilities this mod opens up be sure to take a look at post #2.
    I´ll also try to explain some of the tunables found in the hardcore tuning mode, so they´re easier to understand.



    Credits:
    @topjohnwu for Magisk
    @mikalovtch for advice
    @j to the 4n for advice
    @deadlyindian for the banner!
    Asus for the ROG Phone 3 and givig me the opportunity to develop on the device!
    5
    1617469296498.png


    Hey guys and girls,

    Armoury Crate - Unleashed V6 is here. It´s created for firmware WW ASUS_I003_1-17.0823.2102.143. So make sure to run this firmware before flashing the update.

    Thanks to @jomaryyy @tuxing a bug with the hacked navigations gestures, which I introduced when porting the mod to the .143 firmware, when running stock asus launcher could be located and fixed.



    Download: https://www.androidfilehost.com/?fid=2188818919693774913
    4
    Useful strategies on how to use this Mod

    Short overview of the ROG Phone 3´s SoC:


    The ROG Phone 3´s SoC is the SD865/+. The CPU is a little.Big.PRIME setup.
    There are 8 cores
    4x Cortex-A55 @ 1.80GHz --> the little cores. Very efficient cores using very little power. Not as performant as the other cores. (cores 0-3 translated to cpusets)
    3x Cortex-A77 @ 2.42GHz --> The Big cores. The working horses of the SoC. Not as power-hungry as the PRIME-core, but still very performant (cores 4-6 translated to cpusets)
    1x Cortex-A77 @ up to 3.09GHz --> The PRIME core. Power-hungry, extreme performance, peak performance, short bursts (core 7 translated to cpusets)

    This architecture layout will become important later so keep it in mind.


    General information explaining powerful Armoury Crate options:

    This is a rough guideline. How to setup your own phone is up to you. I give examples you can try, but I encourage everyone to experiment. You might find that restricting CPU-Frequencies too severely in a specific app leads to stutters. Or that changing cpusets leads to slowdowns in this app as well. It´s about balance, your own preference and having the freedom to do what you want!

    FPS tuning:
    If you´re using video calling apps, navigation apps or streaming apps such as Netflix, Prime Video or Youtube you might want to reduce FPS to 60 or 90 in armoury crate.
    This will save battery life for one part and will have better colours and gamma levels for video playback, especially on low brightness.

    CPU-Frequency Tuning:
    Go to performance tuning section, advanced hardcore tuning mode. Apps, such as videocalling apps, navigation apps or streaming apps don´t need access to extremely high CPU frequencies. Especially not from the big cluster and prime core.
    Now think back to the architecture of the SoC.
    Try experimenting by restricting the max cpu frequencies for the big cluster ( cpu_max_freq 4-6) and the prime core (cpu_max_freq 7).
    Restricting the max freq for the big cluster from 2,4ghz to 1,67ghz will essentially cut the power draw in half, if the phone ramps up to the respective allowed max freq.
    The same applies to the Prime-Core!
    As a side effect this will also reduce heat and of course performance.
    But it can prolong your battery life and reduce the heat your phone produces. Good example are hot climates, generally in summer during extended navigation sessions with navigation apps.

    Tuning the cpusets:
    This might be one of the most powerful options in armoury crate. Yet I think not many understand the purpose let alone what the value of the sliders mean.
    But here we come back to the architecture layout of the SoC and the cpusets I briefly explained above.
    Two settings are of importance for us here.
    "dev/cpuset/top-app/cpus" and "dev/cpuset/foreground/cpus"

    Here´s the linux-kernel documentation about cpusets: https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html

    From that documentation:
    Cpusets provide a Linux kernel mechanism to constrain which CPUs and Memory Nodes are used by a process or set of processes.

    Tasks from the "top-app" group include always the currently displayed app on Android. The option "dev/cpuset/top-app/cpus" in Armoury Crate allows us to define, which CPUs this app´s tasks get scheduled to.
    This creates the possibility to run the currently displayed app entirely on the little cluster (0-3) for example. Or on all cores (0-7).
    It´s an extremely powerful setting.

    Unfortunately you don´t see the cpusets displayed as 0-3, 0-7 or 0-6 in Armoury Crate.
    By default you have only limited options on Armoury Crate: 15, 240 and 255.
    These are decimal values, that represent the cpusets I explained above. Unfortunately this restricts most people from making use of this feature without any form of explanation from Asus.
    Here´s a small table that explains the values, also the values I added additionally to armoury crate:

    Small reminder: 0-3 are the little cores, 4-6 the big cores and 7 the prime core

    255= 0-7 utilize all cores -> default for top-app and forground!
    1 = 0 use only one little core of the little cluster -> not recommended, extreme powersaving but phone will stutter
    3= 0-1 use two small cores of the little cluster -> great powersaving at the cost of performance, phone will probably stutter, use with caution
    15= 0-3 use the little cluster only -> great powersaving, while utilizing the cores that require the least amount of energy
    127 = 0-6 utilize the little cluster plus the big cluster, but NOT the Prime core -> saves power, with only a small performance loss during peak performance scenarios
    240= 4-7 utilize only the big cluster plus the prime core!

    This can be very useful, when using a fitness app to track cycling for example. There might be no need for the prime core in that case.
    Try to set dev/cpuset/top-app/cpus to 127 for this app (maybe additionally to restricting the max_freq for big and prime cluster below 2ghz). Use your phone and see what happens.
    If you want to save more power try also setting dev/cpuset/foreground/cpus to the same value as you did for top-app.


    This is it for now, but I might add more options to this write-up at a later point in time.


    Other Tips and Tricks:

    System-Apps and Armoury Crate:

    Some apps, like Google Maps can´t be added to Armoury Crate, because Armoury Crate only allows adding apps installed by the user.
    However there is a trick to this. Get the Magisk-Module "Debloater (Terminal Emulator)" from the Magisk Repo.
    Now you can systemlessly remove Google Maps from your Phone. Do a reboot. Clear cache from Armoury-Crate and re-install Google Maps from the PlayStore.
    You´re able to add Google Maps to Armoury Crate now.
    2
    How to update firmware after unlocking bootloader? I'm stucked on 2012.122 and I want this module so bad.
    1. Download and flash TWRP

    1.1 Download the twrp.img file for ROG Phone 3 and flash it to the recovery in fastboot

    2. Flash the firmware and install magisk (detailed steps are as listed below)

    2.1 Download the latest firmware file from ASUS

    2.2 Flash the firmware.zip file to both the A and B slots in the install section of TWRP (the sideload feature is broken so just copy the file into the internal storage of the phone and flash the firmware from there)

    (in my case, I had to patch twrp again to flash the firmware to my B slot as the stock recovery was flashed during my A slot firmware flash)

    2.3 Extract the boot.img from the payload.bin file inside the firmware.zip on your computer (follow the instructions by https://gist.github.com/ius/42bd02a5df2226633a342ab7a9c60f15)

    (one side note is that I had to use python from the Microsoft store to work as the one from their site didn't integrate into PowerShell)

    2.4 Patch the boot.img file which was extracted in the last step using the latest version of the Magisk app

    2.5 Patch the magisk_patched.img to both the A/B slots

    3. Flash the Armoury Crate Unleashed V5 from Magisk and you're done

    Sorry if this was too long and that it repeated some things, I just want to make it beginner friendly so that more people would join the community.

    P.S. In my experience (for V4), this mod didn't work with the stock kernel but worked fine when I flashed the Kirisakura kernel.

    Thanks so much to Freak07 for doing such a spectacular job on this, I know this community may be a little abrasive but we all respect and appreciate your hard work :)
    2
    20210306_122730.jpg


    Armoury Crate - Unleashed V4 is here,

    added back the ability to set up to 10 taps per seconds for airtriggers. Early firmware of ROG3 had this feature included to airtriggers. It was removed because some games can identify/detect such rapid consecutive touches as cheating. Use with caution.
    XDA and Android is about having options, that´s why I decided to bring this option back.

    Screenshot:
    Screenshot_20210306-095900585.jpg



    Screenrecord:



    Download: https://www.androidfilehost.com/?fid=2188818919693748122