NOTE: This app is currently in beta stage, meaning that the app is not bug-free, and stability may vary across devices. Future updates will improve on this!
Application Developer: ZeroInfinity, Profile Data Tuners: RogerF81, Mostafa Wael, Asiier
Helix Engine is an android application with an Accessibility Service which automates dynamic performance profile switching (battery/balanced/performance modes) to provide better efficiency, improve battery consumption and performance depending on your usage.
- Root (I think this is obvious but just in case it's not...)
- An ARM64-based (ARMv8) System-on-Chip/chipset/processor/CPU with big.LITTLE or DynamiQ (clustered CPUs)
- No other modifications which may tweak kernel tunables automatically (e.g. Advanced Kernel Tweaks, LSpeed, HEBF etc.)
- App Engine
Balanced - the default profile for apps that aren't in either Battery or Performance lists (normally newly installed apps). Apps that you think requires a decent amount of power, but not as much as the power intensive applications suitable for performance profile.
Performance - High-performance mode to enable buttery smooth gaming, as well as exceptional benchmark performance (if you are into that sort of thing). Also useful for very power intensive tasks like backup managers, file explorers (when transferring large files), media editing tools, camera apps, launchers (for fast app launches) etc.
Whitelist - Helix Engine will detect these apps and will avoid executing any scripts when they are in use. This prevents constant profile switching, very useful if you whitelist SystemUI (which becomes the top-app whenever you turn on the screen to the lockscreen, pull down the notification bar, or switching betwen recent apps. All which you will regularly use and it's just a waste of processing power to constantly switch whenever SystemUI is in the top-app group).
The engine detects which app is currently in use (in the top-app group), and will apply the profile's configuration according to the profile you've set the app to automatically.
For example, the battery profile's configuration is applied when an application that has been set to the battery profile has been detected as currently running. Apps set to balanced will apply the balanced profile's configuration. Apps set to performance will apply the performance profile's configuration. Apps set to whitelist will be ignored (i.e. no profile changes from the previous profile that was executed when the whitelisted app is in the top-app group).
- Applists Customization
When customizing app lists, each selection you make is saved in real time. You may backup your app lists in Settings for easy backup and restore (Premium feature) if you move devices or wipe app data.
- Profile Data Customization
For S835, S821, S820, Kirin 970 chipsets, the engine will load recommended pre-defined profile data for you. For every other device, you will need to configure each profile yourself as each chipset are different. There is a help card in each profile customization page to give you a general guideline of what you should be aiming for.
- Suspend Engine
- Over-execution prevention
Take this scenario for example. You set Facebook and Messenger both to battery. You launch Facebook and it becomes the top-application, battery profile's configuration will be applied. Then you switch to messenger via recent apps and messenger becomes the top-application, battery profile's configuration will not be applied again because it was already applied in the application that was top-application before. The combination of whitelisting SystemUI with this method significantly increases the efficiency of how the engine runs.
- [PREMIUM] Backup and Restore app lists
- [PREMIUM] Backup and restore profile data:
- [PREMIUM] View system apps
- [PREMIUM] Search function in App Lists
Known OEMs with Power Managers:
OnePlus Oxygen OS 5.1.x (and above) ROMs - Qualcomm CAF boost framework (DOWNLOAD FIX)
HTC Sense ROMs - HTC pnpmgr/CAF boost framework (DOWNLOAD FIX)
Huawei EMUI ROMs - perfgenius (DOWNLOAD FIX)
ZTE Stock ROMs - You must disable "Smart power-save" in Settings > Power manager
ATTENTION: Devices that have some sort of settings option to prevent apps from launching on boot: MAKE SURE YOU ALLOW HELIX ENGINE TO RUN ON BOOT OR ELSE THE SERVICE WILL NOT RUN AUTOMATICALLY!!!
For Huawei users: Settings > Battery > App Launch > switch off Helix Engine and tick everything for Manage Manually dialog
If your device has a power manager, the app can fix the problem automatically. However, PLEASE MAKE SURE YOU BACK UP YOUR SYSTEM AND VENDOR (for treble-enabled devices) PARTITIONS BEFORE PROCEEDING WITH THE FIX!!! YOU HAVE BEEN WARNED!
Join the Alpha Testing G+ Community here!
Official Helix Engine Debugging Tool
Database of pre-defined profile data and app lists
Massive thanks to Chris@Honor_USA for supplying me with a Honor View 10 to develop on! Without this, I would not be able to provide proper support for Kirin 970 chipsets!
Massive thanks to @RogerF81 for maintaining all of the scripts for Helix Engine and alpha/beta testing! Also inspiration for ideas
Thanks to @Mostafa Wael for encouraging me to jump to Oneplus, giving some ideas on improving the engine, and beta testing!
Thanks to @Asiier for integrating AKT with Helix Engine and helping us improve our scripts!
Thanks to @geko95gek for being a 32-bit ARM tester
Thanks to my team members at Team Helix for supporting me!
Thanks to @ivicask for giving me the idea of the concept for this engine before it was created. Without him, I wouldn't even have started this project. Also massive thanks to him for helping us with LMK tweaks, giving us pointers on what to improve!
Thanks to @AFAFontes for helping us improve and fix bugs with the scripts.
Thanks to anjlab for in-app billing library (Source)
Thanks to @topjohnwu for libsu library (Source)
Donations are completely optional and are always greatly appreciated: https://www.paypal.me/ZeroInfinityXDA