[KERNEL] [04-17-2017] [G920P PB6] SuperNOVA OC/UC/VOLTAGES [DISCONTINUED]

Status
Not open for further replies.
Search This thread

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
I present to you SuperNOVA Kernel.

A highly customized kernel built from ground up. I added many tweaks and features not found in the STOCK kernel, as well as some tiny bits from other kernels.

MAIN FEATURES
  • Undervolt/Overvolt - Complete voltage control.
  • Underclock/Overclock - Additional overclocking and underclocking CPU frequencies
  • Ktoonservative governor - The legendary, the great, ktoonsez governor tweaked by myself for even more awesomeness!!! Thank you @ktoonsez!!
  • Multi-level flashlight - Using my flashlight widget plus this kernel, get mult-level flashlight settings.
  • Thermal Control - My very own customized thermal control
  • LED Control - Complete LED control, brightness, fade, charging options
  • 100% SELinux PERMISSIVE (Cannot be set to enforce by ANYTHING)
  • NOVA Controller - My own self made app to control and interact with the kernel
  • Many more I cannot remember right now, plus many more to come!!

Things to do... (listed in priority)
  1. GPU Control - Custom frequencies, voltages and governor
  2. Camera options - More control over the camera. ISO Exposure time, FPS for slow motion etc... whatever I can improve.
  3. Vibration control - More control over the vibrations of the device
The above list will be completed WHEN I HAVE TIME!


I will take requests, but I will NOT add synapse support. I made my own app to control the kernel.

I will be upgrading this thread and my kernel for as long as I own the device. But I only have so much time to update it.


How to install?
  1. You must have a rooted Samsung Galaxy S6 on Sprint.
  2. You must have a custom recovery for flashing files.
  3. Download the kernel file
  4. Copy kernel installer file to your device.
  5. Using your custom recovery, find the installer file, select it and flash.
  6. Using your custom recovery, reboot your device.
  7. Post any issues here with a FULL write up of what/how you came across these issues.
  8. Enjoy!!
 
Last edited:

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
KTOONSERVATIVE EXPLAINED

For every "_screen_on" option, there is a "_screen_off" option too. This allows for setting up a screen on and screen off profile. You could have it very conservative when the screen is off, then very aggressive when the screen is on.

  • sampling_rate - This is how often the kernel will check the CPU for a load. After it checks for a load, it will then take the calculated load and apply the necessary parameters.
  • sampling_rate_min - This is a read-only value signifying how low the sampling_rate value can be. It is calculated based off of hardware parameters and cannot be changed.
  • up_threshold_screen_on - This is the load value the CPU must be at in order to increase the CPU frequency.
  • up_threshold_screen_on_hotplug_1 - This is the load value the CPU must be at in order to turn on cpu1.
  • up_threshold_screen_on_hotplug_2 - This is the load value the CPU must be at in order to turn on cpu2.
  • up_threshold_screen_on_hotplug_3 - This is the load value the CPU must be at in order to turn on cpu3.
  • up_threshold_screen_on_hotplug_4 - This is the load value the CPU must be at in order to turn on cpu4. - Removed, CPU4 must always remain on if the cores greater than 4 are to be used.
  • up_threshold_screen_on_hotplug_5 - This is the load value the CPU must be at in order to turn on cpu5.
  • up_threshold_screen_on_hotplug_6 - This is the load value the CPU must be at in order to turn on cpu6.
  • up_threshold_screen_on_hotplug_7 - This is the load value the CPU must be at in order to turn on cpu7.
  • down_threshold_screen_on - This is the load value the CPU must be at in order to decrease the CPU frequency ***MUST ALWAYS BE LESS THAN up_threshold_screen_on***.
  • down_threshold_screen_on_hotplug_1 - This is the load value the CPU must be at in order to turn off cpu1.
  • down_threshold_screen_on_hotplug_2 - This is the load value the CPU must be at in order to turn off cpu2.
  • down_threshold_screen_on_hotplug_3 - This is the load value the CPU must be at in order to turn off cpu3.
  • down_threshold_screen_on_hotplug_4 - This is the load value the CPU must be at in order to turn off cpu4. - Removed, CPU4 must always remain on if the cores greater than 4 are to be used.
  • down_threshold_screen_on_hotplug_5 - This is the load value the CPU must be at in order to turn off cpu5.
  • down_threshold_screen_on_hotplug_6 - This is the load value the CPU must be at in order to turn off cpu6.
  • down_threshold_screen_on_hotplug_7 - This is the load value the CPU must be at in order to turn off cpu7.
  • block_cycles_online_screen_on - This value tells the kernel how many cycles (each sampling_rate) to wait before allowing a CPU to turn on.
  • block_cycles_offline_screen_on - This value tells the kernel how many cycles (each sampling_rate) to wait before allowing a CPU to turn off.
  • block_cycles_raise_screen_on - This value tells the kernel how many cycles (each sampling_rate) to wait before raising the CPU frequency.
  • super_conservative_screen_on - After raising the CPU frequency no matter what the load is, it waits again for the block_cycles_raise_screen_on value to be reached.
  • touch_boost_cpu_cl0 - Does nothing, may be removed in future releases.
    [*]touch_boost_cpu_cl1 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_1 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_2 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_3 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_4 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_5 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_6 - Does nothing, may be removed in future releases.
    [*]touch_boost_core_7 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_1 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_2 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_3 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_4 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_5 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_6 - Does nothing, may be removed in future releases.
  • button_boost_screen_on_core_7 - Does nothing, may be removed in future releases.
  • lockout_hotplug_screen_on_core_1 - Determine the behavior of cpu1 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
  • lockout_hotplug_screen_on_core_2 - Determine the behavior of cpu2 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
  • lockout_hotplug_screen_on_core_3 - Determine the behavior of cpu3 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
  • lockout_hotplug_screen_on_core_4 - Determine the behavior of cpu4 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
  • lockout_hotplug_screen_on_core_5 - Determine the behavior of cpu5 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
  • lockout_hotplug_screen_on_core_6 - Determine the behavior of cpu6 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
  • lockout_hotplug_screen_on_core_7 - Determine the behavior of cpu7 core hotplugging. Always on: 1, Always off: 2, Hotplug normally: 0.
    [*]lockout_changes_when_boosting - Does nothing, may be removed in future releases.
    [*]touch_boost_gpu - Does nothing, may be removed in future releases.
    [*]cpu_load_adder_at_max_gpu - Does nothing, may be removed in future releases.
    [*]cpu_load_adder_at_max_gpu_ignore_tb - Does nothing, may be removed in future releases.
    [*]boost_hold_cycles - Does nothing, may be removed in future releases.
    [*]disable_hotplug - Allow Samsung to monitor and control the hotplugging of the cores. Not a good idea.
    [*]disable_hotplug_chrg - Allow Samsung to monitor and control the hotplugging of the cores when charging. Not a good idea. (Does nothing yet, may be removed)
    [*]disable_hotplug_media - Allow Samsung to monitor and control the hotplugging of the cores when media is playing. Not a good idea. (Does nothing yet, may be removed)
    [*]disable_hotplug_bt - Allow Samsung to monitor and control the hotplugging of the cores when bluetooth is connected. Not a good idea. (Does nothing yet, may be removed)
    - Removed, saw no need.
  • no_extra_cores_screen_off - Prevent any extra cores from coming online when the screen is off.
  • ignore_nice_load - Allows for processes designed to run in the background prevent the CPU from spiking up.
  • freqs_raise_screen_on - The number of kHz to increase the CPU by each cycle.
  • freqs_lower_screen_on - The number of kHz to decrease the CPU by each cycle.
  • debug_enabled - Enable debug messages.

MY OWN ADDED FEATURES AND THEIR EXPLANATION
  • freq_dif_amount_screen_on - The load the CPU must INCREASE by in order to apply the freq multiplier value. Helps prevent laggy moments whilst still allowing immediate throttling down of the CPU once task is completed.
  • freq_multiplier_screen_on - How much multiply the "freqs_raise_screen_on" value by when the "freqs_dif_amount_screen_on" load change is met.
  • load_freq_limit_screen_on - A frequency value to set when the "load_limit_screen_on" is met. This means, if the CPU load is higher than "load_limit_screen_on", apply this frequency. ***This value is in KHZ, 3 zeros MUST be added to whatever value you choose. If you pick a frequency value that is not compatible with the CPU, it will use the next highest one closest to it.
  • load_limit_screen_on - A CPU load percentage, if the load is higher than this value, but lower than the cpu_down_threshold value, apply the "load_freq_limit_screen_on" frequency.
  • one_big_cpu - Treat all cores as one. **DO NOT SET HOTPLUG SCREEN ON VALUES TO ALWAYS OFF WHEN THIS IS ON, you will immediately cause a reboot of the device. I'm too lazy to prevent this behavior, so just behave and apply what you should be :)
 
Last edited:

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
CHANGELOG

April 17th 2017 -----
  1. Fixed another random reboot from fingerprint booster, should be completely gone
  2. Adjusted fingerprint booster, should be a lot faster now
  3. Adjusted task scheduling, now uses the core with the absolute lowest to place tasks on, I have personally not changed my settings and noticed a huge performance boost
  4. Some other things I cannot recall

April 4th 2017 ------
  1. Removed a random reboot
  2. Tweaked ktoonservative
  3. Added ability for different CPU governor ktoonservative settings per each CPU (big and small)
  4. Fast charge for USB and car chargers
  5. YOU MUST WIPE THE DATA FOR SUPERNOVA APP BEFORE INSTALLING LATEST BUILD!!!!!!!!!
  6. Some other things...

November 11th 2016 ------
  1. Rewrote a lot of the ktoonservative governor to remove a lot of the random reboots that were happening.
  2. Added a few powerful features to the ktoonservative governor.
  3. Removed some unnecessary wake locks from the kernel.
  4. Added a kernel level option for disabling the button lights. (Cycle the screen on then off to toggle the behavior) *Note there is nothing "better" than using any software method. I prefer this method tho because I noticed when turning on the screen, the button lights flickered for a sec. Stupid tiny detail, but drove me nuts xD
  5. Some other code improvements that are not really important to specify.

SUPERNOVA CONTROLLER APP NEW FEATURES
1. Fixed settings at boot issue when delay was used.
2. ADDED PROFILE SHARING :D YAYAY.
3. ADDED PER-APP DEVICE PROFILING, AS WELL AS GENERAL PROFILES.
Will prolly make a video better defining these.

TO-DO:
1. GPU Frequency and volt control - Prolly will happen after semester is over, then the following options will happen.
2. Fast charging options for when connected to USB.
3. Camera stuff.



Flashlight app can be found here.

https://www.androidfilehost.com/?fid=24588232905721042
 
Last edited:

crazynapkinman

Senior Member
Jun 16, 2014
1,199
272
OnePlus 8
What app to control kernel?

Ok currently using kernel adiuter and there is nothing for options besides the governor....

What app should i be using here?
 
Last edited:

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
Will this only work on pb6 or is the newest pf4 ok?
It works on PF4, I personally am on PF4 using this exact kernel. I just have PB6 listed in the title as those are the sources I grabbed from Samsung.
How's battery/performance?!

You can configure the governor to behave to your own tastes/preferences. I personally can unplug at 4:30 am and go until 9:30 PM with 25% remaining. This is under heavy use as well. But, my device lags a bit. Something I personally can tolerate.
 

crazynapkinman

Senior Member
Jun 16, 2014
1,199
272
OnePlus 8
How do we remove your custom app superNOVA? I've tried Titanium Backup but it cant locate the APK file.

Where does it install to?

I see it is a system file.

Also, when i flash this or any other kernel i get a message saying there have been operations that have made unauthorized changes. Reboot to remove these changes.

What's that about?
 
Last edited:
  • Like
Reactions: tdhite

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
How do we remove your custom app superNOVA? I've tried Titanium Backup but it cant locate the APK file.

Where does it install to?

I see it is a system file.

Also, when i flash this or any other kernel i get a message saying there have been operations that have made unauthorized changes. Reboot to remove these changes.

What's that about?

That is Knox. You can freeze/uninstall knox and you won't see that. Also, why would you want to remove the superNOVA app? How else will you control the kernel?
 

crazynapkinman

Senior Member
Jun 16, 2014
1,199
272
OnePlus 8
After flashing different kernel, your app stays as a system app. Can't remove it

And thanks for Knox info. I will freeze it with titanium backup
 

crazynapkinman

Senior Member
Jun 16, 2014
1,199
272
OnePlus 8
I have tried all if those techniques to no avail. It says the apk isn't foubd and i couldn't find it either via root browser.

Also, after freezing knox, i still get the annoying message about unauthorized changes...

Any ideas?
 

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
I have tried all if those techniques to no avail. It says the apk isn't foubd and i couldn't find it either via root browser.

Also, after freezing knox, i still get the annoying message about unauthorized changes...

Any ideas?

/system/app/SuperNOVA <-- Delete that directory to get rid of SuperNOVA, a reboot will then remove it from your app drawer.

Unauthorized changes is I believe this package com.samsung.android.securitylogagent

You can open a terminal and type "pm path com.samsung.android.securitylogagent" to figure out the apk location then delete it.
 
  • Like
Reactions: crazynapkinman

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
Second post now contains a descriptive explanation of the ktoonservative governor options.
 

crazynapkinman

Senior Member
Jun 16, 2014
1,199
272
OnePlus 8
/system/app/SuperNOVA <-- Delete that directory to get rid of SuperNOVA, a reboot will then remove it from your app drawer.

Unauthorized changes is I believe this package com.samsung.android.securitylogagent

You can open a terminal and type "pm path com.samsung.android.securitylogagent" to figure out the apk location then delete it.

Froze the SecurityLogAgent in Titanium Backup and voila! No more annoying notifications!

Thanks!

---------- Post added 13th July 2016 at 12:32 AM ---------- Previous post was 12th July 2016 at 11:57 PM ----------

Could you screen shot your settings?
 

elesbb

Senior Member
Jun 20, 2010
7,864
5,311
Froze the SecurityLogAgent in Titanium Backup and voila! No more annoying notifications!

Thanks!

---------- Post added 13th July 2016 at 12:32 AM ---------- Previous post was 12th July 2016 at 11:57 PM ----------

Could you screen shot your settings?

If you give me till about beginning of August, I will have the SuperNOVA app updated with the ability to share governor profiles. But, I can make a post with my settings. Not right now tho, btw, a screenshot won't show everything.
 
  • Like
Reactions: koop1955

crazynapkinman

Senior Member
Jun 16, 2014
1,199
272
OnePlus 8
If you give me till about beginning of August, I will have the SuperNOVA app updated with the ability to share governor profiles. But, I can make a post with my settings. Not right now tho, btw, a screenshot won't show everything.

Yes, i know. You would have to take multiple screens. I and I'm sure others would appreciate it!
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 16
    I present to you SuperNOVA Kernel.

    A highly customized kernel built from ground up. I added many tweaks and features not found in the STOCK kernel, as well as some tiny bits from other kernels.

    MAIN FEATURES
    • Undervolt/Overvolt - Complete voltage control.
    • Underclock/Overclock - Additional overclocking and underclocking CPU frequencies
    • Ktoonservative governor - The legendary, the great, ktoonsez governor tweaked by myself for even more awesomeness!!! Thank you @ktoonsez!!
    • Multi-level flashlight - Using my flashlight widget plus this kernel, get mult-level flashlight settings.
    • Thermal Control - My very own customized thermal control
    • LED Control - Complete LED control, brightness, fade, charging options
    • 100% SELinux PERMISSIVE (Cannot be set to enforce by ANYTHING)
    • NOVA Controller - My own self made app to control and interact with the kernel
    • Many more I cannot remember right now, plus many more to come!!

    Things to do... (listed in priority)
    1. GPU Control - Custom frequencies, voltages and governor
    2. Camera options - More control over the camera. ISO Exposure time, FPS for slow motion etc... whatever I can improve.
    3. Vibration control - More control over the vibrations of the device
    The above list will be completed WHEN I HAVE TIME!


    I will take requests, but I will NOT add synapse support. I made my own app to control the kernel.

    I will be upgrading this thread and my kernel for as long as I own the device. But I only have so much time to update it.


    How to install?
    1. You must have a rooted Samsung Galaxy S6 on Sprint.
    2. You must have a custom recovery for flashing files.
    3. Download the kernel file
    4. Copy kernel installer file to your device.
    5. Using your custom recovery, find the installer file, select it and flash.
    6. Using your custom recovery, reboot your device.
    7. Post any issues here with a FULL write up of what/how you came across these issues.
    8. Enjoy!!
    9
    Wondering when the update is happening or did this project die since note7 release?

    You will never see my buy a phone that cannot be rooted or have custom kernels. :)

    That being said, if you read through the thread's last few messages by me, you will notice I have stated I started the semester at Florida Tech and really have zero time for much of anything anymore. But when I do have time, I usually go to the beach. You(everyone) have to realize I take away my own personal free time to make this kernel. I enjoy coding and programming and all the like, but if I feel like going to the beach, I'm going to the beach ;) lol. I get nothing back from releasing this, except all of your kind words and comments, which I greatly appreciate. :)

    But you must be patient. I was working on it yesterday, but only a little. Little by little I am completing more and more and tweaking things to perfection. Once its ready, I will release it. :)
    5
    Hey @elesbb, great job man. It's good to see some kernel development around here. I would love if maybe we can collaborate a little and get your kernel as an option in the Renegade Rom installer and maybe even if you could put together one for the edge. That's if time allows, of course. Thanks man!

    Sure man, not a problem. Just shoot me a PM with more details and we will work things out. I also have an update coming out soon for my kernel. Features app-specific profiles, general profiles, battery level mhz control, and a lot of random reboot fixes.
    5
    Hey @elesbb, great job man. It's good to see some kernel development around here. I would love if maybe we can collaborate a little and get your kernel as an option in the Renegade Rom installer and maybe even if you could put together one for the edge. That's if time allows, of course. Thanks man!
    5
    I've slowed down the CPU to 200000 min 300k max on the small cores and 300000 min 400k max on the big. Also, chose to favor little cores. I did all of this to test the impact on battery life, but I can't really notice or tell. There is a lag though but it's tolerable. I think I'd rather use @elesbb's settings.

    I have added a new feature. Instead of limiting the small cores to their smallest clock speed, it instead clocks them up to but not exceeding the small cores' value. This greatly improves battery life cause (with my settings) the CPU cycles down much faster because the task was executed more quickly allowing the CPU load to drop, causing the clock speed to drop as well.

    My undervolting has produced negligible effects. Back to running at stock voltages.

    "My undervolting has produced negligible effects. Back to running at stock voltages."

    Me too. Im sacrificing speed with minor lag for no apparent reason. I can see a lot of people either messing things up or getting frustrated with this. I was stuck in a reset loop where I had settings applied, then it would restart over and over until I was fast enough to go in and set everything to default before resetting again.

    Use the boot pref delay setting, it helps greatly (trust me, been there done that :D )

    Also, a bit about undervolting:
    Undervolting necessarily does not increase battery life alone. I personally love undervolting (everything, meaning GPU, having troubles with that and not enough time) but I love undervolting because it helps keep the device MUCH cooler. This paired with the on average lower clock speeds allows the device to not waste energy by creating nothing but heat.

    Yep. I just encountered a soft reboot during a phone call.... :(
    Soft reboot, is not kernel related. A HARD reboot is. A soft reboot goes back to the boot animation signifying a crash within dalvik op code, (ive experienced these during debloat periods and hacking/modding periods).

    A hard reboot will go all the way back to the "Galaxy S6" screen where you will see in red text, "Kernel is not SE android enforcing".

    Also, the kernel you guys are using has issues and bugs with some of the recycled code from KT. I am not sure if his code mixed with mine do not play together, or what it was. But I re-wrote the problematic code and now I have gone weeks without issues.

    I have the update ready, just finalizing SuperNOVA app to pair with the new features of the kernel. I am hoping the end of this weekend to have the kernel released. In the mean time, I need to go sell a kidney to afford my school books and online subscriptions xD

    Hope everyone is doing well!