Email Thread
OP Recognized Developer
Brighton & Hove
Thanks Meter: 14,234
 
Donate to Me
More

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

Helix Engine is 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.

For premium users, it integrates the use of Machine Learning to automatically adjust each tunable to the recommended value, which is calculated from the most common tunable used from people who have opted-in for the User Experience Program.






- Root (I think this is obvious but just in case it's not...)
- An ARM (32-bit ARMv7) or ARM64 (64-bit ARMv8) chipset
- Android 7.0 or above
- No other modifications which may tweak kernel tunables automatically (e.g. Advanced Kernel Tweaks, LSpeed, HEBF etc.)






- [PREMIUM] Machine Learning Mode
A completely new feature for Helix Engine v3! When users enable the User Expeirence Mode, their profile data and app engine data will be uploaded to a server. An algorithm will calculate the most popular values for each tunable and will adjust the recommended value accordingly. It will become more and more accurate over time!

NOTE: Machine Learning Mode for profile data will not work for everyone. If your chipset is not in the database yet, you will have to configure it yourself. You will know this when you enable Machine Learning Mode and your profile data has not changed. Please enable User Experience Mode after configuring your profile data to add your chipset into the Machine Learning Mode's database.


- App Engine
Battery: Low-performance mode to save power on apps that don't need that much power (e.g. Facebook, Messenger, Instagram, Reddit, apps that are generally for browsing)
Balanced : The default profile for all apps and 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 applying any profile when they are in use. Useful for apps such as keyboards when they become the top-app when the keyboard appears on the screen, avoids unecessary profile switching.

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 applied when the whitelisted app is in the top-app group).

Multi select feature: Long press on each app card in the App Engine list to multi select apps, then change the profile on one of the selected apps. It will change all of the other selected apps to the same profile.

Auto Whitelist (Some apps will not show in the App Engine page, as they are auto-whitelisted to prevent Helix Engine from unnecessarily switch profiles):
- android
- com.android.systemui
- com.google.android.gms
- com.google.android.play.games
- Magisk Manager (even whitelisted if Magisk Manager's package name is hidden)


- Profile Data Customization
Users can also configure each profile configuration to their personal preferences. Each configuration should be unique to its own profile.


- Suspend Engine
Puts your device in a low power state when the screen is off. This only works when your device is not charging.


- Over-execution prevention
The engine has a protection against constantly applying profile configurations when it is unnecessary. An automatic filter is set for SystemUI, Google Play Services, and Google Play Games (For that box pop up when you sign into games). Helix Engine temporarily logs what profile was last executed. If the new application that has just been focused as top-application is set the same profile as the previous application you were on, it will not execute again since the values have already been applied from the previous one.

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. This significantly increases the efficiency of how the engine runs.


- Backup and Restore App Engine Data
The engine will create a backup of the current state of your app lists. Stored in /sdcard/Helix-Engine/app_list_data.xml


- Backup and restore profile data:
The engine creates an XML file in /sdcard/Helix-Engine/engine_data.xml with the current configuration of all of your profiles. These backups can be shared and other people may restore them on their devices. Profile data can only be restored on devices with the same chipset model as the device it was backed up on. So e.g., an S835 config can only be restored on an S835 device.[/U][/B]


- [PREMIUM] View system apps
Allows you to change profiles for system apps (if disabled, all system apps will use balanced by default).


- [PREMIUM] Search function in App Lists
Search through app lists using the search button in the action bar. (May FC if you press search before apps finish loading, will be fixed soon)







Google Play Store Listing
3.0.0.1-beta Changelog
Official Helix Engine Debugging Tool
Google+ Community







Massive thanks to [email protected]_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
Attached Files
File Type: apk helix-engine-3.0.0.1-beta.apk - [Click for QR Code] (2.14 MB, 578 views)
OP Recognized Developer
Brighton & Hove
Thanks Meter: 14,234
 
Donate to Me
More

Q1: How do I uninstall?
A: Uninstall the app like you normally would.

If you have applied the fix for the CAF Boost Framework, restore your TWRP system backup or reflash your ROM.

If you have applied the automatic fix for perfgenius, replace uniperf_config_cust.xml in /product/etc/xml with the one in /sdcard/Helix-Engine/perfgenius-backup


Q2: How do I know if this is working?
A: Use this tool: https://github.com/Team-Helix/Helix-...ugger/releases and refer to this post about what to look for when debugging: https://forum.xda-developers.com/sho...postcount=1648


Q3: App Lists is not loading for me!
A: Give it time, it may take up to 30 seconds for the list to load depending on your device.


Q4: Unlocking seems to be slower than usual/has delays/lags
A: Raise suspend engine freqs in profile data customization.


Q5: Can I use a kernel manager app like EXKM?
A: You can, but you must not modify any tunables that Helix Engine already applies (look in one of the profile customisation pages. Anything in there, you must not modify in another kernel app).


Q6: Machine Learning Mode is not changing anything in my profile data!
A: This means that your chipset does not currently exist in the database yet. You are required to configure your own profile data. Optionally, you may enable User Experience Program afterwards to upload your profile data to the database and help Machine Learning learn your chipset's popular configs!


Q7: What do the check boxes do in App Engine?
A: This is the multi-select feature where you an batch change profiles for a set of apps. To use it, check the boxes in all of the apps you want changed to the same profile, then in any of the spinner items (drop down box), change it to the profile you want. This will update for all other checked apps to use the same profile that was changed.
Recognized Contributor
Gotham
Thanks Meter: 5,427
 
More
Reserved 2
Senior Member
Mannheim
Thanks Meter: 1,111
 
More
Shared profile data collection


For MSM8996 (Snapdragon 820)
https://forum.xda-developers.com/sho...postcount=2296 by @zr_hazem
https://forum.xda-developers.com/sho...postcount=2181 by @qazed102
https://forum.xda-developers.com/sho...postcount=2188 by @nfsmw_gr


For MSM8998 (Snapdragon 835)
https://forum.xda-developers.com/sho...postcount=2151 by @ZeroInfinity
https://drive.google.com/drive/folde...-B?usp=sharing My own profiles (as you can see, one for HMP kernels and one for EAS kernels).


Additionally, I created an add-on, which is a flashable Magisk module. This add-on will run some further tweaks, which are not covered by HelixEngine itself (yet). I'll attach it here, too + you can find it in my own profile data collection (link above).


to be continued...
Attached Files
File Type: zip HelixEngine_Add-on.zip - [Click for QR Code] (6.8 KB, 212 views)
File Type: zip HelixEngineAdd-on_v2.zip - [Click for QR Code] (7.6 KB, 94 views)
File Type: zip HelixEngineAdd-on_v3.1.zip - [Click for QR Code] (7.9 KB, 204 views)
Senior Member
Ambala, HR
Thanks Meter: 2,560
 
Donate to Me
More
Awesome! I've been waiting for this! Was following the progress closely on GitHub. Nice to see this here officially!
Recognized Contributor
Establishing Battlefield Control... Standby!
Thanks Meter: 7,160
 
Donate to Me
More
That's one hell of a long OP. 😂

Well done tho mate, can see a lotta work went into it.
Senior Member
Thanks Meter: 89
 
More
It might just be me but I am seeing a more stuttering after flashing this engine .
OP Recognized Developer
Brighton & Hove
Thanks Meter: 14,234
 
Donate to Me
More
Quote:
Originally Posted by prajnay

It might just be me but I am seeing a more stuttering after flashing this engine .

Depends on what app you use, for battery apps, it may feel slower than normal (to prevent these battery apps from draining unnecessary amount of power). However, games and using the launcher should have no problems as it'll execute the performance profile. If battery profile is too slow for you, I'll discuss it over in my team so we can tune it a bit more towards better performance (at cost of a bit of battery).

This is currently in BETA so there will be some hiccups here and there, we will need feedback from a lot of people so we can fine tune it some more until most people are satisfied.
Senior Member
Thanks Meter: 643
 
More
I'm literally blown away or maybe over whelmed by that OP.
Senior Member
Thanks Meter: 34
 
More
been using for a few hours........browsing.....watching video....taking picture. had it freeze on me while in the camera, after zooming, takign picture, and moving the phone it froze. had to power down because my phone went totally unresponsive. im idle drain is insane though. down to 0.36%/h from about 1.5%/h.


as im writing this i tested to camera malfunction again and it malfunctioned yet again. on OOS 5.0.2 blu_sparks kernel. and also experiencing sluggish scrolling in instagram.

edit: added some stuff
Member
Thanks Meter: 14
 
More
Would like to try, only one question. How to remove after flash? Apk unninstal, magisk module delete, but what about flashable aroma zip? Thanks for you awesome work!
Reply Subscribe

Tags
engine, helix, profile, script, tweaks

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread