• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[APP][Root][4.0+] KernelControl Beta [update 9][Plugin interface]

Search This thread

Benee

Retired Recognized Developer
Mar 15, 2010
921
1,735
Hi,

I'm presenting you KernelControl. A beautiful app to tweak your kernel.

Banner1.png


This is a beta at the moment, because I only have a limited device pool and testing the app on friend's phones resulted in some workarounds. The app will be released on Play Store after the beta is over for a few bucks, but I will post new free, full featured and ad free versions here from time to time.

Google+ Community for better communication: click

Features:
  • Phone, 7 inch and 10 inch layout
  • Card UI
  • A safe boot receiver. It should detect if the shutdown was wanted or a dropout
  • CPU frequency changing
  • CPU Governor Changing and tweaking the governor kernel parameter
  • Voltage changing
  • Low Memory Killer tweaking
  • VM Settings tweaking
  • Switch the I/O scheduler
  • tweak the kernel parameter of the I/O scheduler
  • Change the readahead buffer size
  • Change the TCP congestion control
  • Toggle fast charging (if supported)
  • Lots of informations about your device. Like CPU load, average system load, information about your SOC, time in state and RAM usage information [available for users without root access]
  • Create your own plugins! More info here
  • More to come


Plugin API:
If you want to add a plugin I have created a simple API available at Github. Feel free to message me here on xda, the g+ community or via the in app contact options. I will respond as soon as I can ;)


So if you want to help, test it and if it crashes provide a logcat output of the error and some small description what you have done. Please post issues with the app like unexpected behaviour and last but not least if you find some spelling, grammar etc. mistakes, please post this too (english isn't my native language).

If you have any idea to further improve this app, please post it here too.

Changelog:
  • Update-1: Fix for devices with a smaller screen than 360dp
  • Update-2: Fix hdpi layout getting cropped
  • Update-3: More bug fixes
  • Update-4: Fixed threading issues, fixed some more force closes, fixed the spinner issue (setting a item without a change by the user), DashClock extension
  • Update-5: Build with proguard (smaller size), bug fixes, automatically crash reporting (you can opt out if you need the tinfoil head), new package name (you can deinstall the old app. The old naming will be used for the Play Store variant)
  • Update-6: Only crash fixes. Lots of them.
  • Update-7: Huge changelog
  • Update-8: Plugin interface. For the rest have a look here
  • Update-9: Plugin interface: Feature request: hide VM, Governor, I/O Settings via a plugin. Layout fixes for tablets.


Permissions explained:
  • RECEIVE_BOOT_COMPLETED: for the boot restore
  • ACCESS_SUPERUSER: Manipulating kernel interfaces
  • INTERNET: Crash reporting and Analytics (to help me improve the app)
  • ACCESS_NETWORK_STATE: Same Crash reporting and Analytics
  • GET_ACCOUNTS: Never used unless you attach contact information to your crash report
  • USE_CREDENTIALS: Never used unless you attach contact information to your crash report
  • READ_PROFILE: Never used unless you attach contact information to your crash report
  • READ_CONTACTS: Never used unless you attach contact information to your crash report


Libraries used in this project:
  • Crouton
  • RootTools
  • Crashlytics
  • Analytics
  • Dashclock API


Thanks :)
 

Attachments

  • cpu_fragment_framed.jpg
    cpu_fragment_framed.jpg
    20.9 KB · Views: 3,808
  • general_info_framed.jpg
    general_info_framed.jpg
    20.9 KB · Views: 3,721
  • lmk_settings_framed.jpg
    lmk_settings_framed.jpg
    21.2 KB · Views: 3,681
  • load_chart_framed.jpg
    load_chart_framed.jpg
    21.2 KB · Views: 3,650
  • misc_tweaks_framed.jpg
    misc_tweaks_framed.jpg
    18.4 KB · Views: 3,586
  • tablet_info_tab_framed.jpg
    tablet_info_tab_framed.jpg
    22.5 KB · Views: 3,486
  • tablet_mem_tab_framed.jpg
    tablet_mem_tab_framed.jpg
    22.9 KB · Views: 3,377
  • time_in_state_chart_framed.jpg
    time_in_state_chart_framed.jpg
    22.2 KB · Views: 3,475
  • KernelControl-Beta-6.apk
    707 KB · Views: 258
  • KernelControl-Beta-7.apk
    964.2 KB · Views: 450
  • KernelControl-Beta-8.apk
    798.1 KB · Views: 139
  • KernelControl-Beta-9.apk
    1.2 MB · Views: 1,058
Last edited:

Benee

Retired Recognized Developer
Mar 15, 2010
921
1,735
Update:

  • Now on Beta-3: Layout for hdpi devices should work (still needs some tweaking.). More bug fixes.
  • Added more and nicer styled screenshots to OP.

Created a Google+ Community for better communication: click

Edit:

Next version: Bug fixes and a DashClock Extension with 3 modes (Screenshot).
 
Last edited:

Thristle

Senior Member
Jan 16, 2013
122
13
the app looks great and works great but I would like to use it as a replacement for stweaks.
is it possible to make the program read the costume kernel options like stweaks does?
 

Benee

Retired Recognized Developer
Mar 15, 2010
921
1,735
Thanks for the feedback ;)

Can we have a dark theme on the next update please? I love it as it is but i would like it if it came with a dark theme too :)


hrm. I will have it in my mind but I think that cards with a dark theme are losing the nice and clean look. Maybe a feature if most other stuff is up and running ;)



the app looks great and works great but I would like to use it as a replacement for stweaks.
is it possible to make the program read the costume kernel options like stweaks does?

I'm thinking about a way to add custom kernel tweaks for a long time without just implementing it directly in the app and so removing a potential income for kernel developers.

Tracking down this problem is the number one priority on my to do list.
 

Thristle

Senior Member
Jan 16, 2013
122
13
I'm thinking about a way to add custom kernel tweaks for a long time without just implementing it directly in the app and so removing a potential income for kernel developers.

Tracking down this problem is the number one priority on my to do list.
I dont see the relation. Im talking about all the extra options some kernels have (like dorimanx kernel for the i9100)
 

Benee

Retired Recognized Developer
Mar 15, 2010
921
1,735
I dont see the relation. Im talking about all the extra options some kernels have (like dorimanx kernel for the i9100)

Some developers are creating own apps to control these parameters. I was working on kernels too (way back in the htc desire and a bit in the Optimus 2x/G2x time) and instead of asking for donation, some developed a app to control these settings. These could buy you a drink for the work and the supporter got a nice app in return.

Implementing it for free would subvert a income for a developer. Ok some devs creating an app for free and don't take donations too. But others not and I don't want to piss anybody off. So I'm thinking about a extremely easy to programm plugin interface (think of it as DashClock extensions). I'm not sure how good it will be possible nor if it's possible at all, but I will work on it and I hope I will find a way.

(Plus it saves me a lot of nerves. Implementing this stuff and testing it on every device with min and max values, possible steps etc. I would call this a pretty severe pita.)
 

Benee

Retired Recognized Developer
Mar 15, 2010
921
1,735
Update 4:

Fixed threading issues
fixed some more force closes
fixed the spinner issue (setting a item without a change by the user)
DashClock extension

Have fun ;)
 

Thristle

Senior Member
Jan 16, 2013
122
13
Some developers are creating own apps to control these parameters. I was working on kernels too (way back in the htc desire and a bit in the Optimus 2x/G2x time) and instead of asking for donation, some developed a app to control these settings. These could buy you a drink for the work and the supporter got a nice app in return.

Implementing it for free would subvert a income for a developer. Ok some devs creating an app for free and don't take donations too. But others not and I don't want to piss anybody off. So I'm thinking about a extremely easy to programm plugin interface (think of it as DashClock extensions). I'm not sure how good it will be possible nor if it's possible at all, but I will work on it and I hope I will find a way.

(Plus it saves me a lot of nerves. Implementing this stuff and testing it on every device with min and max values, possible steps etc. I would call this a pretty severe pita.)
Im still not getting it. Apps like stweaks and extweaks do exactly what i am talking and are avilable for free in the app store and i dont see any kernel devloper being angry. Also there is no need to implement steps and values since they are all contained in the kernel itself (perhaps in xml format or something close)
 

Benee

Retired Recognized Developer
Mar 15, 2010
921
1,735
Im still not getting it. Apps like stweaks and extweaks do exactly what i am talking and are avilable for free in the app store and i dont see any kernel devloper being angry. Also there is no need to implement steps and values since they are all contained in the kernel itself (perhaps in xml format or something close)

Nope. Everything ist hard coded in the apps. Like which values are possible, what is the safe range of a parameter (vibration strength could kill your vibration motor up if bad programmed). There are a huge number of custom parameters in every custom kernel. I could only support selected interfaces on selected devices like trickster mod. I don't want to do this. This is plain pita and I would neglect a huge device base.

Instead I will create a extension which other developers can use and add the parameters with save values etc. This is imo way better than to hardcode everything in one app.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 77
    Hi,

    I'm presenting you KernelControl. A beautiful app to tweak your kernel.

    Banner1.png


    This is a beta at the moment, because I only have a limited device pool and testing the app on friend's phones resulted in some workarounds. The app will be released on Play Store after the beta is over for a few bucks, but I will post new free, full featured and ad free versions here from time to time.

    Google+ Community for better communication: click

    Features:
    • Phone, 7 inch and 10 inch layout
    • Card UI
    • A safe boot receiver. It should detect if the shutdown was wanted or a dropout
    • CPU frequency changing
    • CPU Governor Changing and tweaking the governor kernel parameter
    • Voltage changing
    • Low Memory Killer tweaking
    • VM Settings tweaking
    • Switch the I/O scheduler
    • tweak the kernel parameter of the I/O scheduler
    • Change the readahead buffer size
    • Change the TCP congestion control
    • Toggle fast charging (if supported)
    • Lots of informations about your device. Like CPU load, average system load, information about your SOC, time in state and RAM usage information [available for users without root access]
    • Create your own plugins! More info here
    • More to come


    Plugin API:
    If you want to add a plugin I have created a simple API available at Github. Feel free to message me here on xda, the g+ community or via the in app contact options. I will respond as soon as I can ;)


    So if you want to help, test it and if it crashes provide a logcat output of the error and some small description what you have done. Please post issues with the app like unexpected behaviour and last but not least if you find some spelling, grammar etc. mistakes, please post this too (english isn't my native language).

    If you have any idea to further improve this app, please post it here too.

    Changelog:
    • Update-1: Fix for devices with a smaller screen than 360dp
    • Update-2: Fix hdpi layout getting cropped
    • Update-3: More bug fixes
    • Update-4: Fixed threading issues, fixed some more force closes, fixed the spinner issue (setting a item without a change by the user), DashClock extension
    • Update-5: Build with proguard (smaller size), bug fixes, automatically crash reporting (you can opt out if you need the tinfoil head), new package name (you can deinstall the old app. The old naming will be used for the Play Store variant)
    • Update-6: Only crash fixes. Lots of them.
    • Update-7: Huge changelog
    • Update-8: Plugin interface. For the rest have a look here
    • Update-9: Plugin interface: Feature request: hide VM, Governor, I/O Settings via a plugin. Layout fixes for tablets.


    Permissions explained:
    • RECEIVE_BOOT_COMPLETED: for the boot restore
    • ACCESS_SUPERUSER: Manipulating kernel interfaces
    • INTERNET: Crash reporting and Analytics (to help me improve the app)
    • ACCESS_NETWORK_STATE: Same Crash reporting and Analytics
    • GET_ACCOUNTS: Never used unless you attach contact information to your crash report
    • USE_CREDENTIALS: Never used unless you attach contact information to your crash report
    • READ_PROFILE: Never used unless you attach contact information to your crash report
    • READ_CONTACTS: Never used unless you attach contact information to your crash report


    Libraries used in this project:
    • Crouton
    • RootTools
    • Crashlytics
    • Analytics
    • Dashclock API


    Thanks :)
    6
    Hi,

    I wish you all a merry christmas first ;). Secondly I was working hard over the last days to implement the theming capabilities and I had some time to think about a different way than the current swipe stuff to navigate between tabs. IMHO swipes are horrible with SeekBars :D.

    Anyway here, have some screenshots for the theming stuff (pretty rough right now). As from now on always: Source on my github
    5
    Hi,

    finally some time again :). The bright colorful action bar is gone and was replaced by a elegant transparent action bar (and status bar). The dark ui is working out really way and I think I'm starting to digging it. The parallax effect is gone too. The chart now stays fixed at the top and the content (the cards with settings) will scroll over it.

    So what's left? the content obviously and I need to work on the chart stuff. I will work on the chart stuff first and I will turn it into a small library (free and open source of course ;) ). Then adding the content. I can kang some stuff from the old app from it. This won't take too long (which is awesome).

    That's it
    5
    Plugin interface!

    Hi!

    I have finally finished it ;) hehe. So..

    Changelog Beta 8:
    • Plugin interface!
    • Dashclock Settings fixed
    • Restyle of cards. Now the "apply on boot" option is always in the overflow menu
    • Long card titles are scaled down, so they don't overlap anymore
    • Moved from ACRA to Crashlytics. Much stabler service. Toggling reporting is gone, I wrote them a feature request - hopefully it will be added.
    • No need to enter your Contact information if you enable attach to crash report. It is fetched from your g+ account and the owner contact information.
    • Added a link to the XDA thread in settings.
    • New icon

    So if you have a favorite kernel or you are a kernel developer (or a person who is capable of writing a bit of code and want some specific interfaces available) - check out the API at my Github and develope your own plugin. It is pretty easy to develope and maintain.
    5
    +1
    thanks for ur amazing app
    waiting for badass (v2.0) ....

    The app ui looks so nice :) waiting eagerly to try this app along with @alin.p's Badass kernel :)

    Nice to see you guys here ;)

    I'm currently working on overcoming the last hurdle for the plugin interface. The complete UI generation of the plugin cards are done. The only thing missing is the representation of the cards (a grid with dynamics heights) - for the guys who want to point me to staggered gridview: Yep I know this but it can't be applied here.

    But hey I made some nice progress on this today ;)

    Edit:

    Finally only a few bugs are left with the 10 inch tablet ui. But here is a version of the phone ui:
    Screenshot_2013-09-15-23-42-28.png