[Deprecated] Kernel Adiutor-Mod [V15] [18JUL2016]

David 617

Senior Member
May 12, 2011
[Development Stable][Kernel Adiutor-Mod][V15 - 26JUN2016] A modified Kernel Adiutor (Kernel Tweaking App)

This project has been deprecated. New development is happening at KA-Mod Reborn.

*** Disclamer ***
This app is intended to provide an interface to tweak the features of your kernel.
In no way is my offering of this app an invitation for you to ask me what the various 
features included in your kernel do, or what settings are "best". 
Ask your favorite kernel dev. Preferably by PM, repeatedly. They love that ;)
This thread will be the home of my Kernel Adiutor-Mod. This project was previously known as "Singularity Kernel Adiutor". However, when that kernel project shut down I decided it was time to unbrand this app and birth it into a stand-alone project. Especially given the number of people on various devices who have began using it.

Note: This was original started for a Nexus 6 Kernel. I attempted to post it to the Apps Subforum there. It appears to have ended up in the general apps form. If something doesn't work correctly on your device, please let me know.
Installation instructions
This app has had it's installtion directory, app name, and package name change from the Original Kernel Adiutor.
This was not done in an attempt to disguise it as it's own app. It was intended to prevent conflicts if you choose to keep Grarak's Kernel Adiutor installed.
Current Build

Previous Builds
As of V4, these will no longer be available on AndroidFileHost, they have moved to Github to facilitate direct downloads for in-app updates.
View History for file on Github for previous versions
  • [fix]bug fixes and performance improvements

  • [add]per-cpu frequency uptime

  • [fix]HBM: Quit using a variable. (this should stop the null commands issue I've been chasing)_
  • [fix]AutoHBM: Stop always starting the service when opening the app.
  • [add]Add Fabric for Crashlytics
  • [fix]CPUHotplugs: Fix Lazyplug in togglehotplugs to check for isactive instead of istouchboostactive
  • [improvement]Startup Commands: Convenience update - Add copy as an option for all startup commands and each item in list
  • [add]Support for dyn_hotplug by Stratosk. by @spezi77
  • [improvement]AutoHBM: Fix smoothing algorithm. Fix Sensor Read breaking after screen off.
  • [improvement]Lists: This should sort them as case-insensitive
  • [improvement]Wakelocks: Clear up confusing descriptions per @Spezi77's PR.
  • [add]Wake controls: add the DT2W power key suspend also for LGE Nexus 4 (modified from @Spezi77's work
  • [fix] Numerous under-the-hood fixes/improvements
  • [fix]Hotplugs: Fixup issues caused in V11.
  • [fix]Hotplugs: Show tunables for hotplugs without an enable/disable toggle.
  • [improvement]Power/Battery: Clarify what notifierrs are enabled with the State Notifier card
  • [add]add support for MSM Performance
  • [add]CoreControl: Remove BCH and clean up the formatting a bit
  • [add]Constants: Add some sysfs paths from @Benschold for OP2
  • [add]Add MW and TW gestures
  • [fix]AutoHBM: Fix null crash when attempting to access sharedpreferences on boot
  • [add]Add CoreControl to Bootservice
  • [add]Setup Core Control
  • [add]Add switch for Boeffla Config Helper
  • [add]Add possibility to switch back and recents button
  • [improvement]Thunderplug settings
  • [add]Slider for SD810 low power mode
  • [add]CPU Governor Tunables: Add support for big/little tuned paths
  • [improvement]AutoHBM: Allow number of samples to be configurable
  • [improvement]HBMWidget/AutoHBM: Allowing AutoHBM to resume after the second toggle of the widget
  • [fix]Sound: Stop duplicating High-Perf Mode
  • [improvement]GPU: Gaming Mode Min Power Level (get the proper value from the kernel)
  • [add]Wake: Add back in halfscreen/fullscreen selection
  • [fix]Reduce MinSDK back to 19
  • [add]SysFS Dump: This creates a sysfs dump function.
  • [fix]Misc: Fix logd enable/disable on boot
  • [improvement]StartUP Commands: Only show commands set to apply on boot.
  • [improvement]AutoHBM: Introduce option to smooth lux values.
  • [add]GPU: Also sort GPU governors
  • [fix]CPUHotplug: Bluplug - Fix it not showing for people without my enable/disable mod
  • [add]Lists: Sort items
  • [improvement]WakeLocks: Only display if tunable wakelocks exist in kernel
  • [add]AutoHBM: This toast is no longer necessary
  • [improvement]AutoHBM: check screen state when the service starts and stops for sensor reading.
  • [add]AutoHBM: Let's not leave our services running in the background if the user wants to disable it...
  • [improvement]AutoHBM: Fix some bugs with sensor reading
  • [improvement]AutoHBM: Stop starting the service each boot if the user hasn't enabled AutoHBM
  • [add]HBM_Widget: Add toast when a user without HBM adds the widget
  • [improvement]HBM_Widget: Update images with something that *should* look a little better
  • [add]Add Led Blink Rate Control and Led Blink Test Switch
  • [add]Add entry for min_brightness for ZE551ML/ZE550ML this allows selecting minimum brightness on my kernel aka kernel FlareM for zenfone 2
  • [add]Do not use android backup if a user installs the app on a new phone they should setup their settings again their new phone may not support the old configuration they have and we should force them to re-configure the app
  • [improvement]HBM_Widget: Ensure that the HBM path is set before trying to toggle it
  • [improvement]HBM_Widget: Allow proper resizing of widget image
  • [improvement]AutoHBM: Add toast reminding users to turn screen off and on before AutoHBM will take effect
  • [improvement]HBM: Add support for CM's SRE implementation
  • [improvement]Auto_HBM: Increase threshold max to 10,000.
  • [add]Add MSM USB OTG Hack control toggle.
  • [improvement]HBM Widget: Add a preview
  • [add]HBM_Widget: Initial Introduction
  • [fix]Battery: Fix State Notifier Enable/Disable option showing when the enabled sysfs node is missing.
  • [add]Profiles: Show profile name in toast message.
  • [fix]BuildProp Editor: Fix incompatabilities with Toybox's SED command
  • [add]MSM_Limiter: Properly introduce support for 5.2
  • [remove] MSM_Limiter: Introduce support for 5.2 (This wasn't working as intended)
  • [add] MSM_Limiter: Introduce support for 5.2
  • [add] Hotplug: Initial addition of Neobuddy89's StateHelper
  • [add] CPU Hotplugs: add Lazyplug.
  • [add] fix build.gradle android plugin version
  • [fix] cpu_max_screen_off_freq_summary: fix a translation failure
  • [improvement] msm_hsic_host wakelock: improve (confusing) description text for toggle.
  • [improvement]Fixed german translation
  • [fix] Constant update notification after updating that was introduced in the V5 release.
  • [Fix] Custom charge levels not applying on boot
  • [Fix] German Translation stuck at "Build 2" (field is no longer translate-able)
  • [Fix] ZF2 Z00A GPU section should now behave properly.
  • [fix] Bricked Hotplug settings causing a crash for some devices.
  • [fix] Sweep2Wake properly disabling all 15 combinations (plus disabled)
  • [add] Custom charge levels
  • [add] Check for updates (Thanks to @David 617)
  • [add] Misc compat library updates (Thanks to @David 617)
  • [add] Support for ZF2 Z00A GPU settings (this may not be 100% complete)
  • [Fix] Crash on some devices when opening the screen settings (namely Mako with Franco's gamma)
  • [Fix] Crash when adjusting headphone volume as a combined slider (worked previously when setting L/R seperately)
  • [Add] Added the ability to override app resource: gamma_profiles.json. By placing your own file in the app's data directory under files/gamma_profiles.json you can now add/remove/change the screen profiles that the app lets you select from. Example File
  • [Add] Some string translations to German courtesy of @spezi77
  • [Fix] Crash on open on roms older than Marshmallow
  • [Add] Screen: Display current profile (screen control) if current values match a saved profile. Otherwise, display "Custom"
  • [Fix] Temperature Throttle Toggle (this had been modified for 1/0 or Y/N sysfs values. I made the mod in the wrong spot)
This build is slightly ahead of SKA V12.1. I will add a full changelog shortly.
  • MSM Limiter Support
  • MSM Limiter - Per Core control or Single Value Control
  • Third Party Sound: Combined or individual Left/Right controls for headphones
  • Hotplugs: Moved all the enable/disable toggles to the top of the list
  • Hotplugs: Disable other hotplugs when one is enabled (to prevent duplicates)
  • Added Support for C State toggles
  • Support for more WakeLock Controls
  • Automatic High Brightness mode with a configurable lux value
  • High Brightness Mode intents
  • Early support for applying saved profiles based on Foreground App (make sure to set at least one profile as default, it's in the D's of the app list. And enable the Per-App Accessibility service
  • Downloads: Fixed automatic download/reboot/flash/reboot feature (if there is a supported kernel)
  • Screen: Add Color profiles for our device
  • SeLinux mode Toggle
  • ADB over Wifi toggle
  • Support for disabling logd (logcat, for those people who want to disable it for whatever reason)
  • Support for completely disabling BCL via the stock interface
  • Support for disabling BCL hotplugging (for kernels that include this)
  • Modified the Virtual Memory to provide cards with info/sliders instead of basic text entry
  • Display PVS/Speed bin values in Kernel information (if they're exposed in the kernel)
  • Misc other tweaks and support
Q. Will you explain what (insest awesome shiny kernel feature) does?
A. No, ask your kernel Dev.

Q. What settings are best for my kernel?
A. I don't know, I probably don't even run the same kernel as you do.

Q. What settings give the best battery life?
A. I don't know. I probably don't even run the same kernel as you do.

Q. What kernel do you run?
A. Does it really matter? It doesn't have anything to do with the app.

Q. Can I post my benchmark/battery screenshots on (insert super awesome kernel with tweaked settings) in the thread?
A. No. Benchmarks, and battery screenshots are thread garbage and should really have some sort of auto-deletion. Don't post them.... anywhere, ever, for the love of god.

Q. I found a bug, what do I do?
A. Provide as much information as possible and post in the thread. What feature? What didn't work? Can you provide screenshots to show how it's not working? Maybe provide a logcat, if the app is crashing. If you know the sysfs paths and expected values, those always help.

Q. Something that worked in the original Kernel Adiutor is broken here... Why?
A. I've modified/added quite a bit of code, it's not impossible that I broke something along the way even though it worked for me. Please provide whatever information you can (see previous FAQ item) so I can try to fix it.

Q. I was using this when it was known as Singularity Kernel Adiutor (SKA), what's the easiest way to switch?
A. I apologize, but you will have to reconfigure things when you make the switch (and uninstall SKA). I tried to figure out some way to move the app data over, but decided it wasn't worth the time. You can probably move profiles over from the old directory /data/data/com.singularity.kerneladiutor to /data/data/com.kerneladiutor.mod
Unfortunately, I won't help with this process. It'll either work or it wont.
Information for Devs/Advanced users
Kernel Download Support
I have modified this unbranded release so that Kernel Devs can add support (and override whatever is included in the app already) for their kernel's downloads by including /res/kernel_adiutor_mod/downloads.json in their ramdisk.

Why? Well... It removes the need for commits to add support for the kernels within the app. Want support? Add the file to the ramdisk. Next time that a user flashes the kernel, the app will display them with your downloads.

Information taken from Grarak's Wiki
The original app required the files to either be downloads.json to be compiled into the app, or in the app's data directory. I simply added the /res directory and made the priority /res > data dir > app's resources. So the information is the same.

This file is static, once configured and added to the ramdisk it will remain valid unless you remove/move the link file. It will pull this file each time the dowloads section is opened, pulling in whatever changes you've made to the linked file.

For an example of the downloads link, check any of the ones included here as well as the example in Grarak's wiki. This file will be dynamic, any changes that you make to it will actively be pulled when users open the downloads section within the App once the static file has been added to the ramdisk.

HighBrighness Mode on: com.kerneladiutor.mod.action.HBM_ON
HighBrighness Mode off: com.kerneladiutor.mod.action.HBM_OFF
Thanks To/Credits
All the additional [url="https://github.com/yoinx/kernel_adiutor/graphs/contributors"]contributors[/url] listed here
XDA:DevDB Information
Kernel Adiutor-Mod, App for all devices (see above for details)

David 617, David 617, Spezi77, Grarak, Bender80
Source Code: https://github.com/yoinx/kernel_adiutor

Version Information
Status: Stable
Current Stable Version: V15
Stable Release Date: 2016-06-26

Created 2016-03-11
Last Updated 2017-12-17
Last edited by a moderator:

David 617

Senior Member
May 12, 2011

How to post a bug:

1) Clearly document steps to reproduce the issue you've encountered

2) Collect logs
Lots of methods to do that

3) Go to https://github.com/yoinx/kernel_adiutor/issues and create an issue.
Post the steps from #1 and logs from #2
Answer these questions:
What did you expect to happen?
What actually happened?
What phone/os/rom are you running?
Do you have xposed framework installed?
Last edited:


I know what people are thinking.

"But Yoinx, feature xyz is missing. How can I get it added?"

Well, simple. Provide me with the sysfs path, the expected values/range, a title and description. If you do, I'll see what I can do to add it.

Use the feature request function of devdb and post saying that is the if you like. Don't just post it in the thread, if this thread ends up taking off (probably won't :s) then it'll get buried.
Last edited:


Made for Nexus', so dare I ask if this will work on my S6 on 5.1.1 or 6.0.1?!
It'll work on anything that kernel Adiutor worked on. This just has additional features.

The reason I mentioned that I had originally built it for nexus 6 is because some sysfs paths may be device specific.

Sent from my Nexus 6

If I've helped you, don't forget to hit thanks!


Crashes on Xperia Z2 - Lp 5.1.1

Attached a logcat of the crash. Mind checking it out? Would definitely love to give this mod a try. :D
Nevermind, its the way that I made it ask for permission, you're not on M... so that's why it's crashing. I'll have it fixed soon.
@iArvee would you mind testing this build? Let me know if it works. https://www.androidfilehost.com/?fid=24438995911976954
Sent from my Nexus 6

If I've helped you, don't forget to hit thanks!
Last edited:


Senior Member
Apr 23, 2014
  • Like
Reactions: Jole7


Oh, lol. Didn't know I needed to be on Android M. :D

Anyways, works great! Thanks a ton. :D
No, you don't have to be on M. M just requires a different request for permissions in the app. I added the request, but I forgot to add an API check, as that check doesn't exist on anything below M... hence the crash.

Grarak checks for it somewhere else in the app. I just prefer to make it ask when you first open it.


Sorry im rude but why former singularity ? What happens

Sent from my Nexus 6 using Tapatalk
The developer of that project shut it down. So I decided to unbrand this app as well as make it easier for developers to add their own download support.

The reason I included the name on the title was for old users that might be searching for it.

Sent from my Nexus 6

If I've helped you, don't forget to hit thanks!


Thx for proceed what about the kernel would you take it too?

Sent from my Nexus 6 using Tapatalk
No, I had explained to him from the beginning that I had no interest in maintaining a kernel... Hence why I hadn't put out my own.

Sent from my Nexus 6

If I've helped you, don't forget to hit thanks!