[OnePlus 3 Guides, News, & Discussion] Arstoien:
Ok guys, I've been using this for myself for a long time and finally desided to spend some time to put it in some decent order to share it with everyone. It's a Tasker project, which can apply / modify / save / compare profiles – preset or custom ones. Please test first before putting to full time use. So far it's only me who's tested it and there's some likelihood of bugs or other issues arising. Fyi I'm using OnePlus 3, stock OOS Oreo (worked also on Nougat) and Franco kernel.

Download link: https://www.dropbox.com/sh/q1srkp7o80fppfc/AABVB4DTcycredfPSucdOSU1a?dl=0. There's the project for import (the XML file) and the settings I'm currently using – for curious people and for testing.

Features (in short):

• apply a profile (files with settings placed in a specified folder). Appying a precompiled profile takes a second only, no waiting.

• can apply either a script file (like "echo X > /sys/devices/system/…") or a more easy to read format (like "/sys/devices/system/… X). The latter is the same format used by Ex Kernel manager and others

• (under development) convert between the two formats explained above

• save the current kernel settings over existing profile or as a new profile

• compare two profiles and export only the settings, which are specific to either of the two. As far as I know there isn't another app with this functionality – pretty useful

• apply profiles on per-app basis, or any other Tasker-compatible condition (on headphones plugged, at battery <20%, etc)

Guide for usage (in short):

1. Import as a project in Tasker

2. Install external plugin called "Snackbar". Sorry for this requirement but it's easier for me to create the UI that way. If someone would like to setup Tasker scenes for the menus, pm me and we can set that up for everyone. I don't have the time for that.

3. In the project's tasks, you'll see a task called "Gov Profiles Path". There you can/should save the path to the directory, which shall contain the files for the profiles. Also it's good to create those folders before execution

4. The working folders are two: the main one, containing the easier-to-read format scripts, and a sub-directory called ".Scripts", which contains the shell commands for the same profiles in the other folder. When a profile is loaded, the app checks which of the two is the later version and uses that. Think of the ".Scripts" folder as cache – it's there to speed up things, so the scripts wouldn't need to be compiled every time

5. There are two Tasker profiles: "Device Boot" (which should be enabled to avoid permission and other issues) and "Pap Sample Profile" (which is an example with explanations for how to setup a per-app profile).

6. Bonus tip: you can load any AKT profile the normal way you do, then hit "Save Profile" and save it for use with this app

Other more technical stuff and additional info (no need to read unless curious):

• on boot the script checks the permissions of the files it expects to edit. If there are some restrictions, it writes them down in a file called ".non-writable_paths". Upon loading profiles it uses that to restore all the file permissions to their original state.

• on every boot the app creates a profile called last_boot, so you should always know your stock kernel settings.

• when saving a profile, the app looks for values only for cpu0/2 governors, cpu_boost, touchboost, hmp sched_* tunables, gpu. Any other values aren't saved automatically but can be manually added to the file and will be executed when loading.

• there may be some delay when saving a profile with a new name before the script actually starts working. It's a Tasker bug/restriction, not my fault, sorry. When saving (since it's the slowest operation), there's a notification showing work's being done. Still, shouldn't take more than a minute to save a profile.

• with previous version of Tasker and Nougat the tasks were slower (a first-time compiling of script could take for ex. 10–20sec). Now it's much quicker, so your mileage may vary – best to upgrade to the latest version of Tasker (current latest version can only be found in Tasker's forums)

Sorry for the long post. I'll be happy to hear feedback or suggestions (could be on pm, so we don't clog the thread). If there's interest I could export this as a standalone app, but that would be best with its own UI, not relying on external plugins.