[APP] NS Kernel Tools v0.1 - Live OC - Nexus S Android Development

I've started writing a simple app that allows users to edit kernel settings (such as Ezekeel's Live OC, Deep Idle, etc.). The app currently only allows you to edit the Live OC value but I plan to add support for all of Ezekeel's kernel mods on a day when I don't have as much studying to do.
In the future I plan for the app to be able to:
- Toggle/edit settings for all of Ezekeel's kernel mods
- Set all or certain settings on boot
- Backup settings so one can easily restore kernel settings (after a wipe, for instance)
If there is not any demand for such an app (of if it already exists!), someone please reply and say so. Otherwise I will proceed with development when I have the time.

There already is an app like that called NSTools (http://forum.xda-developers.com/showthread.php?t=1333696). It is open source so you might want to consider cooperating with arifhn on improving that app.

Very nice.. It's always handy to have a tool like this.. Seems like it would be similar to JonathanGrigg's Proton Voltage control..
If you continue with development on this, it definitely would be handy to include changing the voltages for both the arm and int (per Ezekeel's custom voltage mod).

brenix said:
Very nice.. It's always handy to have a tool like this.. Seems like it would be similar to JonathanGrigg's Proton Voltage control..
If you continue with development on this, it definitely would be handy to include changing the voltages for both the arm and int (per Ezekeel's custom voltage mod).
Click to expand...
Click to collapse
Feel free to borrow or improve on Proton code if you need, its not all crash hot, but the command interface isn't that bad. I'm just too busy to update things right now.
Sent from my Nexus S

Related

[APP][OC/UV/Governor][GPU OC][GB][21 June]Control Freak 0.5beta (NEW!!)

Control Freak, the OC/UV app for Gingerbread!
PLEASE READ THE FULL POST! !!
NEW RULE! Read the ENTIRE op, plus the last few pages BEFORE posting a question!! I don't mind sharing information and helping people, but answering the same question on every page is getting old!!
Control Freak is a re-write of xan's Voltage Control app, designed to work with Gingerbread based kernels. It has (most of) the features of my Voltage Control EX.
Beware!! This app is still in development! Any issues are being worked on, but it may not run perfectly!! Also, I, nor anyone who has helped to make this app or the kernels/roms it works with are responsible for any damages caused by use of this app or any kernels/roms supported by this app!!
Features:
Designed for use with JVx based Gingerbread kernels
Works with cm7 kernels that support OC/UV
Specifically designed around features present in existz's Talon kernel
Allows enable/disable specific states
Allows undervoltage control on a state-by-state basis
Allows limiting clock to a specific speed
Allows changing of governors
Allows control of Cpu Threshold settings - see note2 bellow.
States enabled info is found by opening each UV control.
TIS info is now shown on the main screen
TIS info for Deep Sleep
TIS percentages
Logs all major start up values as they are polled from the sysfs.
Logs all settings to be applied when Apply is selected
Logs all settings to be saved when Save As Boot is selected
Controls GPU Clock settings on compatible kernels!!
GPU O/C Capable Kernels for Captivate:
Talon 0.3.1 by eXistZ -Released to public
Le Kernel du Jour by TheEscapist - CM7, may be only available on private test versions, talk to TheEscapist for more info
Glitch Kernel by glitch - CM7, may be only available on test versions, talk to glitch for more info
Note: On Gingerbread, the conservative governor is NOT recommended! Interactive/ondemand/smartass governors are supported, and interactive is the preferred governor! Talon does not have smartass implemented yet, so smartass will not show up in the Governor dropdown on Talon.
Additional Note: As of Talon 0.2.1, interactive governor is NOT included anymore! Existz removed it in favor of the ondemand governor.
Note2: Cpu Threshold control is NOT supported on most Gingerbread kernels, since Cpu Threshold is used by conservative governor. I just added the Cpu Threshold settings, so that I can make this backwards compatible with FroYo kernels/roms.
NOTE 3:If you are experiencing issues with settings not sticking on reboot, go to the Market, download the busybox installer by stericson, and install busybox 1.17.1. Some roms, including Perception II, have a version of busybox 1.18.4 that does not have run-parts compiled into it. Without run-parts, nothing in /etc/init.d gets loaded at boot. The version of 1.17.1 included in stericson's busybox installer DOES have run-parts, so it will work.
Change log -
Control Freak 0.5b:
- Added GPU Overclocking controls! Please note that your kernel must support GPU Overclocking for this feature to work! Also note that this version has NOT been tested on kernels without GPU Overclocking, so if anyone has a kernel that does not have GPU Overclocking, test this out and let me know how it goes!!
- Fixed the states enabled command to remove the extra 0 at the end that was being added due to Deep Sleep info
Control Freak 0.4.2b:
- Fixed fc issue on kernels with higher number of states available
- Changed the icon, the new icon was designed by b_randon14
Control Freak 0.4.1b:
- Fixed save function, now the proper max frequency is written to S_volt_scheduler
- Added logging to save function
- Added logging to apply function
- Log is now cleared when it is exported, so the log starts from scratch after each export
Control Freak 0.4b:
- Added Deep Sleep TIS info.
- Added TIS percentages.
- Added logging
- NOTE: Logging DOES NOT use logcat, so there is no need to enable logcat to generate logs, or to view/export the logs.
Control Freak 0.3.5b:
- Fixed the Max Frequency issue where any changes to the Max Frequency dropdown were not being saved. Now it writes the proper value to the proper place.
- Fixed another issue with Max Frequency dropdown. If you applied a Max Frequency LESS THAN the highest state enabled, on closing and restarting CF, it would show the highest enabled state as the max frequency, regardless of current setting. Now, if you set limit to 1000MHz, it will show 1000MHz at launch, no matter how many states above that freq that are enabled.
- Fixed the SI unit prefix for frequency. Forgot that 'm' is for "milli" and 'M' is for "Mega." And I was even arrogant enough to tell someone that I was right!!! Anyway, it is fixed now. And a HUGE thank you to aalh for pointing out my mistake!
Control Freak 0.3b:
- Fixed the TIS info issue. Now each state shows it's own TIS, instead of the
the TIS for the first state.
- Moved the TIS info to the main screen, so that it is visible all the time.
Control Freak 0.2b:
- States info issue resolved
- Unsupported kernel issue resolved (Same underlying cause as the states info issue)
Control Freak 0.1b:
- Initial Release
Known Issues -
- Sometimes, gpu read out will disappear for some states at random. If you open the uv/gpu controls, it will show the read out again. Closing the controls may cause that state's readout to stay and cause other states to loose their displays at random. May have to do with a glitch in the code to hide gpu controls for non-gpu compatible kernels.
- Sometimes it will not pull states_enabled_table info. This causes the CPU Limit dropdown to be empty. As an interim solution, until I can track down why this is happening, either exit Control Freak and launch it again, or simply enable each state, and they will be added back to the dropdown.
- Occasionally will report an unsupported kernel. If you are sure your kernel IS supported, simply restart.
Sources available at https://github.com/shane87/ControlFreak
Report any issues by posting IN THIS THREAD or sending me a PM. But please, read through the thread, and check the known issues section of this post before posting an issue. If your issue is listed, quote the original issue report, and add details about your system and set up. "Me too!" comments are not helpful and will be ignored.
Issues may also be reported by sending an email to [email protected] If you use this method to report bugs/issues, please export the log from Control Freak and attach it to the email. To export Control Freak's log, launch Control Freak, press Menu > Export log. The log will be exported to /sdcard/cf.log. Please attach this file to any emails addressed to me using the above link.
NOTE: I removed CF 0.3b due to the number of bugs in that software. Granted, all of them were fairly minor bugs, and primarily affected the UI, other than the Max CPU Limit issue. But with that issue, on top of the inability to enable/disable a state since you couldnt see the checkboxes, ther wasnt a whole lot you could do with 0.3b. Anyway, 0.3.5b takes care of those problems.
I removed CF 0.4b due to the Save errors, 0.4.1b has the same functionality, and it works right!
A HUGE thank you and shoutout to b_randon14 for designing the new icon!
Keep up the good work!!
If anyone has a Samsung Intercept, or knows anyone with a Samsung Intercept, check out bROM over at sdx, a deodexed, rooted rom designed by my brother, b_randon14!
Anyone interested in contributing, drop me an email at [email protected], and I will get you added as a contributor on github!
Reserved +++
I know its still in development but with JVH out and existz already working on a JVH talon build (continuum rom has it for now), you might have to implement that too.
grkmaster said:
I know its still in development but with JVH out and existz already working on a JVH talon build (continuum rom has it for now), you might have to implement that too.
Click to expand...
Click to collapse
Yeah, I am aware of JVH, and I plan on adding JVH compatibility as soon as existz's begins to release JVH-based kernels. Actually, as long as the sysfs is still implemented the same way, there SHOULDN'T be any issues. Of course, I thought the same thing about going from FroYo to to Gingerbread, and it wasn't quite that easy. But compared to the full re-write, which has taken almost three weeks, going from JVB to JVH shouldn't be as bad.
Anyone interested in looking at the sources on github, I have committed fix that prevents the app from fc'ing at launch. As it turns out, calling the inflater function to inflate a view does NOT save that view unless you specifically tell it to! Seriously though, it was a simple issue of forgetting to add a word or two of code. It is amazing how one messed up variable, or even a missing period, can complete crash an app. Now, just to get the layout setup so that everything is visible and positioned correctly.
Hopefully, I will have a running release ready by the end of the day.
P.S. If you intend to DIVIDE by 1000, and you accidentally put SUBTRACT 1000, Java/Android won't tell you that you are an idiot. It will just cause the app to crash, lol.
Release
Control Freak is live!!
Please read the OP, especially the known issues section.
Using this app right now! Let's see how it goes! Im accutally excited cause I don't really like setcpu or voltage control
Sent from my GT-I9000 using XDA App
will this app also work with cm7 gb or just the i9000 ones
superj3211 said:
will this app also work with cm7 gb or just the i9000 ones
Click to expand...
Click to collapse
I do not know. I don't have cm7 installed, and have not tested it against cm7. If cm7 implements oc/uv in the sysfs like Talon does, it SHOULD work, but again, no guarantees.
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
Anyone interested in designing a new icon for Control Freak? I have zero graphics design abilities, and would seriously appreciate if someone could design a nice icon. I will give a bounty of $5 US to the best design!!!
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
Cool. Something new to play with.
sent from my cappy rocking gingerbread (CM7)
shane87 said:
Anyone interested in designing a new icon for Control Freak? I have zero graphics design abilities, and would seriously appreciate if someone could design a nice icon. I will give a bounty of $5 US to the best design!!!
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
Click to expand...
Click to collapse
If i had any design ability Id help out but just like you they suck lol ..
Hope someone helps out since there is plenty of great graphic designers aroud here
Control Freak does not seem to pull up the states table at all under TalonDEV 0.1.7-JVH-Test_11 for Continuum, but Voltage Control EX does it most of the time.
Sent from my GT-I9100 using XDA App
rajendra82 said:
Control Freak does not seem to pull up the states table at all under TalonDEV 0.1.7-JVH-Test_11 for Continuum, but Voltage Control EX does it most of the time.
Sent from my GT-I9100 using XDA App
Click to expand...
Click to collapse
Read the OP. Control Freak does not use the States tab. If you press on the state, like you are going to change uv settings, it will show the enable/disable checkbox and the tis info.
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
shane87 said:
Read the OP. Control Freak does not use the States tab. If you press on the state, like you are going to change uv settings, it will show the enable/disable checkbox and the tis info.
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
Click to expand...
Click to collapse
Sorry. I missed that at first.
shane87 said:
Read the OP. Control Freak does not use the States tab. If you press on the state, like you are going to change uv settings, it will show the enable/disable checkbox and the tis info.
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
Click to expand...
Click to collapse
I think its a great alternative way and possibly keep it that way. State tab shuoldnt be that big oa deal if we have a option like that to enable and disable a checkbox under the states
I like the states enable/disable being in there with the UV setting, but I miss being able to see tis all in one place without having to scroll. Maybe the tis could be put on the line where the mV. Is displayed? I don't much miss the tis % but I can see that's not included and it is slightly handy.
More importantly than appearance I've noticed that all states show the same time for tis. Using cpuspy I see the real results. Also I'm still having issues sometimes where opening the app no states are selected and the Max clock is empty until I check at least one state. I also sometimes have blanks for scheduler and governor.
The new voltage control lite does not seem to suffer these issues, however I have noticed an inconsistency across the board about being able to save boot settings (sometimes works,sometimes not). And yes my init.d folder is chmodded correctly.
Rom continuum 5.4.1
Kernel talon 0.1.7
iXNyNe said:
I like the states enable/disable being in there with the UV setting, but I miss being able to see tis all in one place without having to scroll. Maybe the tis could be put on the line where the mV. Is displayed? I don't much miss the tis % but I can see that's not included and it is slightly handy.
More importantly than appearance I've noticed that all states show the same time for tis. Using cpuspy I see the real results. Also I'm still having issues sometimes where opening the app no states are selected and the Max clock is empty until I check at least one state. I also sometimes have blanks for scheduler and governor.
The new voltage control lite does not seem to suffer these issues, however I have noticed an inconsistency across the board about being able to save boot settings (sometimes works,sometimes not). And yes my init.d folder is chmodded correctly.
Rom continuum 5.4.1
Kernel talon 0.1.7
Click to expand...
Click to collapse
Yeah, I am planning on adding tis info, plus an indicator for enabled/disabled status on the line with the uv, so you can see everything in one glance.
I knew that the states info still isn't getting pulled right sometimes. You said vc lite has that issue fixed? Do you know if vc lite has sources available, so I can see how it got fixed?
I didn't know that the tis was messed up. I'll take a look at it tomorrow and see if I can track it down.
And for future reference, please report issues by clicking the link in the op. I check this thread often, but I check my issue tracker on github more often, usually, lol.
Also, I am working on adding governor specific tweaks, that will be displayed in a sliding drawer like vcex's states tab.
And an enormous thanks to all who use this app and give me feedback!!
Sent from my Samsung Captivate using XDA App.
ROM: Cognition v4.3
Kernel: Onix 2.0.4, Voodoo Sound v7, Voodoo Color, lagfix
Modem: I9000 tljl3
HW Build Number: 1101
AHA
Here you are
subscribed
I will start playing with CF now
And I will think about an icon
(I did the one for Moneydance a few years back, a Linux personal Finance app))
Question
Interactive, just sits at 1.2, unlike whatever VCEX did which made it scale (or hop, depending on semantics)

[MOD][KERNEL] Touchkey Backlight Dimmer (BLD)

**** OUTDATED !!!! SEE BELOW ****
Version 1.0
It bugged me that there was no way to switch off the touchkey backlights on the Nexus S, so I looked into it. Starting with the Netarchy kernel I made some modifications exposing two switches in /sys/.../backlightnotification/ to manually turn on/off the button backlights. However on my i9020 the button backlights get activated automatically once you use the touchkeys - I could not check the i9023 since I do not have one. This behaviour seems to be controlled by the touchkey firmware which only is available as a binary, so without some hex editing the binary there seems to be no way to change this. The next best thing would be to disable the touchkey backlights everytime they get activated, however since I am lazy instead I chose a quick and dirty approach of using a cron daemon to simply trigger the off-switch once every minute. This is good enough so the backlight does not bother me while watching movies, etc. and the extra battery drain is practically zero.
Downloads:
www.multiupload.com/CHFDDBV6BP Kernel for 2.3.3 Custom ROMs
www.multiupload.com/0RPO16QCN0 Kernel for 2.3.4 Custom ROMs
www.multiupload.com/823MR3UZVD Kernel for 2.3.4 Stock ROM (unlock and root required)
www.multiupload.com/WYBGK5N3H9 Cron Backlight Dimmer for all ROMs (root and busybox with crond* required)
www.multiupload.com/EXC6465ZRC Cron Backlight Dimmer for all ROMs including busybox 1.18.4 (root required)
* How to check if your busybox supports crond:
Either in terminal app or adb shell write 'busybox --list | grep crond'. If you get 'crond' as a response your version of busybox supports crond.
Changes to the source code:
www.pastie.org/2122063
**** ALSO OUTDATED !!!! SEE BELOW ****
Version 2.0
Based on the latest BLN version 9, I made some modifications to implement a backlight dimmer which does not need an external program (like cron) to trigger an off-switch.
To activate the dimmer, just echo the dim interval in ms (this is milliseconds; 1000ms = 1s) into /sys/class/misc/backlightnotification/in_kernel_dimmer. If you pass a value of 0, the dimmer will be deactivated.
Here are the modifications to the source code: http://www.pastie.org/2378721
**** UPDATE ****
Version 3.0
Another day, another backlight dimmer version.
The previous implementations had the drawback that the time when the touchkey backlights were switched off was entirely independent of the time the touchkeys were pressed (and thus reactivated) for the last time. Consequently, the time until the backlights were deactivated was essentially random and could vary from practically zero up to the defined interval value.
Some people commented on that and I agree that it would simply look much more elegant if the dimmer would behave more consistently. So I sifted through the source code and found a way to detect the a press of the touchkeys which both works for the i9020 and i9023. This made it possible to link the dimming of the touchkey backlights to a touchkey press and have the backlights switched off with a consistent delay.
Also, this time instead of being lazy and simply hacking the dimmer functionality into BLN, this implementation does not depend on BLN anymore and can be included in the kernel independently of BLN (with CONFIG_BLD=y). This should improve the maintainability in case BLN or this tweak gets updated.
In /sys/class/misc/backlightdimmer, pass 1 or 0 to 'enabled' to enable or disable the dimmer. Pass the delay in ms (this is milliseconds; 1000ms = 1s) to 'delay'. The default state is disabled and a delay of 5000 = 5s.
Changes to the source code:
http://www.pastie.org/2388552
http://www.pastie.org/2388562
http://www.pastie.org/2388614
BUGFIX
I got reports about the delay not properly working. Found a bug that might have caused this problem.
Bug fix: http://www.pastie.org/2392734
BUGFIX #2
Turns out the implementation of the Backlight Dimmer was potentially unstable. I have made some changes to avoid possible problems.
Bug fix: http://www.pastie.org/2403815
BUGFIX #3
BLD was not working properly for the i9023 since the backlights were not re-enabled on touch which has been fixed in this patch.
Bug fix: http://www.pastie.org/2419575
BUGFIX #4
Patch to avoid race conditions.
Bug fix: http://www.pastie.org/2441553
No further patches will be published here. I have set up a git repo for all my tweaks. Each mod has its own branch to keep the tweaks cleanly separated and one can simply pull the latest patches from the corresponding branch.
https://github.com/Ezekeel/GLaDOS-nexus-s/tree/bld
Get Jonathon Grigg's 'Spark Mod Manager' GUI for controlling BLD: http://forum.xda-developers.com/showthread.php?p=17291034
Thanks to Netarchy for his help.
I do not accept donations and since I reached my 50GB limit of free space on SpiderOak, thanks to all of you kind people who got an account using my referral link, I could not ask for more.
Instead if you really want to donate your hard earned money to someone who deserves and needs it, consider donating to the Free Software Foundation at fsf.org: These guys are at the frontline when it comes to keeping Linux free and fighting these greedy bastards who think they are entitled to collect royalties and other fees from Linux users due to some silly patents - and if Linux falls, Android will be next.
nice work man
now if only we could make em brighter too >.>
also here for everyone
www.multiupload.com/CHFDDBV6BP Kernel for 2.3.3 Custom ROMs
www.multiupload.com/0RPO16QCN0 Kernel for 2.3.4 Custom ROMs
www.multiupload.com/823MR3UZVD Kernel for 2.3.4 Stock ROM (unlock and root required)
www.multiupload.com/WYBGK5N3H9 Cron Backlight Dimmer for all ROMs (root and busybox 1.17 or higher required)
source changes
www.pastie.org/2122063
op if you want these removed just say the word, just figured id help others out with your work til you earn your wings round here
Haha exactly, mine are very dim as well.
any chance of a ns4g edition?
I use Adjbrightness to turn off the button lights on my Aria. Works wonders.
shabbypenguin said:
any chance of a ns4g edition?
Click to expand...
Click to collapse
The 2.3.4 kernels should work for ns4g. If you run into problems I will look into it again.
I also send Netarchy the changes to the kernel I made and asked him if he could integrate it into his kernel, so I do not have to compile my own version each update. If you feel that this tweak is useful, sending him a PM and telling him that you like this tweak might help (but please do not get on his nerves; he has more important stuff to do).
ah alright, cool thanks
Thanks!
And yes, these restrictions are retarded
Optic2 said:
I use Adjbrightness to turn off the button lights on my Aria. Works wonders.
Click to expand...
Click to collapse
Sadly that doesn't work since the Nexus S button lights are being *****es...
does this affect bln?
theallian said:
does this affect bln?
Click to expand...
Click to collapse
No. I am using both BLN and this tweak simultaneously.
Ezekeel , thank you for this tweak and taking the time to share it with us. This is one thing that has annoyed me about this phone!
I'm nto sure if you know but Netarchy's latest version is now 1.3.7!
Will you be keeping this thread updated?
bringonblink said:
I'm nto sure if you know but Netarchy's latest version is now 1.3.7!
Will you be keeping this thread updated?
Click to expand...
Click to collapse
I asked Netarchy if he could include the changes in his kernel but have not received an answer yet.
I am using the latest stable CM, so everytime a new stable CM version using a new kernel will be released I will compile a modified version of corresponding Netarchy kernel (with bfs) including these backlight tweaks for my personal use. So, I can upload these and put the links in here.
However, I am not planning on providing modified kernels for all versions of the Netarchy kernel and for all possible variations (cfs - bfs, custom - stock) anymore. I have published the changes I made to the source code and every kernel dev can easily intregrate these into his custom kernel. So if you want this feature available in your favourite kernel, contact the corresponding kernel dev and ask him nicely to integrate these backlight tweaks.
I too would like this option. I love how sleek the Nexus looks as a black slate. Is making just the changed files into a flashable zip possible? That way anyone on any kernel can use this?
Ezekeel said:
I asked Netarchy if he could include the changes in his kernel but have not received an answer yet.
I am using the latest stable CM, so everytime a new stable CM version using a new kernel will be released I will compile a modified version of corresponding Netarchy kernel (with bfs) including these backlight tweaks for my personal use. So, I can upload these and put the links in here.
However, I am not planning on providing modified kernels for all versions of the Netarchy kernel and for all possible variations (cfs - bfs, custom - stock) anymore. I have published the changes I made to the source code and every kernel dev can easily intregrate these into his custom kernel. So if you want this feature available in your favourite kernel, contact the corresponding kernel dev and ask him nicely to integrate these backlight tweaks.
Click to expand...
Click to collapse
Thanks for the reply, will do
Sent from my Nexus S
anaglich said:
I too would like this option. I love how sleek the Nexus looks as a black slate. Is making just the changed files into a flashable zip possible? That way anyone on any kernel can use this?
Click to expand...
Click to collapse
I do not see any way one can achieve the same without a custom kernel.
Alright, I wish I knew how to compile a kernel. I would love to see this option implemented in Netarchy's or Mathkids kernel. I have attempted to contact both in regards to this.
anaglich, I will definitely look into it. Sorry for the late response!
ezekeel: since i only looked at the cron .zip last night after nightshift, i didn't see crond and there is none on my phone. Do you have an arm version to slap on there?
Unless it's part of busybox 1.17, then i'm a victim of old ass cm7 busybox it;s 1.16 and does not have crond either.
Alright, there is also such a thing as "too new", exactly 1.17.1 and there is a crond.
now let's see about installing this. patch is long in.
EDIT: Thanks, seems to work just fine. Can't say it ever bothered me, but i don't watch movies on it either.
EDIT2: Thanks again, users like it. Really appreciate you offering this.
You are welcome. I am glad some of you kernel devs have already integrated this tweak into your kernels.
It was fun figuring out how to compile a kernel and how to package it properly, but once I knew it, it was quite repetitive and got old fast. So for me personally, I am glad that now I have a broader choice of kernels available without modifying it myself. Yeah I am lazy.
Now if I can get Netarchy to include it too, I would be settled for future updates.

[MOD] IncrediControl - Easy control of voltages and kernel settings!

Please read this post through thoroughly before downloading.
This app allows you to control your CPU voltages with an easy to use interface. You can increase or decrease voltages (undervolt or overvolt) for all frequencies or fine tune voltages for each individual frequency.
! HTC DEVICES, currently only single core devices are supported !
! ROOT is Required !
! Kernel that supports HAVS or SVS voltage adjustment REQUIRED !
In addition, if you are an Incredikernel user, the app may also be used to toggle Incredikernel specific features on and off, namely USB fast charging and audio boost.
Get it over at http://www.incredikernel.com
IncrediControl is now also available in the market:
IncrediControl
IncrediControl - Ad Free
Additionally, all donators are eligible to receive the Ad Free version. It doesn't matter how much or how little you donate or have donated. If you don't want to purchase the app from the market, you may donate using the button on this page. Please register on the site first and include your username in the comments box.
All previous donators, please register on the site if you have not done so and contact me with your username!
NOTE: The settings in the general tab are only functional in kernels that have implemented the simple sysfs interfaces for usb fast charging and audio boost. If you toggle them, its not going to break anything, but they won't work and the app may crash. If you would like your kernel dev to implement the interfaces, please direct them to these two commits:
https://github.com/Chad0989/android_kernel_common/commit/a7c21fa0391c225900f93960362535179c0cecc9
https://github.com/Chad0989/android_kernel_common/commit/41dc138bae23dc7582de72a4d9895aaa8e1f8b2d
NOTE2: It is a requirement of the HAVS adjustment that the kernel you are using has the HAVS sysfs interface implemented. If it does not, it will not work. Most non-stock gingerbread kernels have the HAVS adjustment. Very few sense kernels have the adjustment. I believe ziggy's latest is the only one that does.
NOTE3: Before using, please delete any boot scripts you may have in /etc/init.d that toggle any of the settings this app controls.
Get it at http://www.incredikernel.com
Restore script - use this if you went too low and find yourself in a boot loop. Flash through recovery:
http://www.incredikernel.com/?p=229
This excites me.
Neat
Sent from my Synergy Rom using Tapatalk
Great chad! Finally an app that does all the work.
Sent from my ADR6300 using XDA App
Hey Preview 2 has the HAVS, I think you should put the minus on the left of each number field. So that way it's like
- [voltage] +
mikeymop said:
Hey Preview 2 has the HAVS, I think you should put the minus on the left of each number field. So that way it's like
- [voltage] +
Click to expand...
Click to collapse
I concur. And will this work on the incredikernel?
J/k on the the question part (because I know someone will take that seriously ). Great work, chad.
Chad, here's something to ponder or consider. Please think about putting in some way to back-up your settings. That way when flashing new roms you could just restore from back rather than settings all again. Just a thought.
Great thanks!
I know viperboy was working on something similar.
I have to say though your aggressive undervolt package is the tits. It is rock solid for me, and I can't lower anything -25v from there without crashing.
RebelShadow said:
Chad, here's something to ponder or consider. Please think about putting in some way to back-up your settings. That way when flashing new roms you could just restore from back rather than settings all again. Just a thought.
Click to expand...
Click to collapse
That may come in the future.
@everyone: Anyone try it on other devices that have havs + sysfs interface? Evo, desire?
effing sweet..... no more term emulator for me
Chad, I've noticed that after I reboot the phone and go back into the app, the boxes for "set on boot" are unticked.
Also I know you already know this but it's sort of a pain in the ass to set the SD card speed (your other app) after every boot, so if you could do a "set on boot" for that one too that'd be awesome.
Keep up the good work, I like how every time I check back here you have a bunch of updates
I've noticed after installing a new nightly with no wipes, the values revert to stock, even with set on boot.
POQbum said:
Chad, I've noticed that after I reboot the phone and go back into the app, the boxes for "set on boot" are unticked.
Also I know you already know this but it's sort of a pain in the ass to set the SD card speed (your other app) after every boot, so if you could do a "set on boot" for that one too that'd be awesome.
Keep up the good work, I like how every time I check back here you have a bunch of updates
Click to expand...
Click to collapse
The boxes are unticked on purpose, so that the file is only written when you specify that you want to set the current settings on boot. The other option is to have it ticked when the boot script is found, but then you would have to untick it when you want to just play with voltages (but not change your boot script) and then tick it again to set on boot. Would everyone prefer it that way?
I should also specify that when you tick set on boot, you also must click set in order to truly set it on boot. There is also the option to have it write the file when set on boot is ticked. I just need to know what everyone's preference is.
SDspeed might be added to a future release and would have the set on boot option.
PonsAsinorem said:
I've noticed after installing a new nightly with no wipes, the values revert to stock, even with set on boot.
Click to expand...
Click to collapse
That's because new nightlies overwrite the /system folder where the boot script is stored. I'll probably add a backup option too so you can load the defaults, either that or change over to storing the values in a database and loading them via the app on boot as opposed to the boot script.
Looks cool.
Backup database - yes!
Default set on boot once it's been ticked - yes!
Thanks for this, Chad!
Zeam & Incredikernel
CM7 latest Nightly
7/19/2011 - Preview 3:
Changes include:
Added +/- All Min and All Max buttons
Reordered the + and – buttons to flank the voltages to clean up the layout a bit.
Removed the title bar for more vertical screen space
Next up is feature checking / disabling of functions your kernel doesn’t support as well as voltage checking.
Get it at http://www.incredikernel.com
Here's an icon I made in photoshop for the time being, so there won't have to be that plain android icon.
Download it here: http://dl.dropbox.com/u/12361010/volts.png
nagasgura said:
Here's an icon I made in photoshop for the time being, so there won't have to be that plain android icon.
Download it here: http://dl.dropbox.com/u/12361010/volts.png
Click to expand...
Click to collapse
Thanks, I'll add it for the next release.
The + on the Max voltage doesn't display for me.
Love it, fast and simple volt changing.. Makes viperMOD ancient news.

[AKT] Advanced Kernel Tweaks v1.6 FINAL | Insane Battery & Performance(SD820/1|OP3/T)

[AKT] Advanced Kernel Tweaks v1.6 FINAL | Insane Battery & Performance(SD820/1|OP3/T)
IMPORTANT ANNOUNCEMENT #2​REALLY IMPORTANT ANNOUNCEMENT:
Please read it!​
We ( @patalao and me) have decided to create a new thread since the @op from the thread we were using seems to be inactive, so doing this will give us more freedom for editing the main post and providing you guys with more information.
I also need to thanks all the awesome people that have made this possible, therefore thanks to @soniCron and @Alcolawl for being the creators of the original guide and all the fantastic tweaks that you have made.
Thanks to @flar2 for his great app (EXKM) and his kernel and to @patalao for his superb tweaks and all the help he has provided me.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
All that you are about to read is based on THIS THREAD so go there and thanks @soniCron for it.
I'll go ahead and copy and paste some of the firsts paragraphs so those who don't know what this all is about can understand a bit.
I'm about to tell you how to get buttery smooth, lag-free performance with insanely good battery life, using an old school governor featured in practically every kernel... This tweak is applicable to every phone with any ROM or kernel--stock or custom--that provides the Interactive Governor.
Yeah, yeah... everyone promises good battery with great performance, but who actually delivers? Maybe it isn't as smooth as you want, or maybe it requires something your kernel or ROM don't support. Or maybe the battery life promises just aren't what you expected. There's always some awful compromise. Not here!
This isn't a guide to get 36 hour battery life... provided you never use your phone. That's deep sleep optimization, which is lovely and all, but what good is the phone if you can never use it?! And with the new Marshmallow Doze feature, this strategy is becoming a thing of the past. What I'm talking about is 7-14 hour screen on, actual hands-on usage times! Without compromising anything, you can get 7-8 hour screen on usage with regular, no-compromise usage habits: daytime visible screen brightness, both radios on, sync on, network location on, all the regular usage features, the whole kit and kaboodle... all smooth as a baby's butt and snappy as a Slim Jim! (Up to 14+ hours if you can stand minimum brightness and WiFi-only with a custom ROM and other stuff turned off! And this is with stock voltages and full frequency range--you'll likely get even more if you choose to optimize those as well!)
However, it should be noted that this does not apply to gaming, heavy camera use, etc. Anything that is an automatic battery killer in and of itself. There's nothing that can be done about anything that forces the phone to utilize its maximum resources all the time. But you should know that by now. Further, this guide is about optimizing the CPU as much as possible. It does not cover things like eliminating wakelocks so your phone sleeps well, removing unnecessary and battery draining stock apps, keeping your screen brightness down*, and all that stuff that's been covered in other posts ad infinitum. Those optimizations are up to you.
If you really want to know the principles of this tweaks, please go to this thread since there everything is really well explained and I know you guys just want to apply the tweak and forget about everything behind it, so just keep scrolling!
Voltages and Frequencies:
So recently I have been investigating about the Voltages of our device (since that is a really useful information to know) before that we only have the Nominal frequencies (If you don't know what I am talking about go ahead and read @soniCron thread because I won't explain it) we could develop some tweaks with that, but we were pretty much making blind shots, guessing and hoping that all will be right. Well, now that we have all this information we can optimize our tweaks even more so expect new updates and rework for the current tweaks and of course new ones.
I have made a little spreadsheet with the Nominal and Efficient frequencies for you guys, so you can take a look and maybe modify our tweaks to your needs, since, all of them have been tested by @patalao, our tester and me, which involves that are tested without usage and not yours.
No much to say about frequencies so we move right away to the voltages
We have more to talk about this, as you can see OverClocking have NO down points since it will consume the same voltage as the maximum stock clock speed and it will give use more performance. UPDATE: It's true that the voltage it's the same, but there is some downpoint which are explained in this posts. Here and here Thanks to @bedalus for pointing itn out!
Notice that the voltages on CM ROMs are higher that on OOS and that the values were shown there are from OOS. We are already working on a flashable zip or script for modifying those values since cannot be modified anyway else.
On the Snapdragon 820 (Our chipset) things have changed a lot from the previous chipsets like the 808 (Nexus 5X) and 810 (Nexus 6P). Now we are back to the Quad-Core, which is good, more cores= more battery consumption but we continue with the Little.BIG set up, where we have a Little Cluster (really efficient and fast) and a Big Cluster (slow but good for heavy loads). On previous chipsets, the Little kernel was really good on low-mid clock speeds and the Big cluster was really good on high frequencies and bad on low. Well, this is still true, but not we don't have such difference than before. Our Little cluster is going to be "the main thing" as it was before, but now the Big cluster has a really low consumption on lower frequencies so can be really good for sustained loads which only demand low~mid clock speeds as well it will be used as a quick burst for help the Little cluster to not reach High freq here it's not that efficient anymore.
How this affect your device (ROM/KERNEL)
You might NOT get the same results as me or other, it will depend mainly on your usage, secondly on the kernel and finally on the ROM that you currently using.
Not all the tweaks work the same way for certain kernel, what I mean with this is that the battery life/performance might be better running X kernel with X tweak, but the same tweak applied to another kernel might not be that good at all
Wait what? What you want to tell me is that some kernel is better than other, right?
Yes and No, Some kernel is better than other but also, some kernel perform better with certain tweaks as can be seen in the following screenshots (This test have been performed using AnTuTu tester with a clean install of last RR + the Kernel, nothing else. I know is a benchmark and the perfect thing whole be a real life test but that takes days, so If somebody wants to do it, I'll post the results)
Disclaimer:: This is just a profile (tweaks) for the interactive governor. If you experience any unexpected fc, reboots, massive stuttering/lagging, etc, this profile isn't most likely not responsible for that.
What About Touchboost?
Since I've noticed that a lot of people was asking about Thouchboost, I decided to add this little explanation from @soniCron
" Touchboost is a nifty feature in a lot of kernels (including stock on Nexus 5X) that jumps up the frequency so that you experience minimal lag. However, with all the above settings, touchboost is usually detrimental to the efficiency of the device!
We generally want to keep the CPU on the lowest possible frequency as much as possible, and touchboost interferes with that. Further, because we've set up the maximal and minimal efficient clock rates, as well as burst processing from the 2nd CPU core, we don't need touchboost!
If your kernel allows you to shut it off, try to do so and see if the responsiveness of your device is acceptable. On the OP3 (and pretty much all the devices), touchboost adds no perceptual performance gain and only hurts efficiency and battery life. If your kernel doesn't allow you to turn off touchboost, try another one.
Your battery life will thank you! "
With all that been said, you shouldn't confuse Touchboost with CPU Boost and more specifically Input boost. Both are used to boost the clock speed of our device whenever we touch the touchscreen, so we don't suffer any lags.
The difference is that Input boost can be configured and Touchboost cannot, making it a really inefficient.
MY DEVICE LAGS!!! WHY?!?!
First of all, it's a "normal" thing, as I have stated before, all these tweaks have been done for fit my usage or certain usage which is most likely not the same as yours. Because this, when the are put on a certain scenario the might stutter or lag just a bit (If you are experimenting huge lags, you have done something wrong)
And yes, this can be fixed. We have a couple of ways of fixing it:
First of all, Check If the tweaks have been applied correctly
Our first one is modifying the Input boost (not touchboost) most of our tweaks have an already established Input boost clock speeds and time, you can incise does too a bit. For example, we have 960(Mhz) for all the CPU at 40ms you could bump it up to ~1036(Mhz) and 42ms, don't modify too much this values since it will potentially increase your battery drain.
Our second tool for fixing lags is min_sample_time , my recommendation is to increase the value by 5000 each time till you no longer suffer any stutter or lag.
Try another tweak, for example;
If you are using Project X.A.N.A Battery, try using Balanced option...
Still having lag?
Get rid of unnecessary (background-)apps
Try a different IO-Scheduler
Try another profile
My phone still uses too much battery
First of all, Check If the tweaks have been applied correctly
Make sure that you have disabled touchboost.
Set brightness to a lower level.
Use a dark / black theme
Don't play games all day
Try other tweak, for example;
If you are using Project Zhana Balanced, try using Battery option...
JOIN OUR SLACK CHANNEL FOR TESTING BETA TWEAKS
VOTE FOR YOUR FAVORITE PROFILE
I'll keep this post updated with new information, so make sure to subscribe to it.:good:
The Profiles:
=================================================================================================
Introducing Advanced Kernel Tweaks [A·K·T] | All-in-one Project
All the profiles will be featured there, some make sure to check it out!
Over here
=================================================================================================
Project Zhana & X.A.N.A v4.2: (Everybody should try it!!)
Go to this post for the full lenght explanation.
This tweak has all the new discovery voltages and some other new techniques, giving us great battery life without losing performance
The battery could be even better than FairPark *14 h SOT*
GhostPepper:
Uses a quantized, frequency-aligned parametric curve to influence low core clock rates while providing extremely smooth transitions from each clock rate and exceptional battery life
Really well-defined clock speed escalation for a good battery and performance.
FairPark:
There have been a lot of controversy about this tweak lately. So after you complain, this will NOT work for all of you guys.
For me, it works perfectly and it accomplished all that I'm going to state, but maybe you guys will experiment lags.
This tweak is not for everyone.
Probably the most battery efficient tweak ever created, fantastic battery with extremely smooth performance even playing games as Clash Royale or Pok?mon GO.
You can easily get 10 hours SOT or even more (If you don't play any games) just texting, browsing and so on could give you even 12 hours SOT.
HawkPepper:
As you might notice by the name is the union of the 2 tweaks above, GhostPepper for the Big cluster and HawkTail for the Little cluster, as GhoostPepper is highly optimized for the Big cluster and HawkTail for the Little.
Performance wise should be as good as GhostPepper but in terms of battery should be considerably better.
EOL Profiles:
You can still use them, but I won't give further support for them
HawkTail:
An advanced, modern profile that is both battery efficient and highly performant
It should be as battery efficient as GhostPepper but giving that extra performance for "high-end" games, as that was the only complaint on GhostPepper
Ketrel:
Really battery efficient tweak but only for light usage, when comes to playing games and some heavy multitasking the battery drain will increase exponentially
DOWNLOADS:
~ [AKT] Profiles ~
Old profiles:
Project Zhana & X.A.N.A
GhostPepper
HawkTail
HawkPepper
FairPark
Kestrel
Changelog:
Code:
27/10/16: Updated all the profiles. Applying the new discoveries about voltages and so on.
02/11/16: Adding Project Zhana v3.0
15/11/16: Adding Project X.A.N.A v3.1 | Updating to Project Zhana to version 3.1
10/12/16: Project Zhana & X.A.N.A v3.3
02/01/17: [A·K·T] + Project Zhana & X.A.N.A v4.0 + EOL Profiles
22/01/17: [A·K·T] v1.2 + Project Zhana & X.A.N.A v4.2
FAQs:
Does this tweaks works with X ROM / X Kernel; OB10, Custom ROM, OOS4.0...??
YES, YES, YES. All the tweaks featured her works with ALL the available Kernels and ALL available ROMs for the OP3. So yes OBs(9,10,11....), yes custom ROMs, yes OOS 4.0
Will this work on my device?
[*]These tweaks are intended for the One Plus 3, although it should work on any device which features the Snapdragon 820 ( Moto Z, Xperia XZ, S6 ...)
HTC 10 Here is why and Here is the HTC10 Thread
Support for the OP3T and other Snapdragon 821 devices will come soon! Read more about it here.
My device Lags/Uses to much Battery/Is not longer smooth/It's really slow!! What do I do??
[*]Everything it's explained on the OP. I quote the part where that's explained
Asiier said:
MY DEVICE LAGS!!! WHY?!?!
First of all, it's a "normal" thing, as I have stated before, all these tweaks have been done for fit my usage or certain usage which is most likely not the same as yours. Because this, when the are put on a certain scenario the might stutter or lag just a bit (If you are experimenting huge lags, you have done something wrong)
And yes, this can be fixed. We have a couple of ways of fixing it:
First of all, Check If the tweaks have been applied correctly
Our first one is modifying the Input boost (not touchboost) most of our tweaks have an already established Input boost clock speeds and time, you can incise does too a bit. For example, we have 960(Mhz) for all the CPU at 40ms you could bump it up to ~1036(Mhz) and 42ms, don't modify too much this values since it will potentially increase your battery drain.
Our second tool for fixing lags is min_sample_time , my recommendation is to increase the value by 5000 each time till you no longer suffer any stutter or lag.
Try another tweak, for example;
If you are using Project X.A.N.A Battery, try using Balanced option...
Still having lag?
Get rid of unnecessary (background-)apps
Try a different IO-Scheduler
Try another profile
My phone still uses too much battery
First of all, Check If the tweaks have been applied correctly
Make sure that you have disabled touchboost.
Set brightness to a lower level.
Use a dark / black theme
Don't play games all day
Try other tweak, for example;
If you are using Project Zhana Balanced, try using Battery option...
Click to expand...
Click to collapse
Do I have to be rooted?
[*]Yes. See the fourth question and learn more about your device before trying to change things like governor settings!
How do I apply this tweaks?
Go to this post and scroll down till you see the instructions
In case you guys still want to use the old method:
Keep scrolling to the third post, all that you need is there
You can also check this video, as a picture is worth a thousand words - but a video, a million!
My settings don't show up after I reboot! What am I doing wrong??
If you are using [A·K·T] head to this post and scroll to the FAQs over there
If you are using EX Kernel Manager, tap the power icon to the right of the setting after you set it. If you are using a different kernel manager, check with that developer to see how it's implemented. Also, give the kernel manager a few minutes after the device boots. The settings aren't applied immediately, so check back after 3 minutes and you should see the correct values.
Why is one of my CPUs not letting me change a setting or set a certain frequency?
The device may be thermally throttling and had turned off that CPU or limited it. Turn off your device and let it cool for 5 minutes, then try again. (Keep it unplugged and make sure you don't have any apps running that might be trying to use a lot of CPU while the device is off.)
These settings don't work/I'm not getting great screen on time!
You probably haven't disabled touch boost. YOU MUST DISABLE TOUCHBOOST, OR THIS WON'T SAVE YOU JACK SQUAT!!
And keep in mind these tweaks have been tested on certain scenario that is not the same as yours
My kernel editor won't let me set [whatever]Mhz for a value you showed!
Either you have done something wrong, or you're using a kernel/device combo that isn't ElementalX on OP3, for which this guide was written. Follow the instructions in the first post to determine the appropriate settings for your own device!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Community made Profiles:
Here will feature all the profiles that haven't been made by @patalao, @Mostafa Wael or myself
"Nameless" by @Senthil360
All the information and download link in his post.
LINK TO THE POST
Ok then.
First, thanks to @Asiier for making this thread with a more detailed explanation about the profiles, specially for our SD820.
As @Asiier said the profiles may not work the same for everyone because each one of us uses the phone different, so please take that in mind before filling the thread with questions why it works for Y but not for X.
HOW DID I START
I`ve started by releasing the Fusion Beta profile on Ex Kernel Manager thanks to @flar2.
After seeing almost all profiles from Nexus 5X and Nexus 6P threads i released the first version.
It was a fusion(that's why the name Fusion) of several profiles into one, but using the SD820 frequencies for our device.
After all this time and working alongside with great devs like @Asiier, @Mostafa Wael, @Senthil360 and many other users on our Slack channel i've improved my profiles to the point of releasing 2 new ones called FusionB and FusionP.
This time i've worked on them not just for me but for the entire community of our OP3, taking in mind tests maid by users on Slack channel (our private channel for development of profiles and much more).
Profiles
FusionB
This is a balanced profile.
Working alongside with testers and evolving from previous works i've came across with FusionB, a profile intended to be used out of the box with your phone.
You can expect a smooth experience without compromising battery to much.
This is based on the load percentage of the cpu.
Better than stock values, this profile should use almost all frequencies from little cluster(scale up one by one) and use the big cluster to more heavy duties till 1900 frequency jumping to the highest one just when needed.
FusionP
Based on FusionB this profile brings a more "agressive" way to scale frequencies.
It will scale frequencies sooner(regarding load values from cpu) and will use more the big cluster to provide more performance doing the tasks on hands.
Battery should not take a big hit but using heavy demanding tasks you can expect a higher drain.
Note:This aren't the normal profiles used some time ago.
This are beyond governor settings and go up till HMP values.
This will be provided as a single script on AKT script together with all the profiles from @Asiier, @Mostafa Wael and @Senthil360.
Older versions are still available below on hided content but won't be updated(at least some time soon).
Releases:
FusionB and FusionP ( 02 / 01 / 2017 )
Changelog:
New year,new start.
This will be first release.
Next updates will have changelogs accordling.
Download Section
AKT
Want to know what AKT means?
ALL IN ONE PROJECt
Installation:
#Download the tweak
#Enter into Recovery and flash the tweak
#Boot to system
#Open your terminal app and introduce:
#Code:
su
AKT
#Select the section you want ( Battery/Balanced/Performance)
#Select the profile you prefer
#Done!
OLD VERSIONS:
This are the old one's and will still be available on my AFH but won't be updated.
There are 3 categories of profiles.(maybe more will come)
Thunder
This was made thinking only on a very fluid experience
It is set for speed, not battery.
It`s a performance profile and intended more for 3D Gaming and for those apps that needs more "power" to have a fluid experience.
Fusion
Set for a balanced between performance and battery this one should be what most of users want.
It should give you more or less the same performance as stock but with an improvement on battery.
This is what you should expect more or less for the new Fusion(depending on many factors this could be or not achived by you):
Icecold
Set for extreme battery saving this one should suit those wich use the device for low end tasks.
This is an underclocked profile and because of that it isn't suitable for all.
Download Section
All said, you can get the profiles here:
Fusion
Thunder
Icecold
How to use a profile with Ex Kernel Manager App
How to use a profile?
1-You need Ex Kernel Manager App
2-Download the desired profile and rename it removing ". txt"
3-Move the profile to sdcard/ElementalX/gov_profiles.
4-Before using any profile please uncheck all "set on boot" in Ex kernel manager and then reboot.
5-After reboot load the profile and then set on boot the following:
For all the profiles including mine, @Asiier and @Mostafa Wael
On CPU tab:
Governor settings
Input boost frequencie and input boost milliseconds
Touchboost
Because my profiles (and future @Asiier profiles) have more than governor settings this is what you also need to set on boot on mine and @Asiier profiles:
Memory tab:
Low memory killer
Adaptive low memory killer
Dirty ratio
Dirty background ratio
Min free kbytes
Vfs cache pressure
On Miscellaneous tab:
I/O Scheduler
Advanced I/O options
Read ahead kb
Tcp congestion algorithm
On tools/user settings tab:
Swappiness (add this /proc/sys/vm/swappiness)
For Icecold profile set this extra to be applied on boot:
Cpu tab:
Max CPU frequencie (Big Cluster)
Graphics Tab:
Max GPU frequencie
Credits:
All credits goes for all the users that shared their own profiles on Nexus 5X and Nexus 6P respective threads and of course for Me @Asiier, @Mostafa Wael and @Senthil360 for bringing this ones to our device.​
Introducing...
Shotgun!​
Strategy​This profile's main goal is to provide absolute maximum performance when needed, but lies low quite well. You see, some times I see the CPU hitting some of the high freqs of 1190 while making something as simple as watching YouTube or playing some spotify tracks needlessly, and sometimes I feel it is a bit slower than it should be in things like brute multitasking. Most profiles do aim at bringing a mid-ground to rest on. But with the sensible words of one of my favourite idols Jeremy Clarkson, he says 'Power solves everything' and right he is. By eliminating the mid freqs of the Little cluster and efficiently using some specific frequency steps, you get some power savings by staying on lower freqs as much as possible, and even on brutal tasks you get the job done faster as well, since the CPU will give you all the power to finish the job as fast as it can, and hit back to idle faster. Some may be worried about the power consumption with that turbo policy, but as it can be viewed from @Asiier OP's graphs and info, the difference in the voltage is not that high to make you that worried at all, and even numbers say it. I got a mighty 7.5 hours SOT over more than a day on OOS 3.2.7 with Mono kernel (tbh i used to get that value, but now I get it so easily without any extra battery conservation techniques) and i get better performance as to my usage patterns. As for the big cluster, I chose to stick with the stock Big cluster settings for better efficiency with slight tweaks to make it a little bit more bursty and lie low quicker. @Asiier I must point out something there. In your OP you advised (sort of) to tweak the big Kryos to be acting in a bursty manner. Well that is partially right, coz these big Kryos are no A57s where they heat up badly if engaged, rather their sustainable performance is quite lovely, and the fact that as much as the little cluster being in charge of most of your tasks as the 'main cluster', it is not being relied on as much as it was in the S810, and the big cores take charge of the load much more than it was in the S810. So it is a bit tricky to tweak now, coz you don't want it to be very dormant like the A57 coz that will sacrifice performance and smoothness noticeably.
Also take that into consideration
Mostafa Wael said:
Also another thing that I want to clarify for everyone, what has the largest footprint in rendering some profiles laggy/more battery consuming or very efficient/lagfree is the ROM. You see, when you test the 'nominal' freq for a certain task, it also depends on the ROM. A quick example, if you wanted to see which is the nominal freq for scrolling a simple webpage or even a normal page without lags, by locking the freq to a certain step to test, while you do the scrolling test, there are background processes that inevitably take place whenever you use the phone. A stock OOS for instance potentially has more background processes running than say CM, and CM nightlies specially when they introduce a highly experimental change, can have some more background process (most likely you see the 'CyanogenMod system' ranking highest in your battery consumer apps) than a more stable nightly, and an AOSP may be having even less. A carefully debloated OOS can have less background services going on as well. Not to say a ROM is better than the other, but each ROM behaves uniquely and therefore when you scroll the webpage on say CM, it may be a tad smoother than when doing the same task on OOS with a specific profile, coz the frequency that is set to be used when scrolling the webpage, by any means, actually has to do the work of scrolling AND handle the background services running (be it a needless wakelock or a necessary service for some system apps or user apps, hence changing a CM nightly can actually cause some weird issues)
Now why don't you see this with the stock interactive governor settings? Coz it is like 'generic' settings that obeys these wakelocks and background services, and they will ramp up the freq readily with no 'restrictions', unlike custom settings profiles like mine, where I limit the CPU to use some certain freqs and cap the others, or Asiier's with whatever philosophy he uses.
In my opinion, the ROM has more effect on performance with each profile than a kernel. Of course a certain Kernel can have some battery tweaks or performance tweaks undergone, but they have the same effect as on the stock generic settings, in other words, these optimisations can already be felt even on stock settings and hence I sort of exclude it from the equation, since your target is to improve upon the stock governor settings
Click to expand...
Click to collapse
I suggest as always to turn off touchboost and use low input boost freqs for more time as always, but if you feel the need to use Touchboost or increase the input boost parameters, no problem at all. My usage is typing, reading, gaming for an hour or maybe slightly more, lots and lots of YouTube streaming and video playback, Spotify, WhatsApp and Telegram, XDA checking of course and some off-screen music playback. This profile has been tested on OOS 3.2.7 + Mono/Boeffla kernel, Arter97's CM13 + Arter97's custom kernel, OrionOS 11 Oct with its stock kernel
Downloads​ Shotgun_v1.0 EXKM profile here
init.d script here
Shotgun_v1.6 EXKM profile here
Shotgun_v1.7.6 EXKM profile here
->It is not 100% true that a newer version is better for you, but 99% it is <-
Changelist​
Shotgun v1.0
initial release
Shotgun v1.6
-> eliminated more freqs for both little and big clusters, big cluster should be a little bit more dormant. Should be much
smoother AND more battery friendly
Shotgun v1.7.6
-> should be working fine without ANY Touchboost/Input boost/Bob boost settings (yes set input_boost freq to 0 freq for
litte and big cores anf for 0 ms to turn it off)
-> more smooth and battery friendly
>>>Shotgun is EOL after v1.7.6<<<
Burnout PR​ -> Burnout PR1, make sure to apply the gears here
-> Burnout PR2 Golden!. No gears needed, this is the absolute performance you can get! Gamers be cautious, this is NOT intended for gaming at all. Heavy browsing might be a bit warmer than your taste too. I have added some changes that work well with AOSP/CM LineageOS?/CAF Nougat but it seems that OB9 does NOT work as well as I expected.
Legacy: (imo Burnout PR2 moved leaps after that, but i never delete my trials since we are not the same
An intermediate profile has been cooked as well, dubbed as Burnout_Extreme. Learn more about it here
People who fail to automatically load the settings after booting even though the slider has been set to apply the settings on boot please notify me. Hope it does not fail you! Big thanks to @weeka89 and everybody here on this thread and the slack group for testing, couldn't have been that great or refined without your help and time, very much appreciated :good:
Pcsx2006 said:
Guys forgive me but can these profiles be used on stock rom OOS 3.2.7?
Sent from my ONEPLUS A3003 using Tapatalk
Click to expand...
Click to collapse
Yes, but you need custom kernel and app for changing tunables.
No custom kernel needed.
Just needs Interactive governor wich all of them brings.
patalao said:
No custom kernel needed.
Just needs Interactive governor wich all of them brings.
Click to expand...
Click to collapse
True. But there are also schedulers (zen) tuned in your profiles that are not found in stock kernel?
Yes, but if there`s no other tweaks in the kernel like the stock one it will only change governor settings and all other settings will remain untuched.
So I just need EX Kernel Manager app and load profile and good to go?
Sent from my ONEPLUS A3003 using Tapatalk
That`s it.
Just load the profile you want and enjoy it.
Pretty intresting. What values do u lads recommend for touchboost? Im on hawkpeper.
You could try 1036 to start.
If it runs well try with a lower value,if not rump up a bit between 1113/1228 for little cluster and 1112/1248 for big cluster.
Which kernel do you use daily? Personally been using Elementalx but from what I can see Blu seems to be a bit better with FairPark which I use daily
Great information! I look forward to seeing what comes of this. Now if we can just quantify load during certain things like browsing and other scenarios, that would give your values per freq more weight. Now I am unsure but I remember that Linaro used some tools** to work out Energy Aware Scheduling (EAS) for the 5x. Would be cool to gather such info and tie it in with your current findings.
** I believe they made changes in the kernel to quantify load and giving values a weight. But I would think there was more needed to create and EAS profile of the SD808 processor.
MrPhilo said:
Which kernel do you use daily? Personally been using Elementalx but from what I can see Blu seems to be a bit better with FairPark which I use daily
Click to expand...
Click to collapse
I use ElementalX kernel.
Didn`t try any of other`s.
There`s still INT3NSE kernel for OOS if you want to try.
RenderBroken said:
Great information! I look forward to seeing what comes of this. Now if we can just quantify load during certain things like browsing and other scenarios, that would give your values per freq more weight. Now I am unsure but I remember that Linaro used some tools** to work out Energy Aware Scheduling (EAS) for the 5x. Would be cool to gather such info and tie it in with your current findings.
** I believe they made changes in the kernel to quantify load and giving values a weight. But I would think there was more needed to create and EAS profile of the SD808 processor.
Click to expand...
Click to collapse
It`s hard to know the load of different scenarios because they are constanly changing.
We can estimate it but it won`t be very accurate.
For example:
Loading a web page full of pictures/videos will take a high load instead of a web page just with text.
MrPhilo said:
Which kernel do you use daily? Personally been using Elementalx but from what I can see Blu seems to be a bit better with FairPark which I use daily
Click to expand...
Click to collapse
You have to try, whatever works for you
That was just an example on how certain tweak behave in certain way, for you EX Kernel might give you better battery, you have to test
Will this work on OrionOS ? Caf Kernel no ElementX
Gesendet von meinem ONEPLUS A3003 mit Tapatalk
Yes, it will work on any rom/kernel that as interactive governor.
Awesome thread! Im gonna test GhostPepper with SultanCM13 + EX 0.32

[MOD] BlackenedMod v1.5 (Pixel 3a / Pixel 3a XL)

Introduction:
Hello everyone!
The idea to this 'project' did blossom after having an conversation with @pkgnex in the past about the general idea of creating something else that follows what he started with his PK's Tuning Script for Pixel 2 (XL) but with a twist, mainly as a complement to his own thread that you can find here, but also with a completely different vision and focus on what the script itself should achieve (and deliver) for kind of results for myself and for all of you personally, of course, that wants to try it out and use it as a "daily driver".
Shortly explained.
This script is created with the goal of improving both battery life and performance on our Pixel 3a (XL) devices, and after a whole range of configurations and various set-ups, I've come up with something that, in my eyes, is worth sharing with all of you so that you can try it out yourself and judge on your own, with constructive feedback on what can be improved or added in future releases - if desired. My philosophy is, and will always be, this:
If something can be improved or altered in a positive way so the average user can feel and see a difference, then go for it. Non stop.
The latest release can be found here.
Disclaimer:
This is presented as "what if". If this modification screws up or breaks anything for you, I am not the one to be held responsible. It's a free will to try out this kind of changes/modifications/addons/tweaks, just don't blame the inventors for eventual bad results and/or screw-ups.
Note: This script is not recommended to be modified or customized by the user.
Features:
Reduced battery consumption
Device specific enhancements for best possible balance between battery life & performance
Enabled, and fully configured, Boeffla generic kernel wakelock blocker
Disabled a lot of useless stuff at kernel level (Improves battery life as well as performance)
CPUSet improvements & optimizations
Power efficiency enhancements
Wide IO block tuning (Reduces the possibility of hiccups, lags and overhead)
Possibly other miscellaneous things I've forgotten to write down here, both big and small.
Requirements/what you need for getting this script fully working:
An unlocked bootloader
Your own specific choice of kernel
Latest possible version of Magisk
Busybox for Android NDK Magisk Module by @osm0sis
Patience
Installation/How-To use & abuse:
1) Download the attached ZIP
2) Extract the script
3) Move the script to the following location;
/data/adb/service.d and give it the following & needed file permissions (0755)
4) Reboot your phone, let Android boot to the launcher and let Magisk boot service do its crucial magic (takes a few seconds before the scripts is fully up and running around behind the scenes)
5) Enjoy!
Note: If you still are unsure how to do for making my kernel configuration / modification work & be up and running behind the scenes, then please read @Phalanx7621 phenomenal guide here or check out @Phalanx7621 in-depth video here. The installation method is the same for all generations of released Pixels!
Credits:
@franciscofranco for all the information on which kernel wakelocks that is safe to block
@Phalanx7621 for his phenomenal how-to guide
@Lord Boeffla for his awesome generic kernel wakelock blocker
@pkgnex for inspiring me walking into this partially unknown territory.
@flar2 for his excellent EXKM application and ElementalX Kernel
@osm0sis for his Magisk Busybox module
Everyone that I've forgotten to mention here
Telegram:
If you want to try out betas / previews of my script before they are officially released, or just hangout and chat a little, then join the official Telegram group here
To-Do list:
Optimize and properly tune things even further for best possible balance between battery life, system responsivness and performance
Contributors:
@xFirefly93
Created: 2019-07-06
Last updated: 2019-07-21
Update!
Note: It is recommended that you reboot your phone after you have applied v1.0 so the customized changes / improvements takes full effect and is fully up & running as intended.
Version v1.0 (Initial release):
- Initial test release for Google Pixel 3a (XL)
- Enabled, and tuned, Boefflas wakelock blocker
- Enabled the backlight dimmer per default
- Disabled some useless kernel stuff for less overhead
- Some additional high quality customizations & improvements
If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!
Enjoy!
I try it thanks a lot
Update!
Note: It is recommended that you reboot your phone after you have applied v1.1 so the customized changes / improvements takes full effect and is fully up & running as intended.
Version v1.1 (Semi-major release):
- Adjusted the task scheduler for better system responsivness
- Added my own Schedutil governor profile for a better balance between performance and battery life through the whole day
If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!
Enjoy!
Update!
Note: It is recommended that you reboot your phone after you have applied v1.2 so the customized changes / improvements takes full effect and is fully up & running as intended.
Be aware that you have to flash the Busybox Magisk module by @osm0sis for getting the newest enhancements, that is featured / included on v1.2, up and running as intended!
Version v1.2 (Major release):
- Added a few crucial filesystem tweaks for improved performance (Credits goes to @pkgnex for this contribution. Be aware that you have to flash the Busybox Magisk module for getting those modifications up and running as fully intended)
- Fully removed all of the alternative task scheduler values / settings (they was only causing random freezes and lagspikes)
- Slightly adjusted the default stock CPUSet values for hopefully improved power efficiency as well as system responsivness
- Cleaned up the script on a few minor typos and what not
- Disabled a few minor CPU related loggers (experimental)
- Reduced suspend latency by enabling console_suspend
- Added a few tweaks for overall better network performance
- Shifted to Westwood TCP congestion algorithm per default
- Disabled the useless Adreno GPU frequency throttling tunable
- Disabled RCU expedited and 'replaced' it with RCU normal for improved real-time latency, CPU utilization and energy efficiency
If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!
Enjoy!
Does 'Boefflas wakelock blocker' also get enabled on stock kernel? I am thinking of getting my Mother the 3a as a present, but would prefer to stick to stock. If not I can flash EX Kernel.
xFirefly93 said:
Update!
Note: It is recommended that you reboot your phone after you have applied v1.2 so the customized changes / improvements takes full effect and is fully up & running as intended.
Be aware that you have to flash the Busybox Magisk module by @osm0sis for getting the newest enhancements, that is featured / included on v1.2, up and running as intended!
Version v1.2 (Major release):
- Added a few crucial filesystem tweaks for improved performance (Credits goes to @pkgnex for this contribution. Be aware that you have to flash the Busybox Magisk module for getting those modifications up and running as fully intended)
- Fully removed all of the alternative task scheduler values / settings (they was only causing random freezes and lagspikes)
- Slightly adjusted the default stock CPUSet values for hopefully improved power efficiency as well as system responsivness
- Cleaned up the script on a few minor typos and what not
- Disabled a few minor CPU related loggers (experimental)
- Reduced suspend latency by enabling console_suspend
- Added a few tweaks for overall better network performance
- Shifted to Westwood TCP congestion algorithm per default
- Disabled the useless Adreno GPU frequency throttling tunable
- Disabled RCU expedited and 'replaced' it with RCU normal for improved real-time latency, CPU utilization and energy efficiency
If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!
Enjoy!
Click to expand...
Click to collapse
My pixel didn't go Deep sleep with 1.2
MrPhilo said:
Does 'Boefflas wakelock blocker' also get enabled on stock kernel? I am thinking of getting my Mother the 3a as a present, but would prefer to stick to stock. If not I can flash EX Kernel.
Click to expand...
Click to collapse
It does only exist on a few selected custom kernels.
djisma86 said:
My pixel didn't go Deep sleep with 1.2
Click to expand...
Click to collapse
Deep sleep is fine for me here. Go and check which partial wakelocks that is screwing up your phone by using BBS.
How do I know it's working? Set the permissions to 755.
Sent from my Pixel 3a XL using Tapatalk
arenaboy007 said:
How do I know it's working? Set the permissions to 755.
Click to expand...
Click to collapse
The changelog isn't needed inside the service.d folder.. ;p
And.. Have you created a logs folder inside your internal storage on your device, and tried with rebooting once?
xFirefly93 said:
The changelog isn't needed inside the service.d folder.. ;p
And.. Have you created a logs folder inside your internal storage on your device, and tried with rebooting once?
Click to expand...
Click to collapse
I have not created a logs folder yet. How do I generate one? So far I moved the file in the service.d folder and media/0 folder.
Sent from my Pixel 3a XL using Tapatalk
arenaboy007 said:
I have not created a logs folder yet. How do I generate one? So far I moved the file in the service.d folder and media/0 folder.
Sent from my Pixel 3a XL using Tapatalk
Click to expand...
Click to collapse
You don't have to do it yourself, the automatically folder creation will be featured on v1.3, which will be released either tomorrow or at Friday.
I've to try a few minor things out first before firing it up into the wild.
I have placed the script in both the service.d and 0 folder, but no logs have been generated after reboot? I already have busybox installed too.
Edit: I noticed that some settings within EX Kernel manager have been changed, like cubic to Westwood, and fiops to cfq. I guess it worked?
Sent from my Pixel 3a XL using Tapatalk
arenaboy007 said:
I have placed the script in both the service.d and 0 folder, but no logs have been generated after reboot? I already have busybox installed too.
Edit: I noticed that some settings within EX Kernel manager have been changed, like cubic to Westwood, and fiops to cfq. I guess it worked?
Click to expand...
Click to collapse
Just make a new empty folder on the sdcard. /sdcard/logs/ Then reboot your device. After boot has completely finished wait 30-60 seconds. Then look into the new logs folder. You should see a new log file in the folder. The log tells you that the script has run successfully.
12paq said:
Just make a new empty folder on the sdcard. /sdcard/logs/ Then reboot your device. After boot has completely finished wait 30-60 seconds. Then look into the new logs folder. You should see a new log file in the folder. The log tells you that the script has run successfully.
Click to expand...
Click to collapse
It worked! I created a log folder and on next reboot saw a log inside. Thank you!
Sent from my Pixel 3a XL using Tapatalk
Not for teasing far too much right now but.. The weird maxing out on the LITTLE cluster cores have finally been fixed once and for all!
Thanks to everyone that reported about this issue that I sadly enough introduced.
xFirefly93 said:
Not for teasing far too much right now but.. The weird maxing out on the LITTLE cluster cores have finally been fixed once and for all!
Thanks to everyone that reported about this issue that I sadly enough introduced.
Click to expand...
Click to collapse
Is it possible for you to set the min clock speed to 300mhz for both clusters? This clock speed is available on the elementalx kernel.
Sent from my Pixel 3a XL using Tapatalk
arenaboy007 said:
Is it possible for you to set the min clock speed to 300mhz for both clusters? This clock speed is available on the elementalx kernel.
Click to expand...
Click to collapse
I can give it a try.
Update!
Note: It is recommended that you reboot your phone after you have applied v1.3 so the customized changes / improvements takes full effect and is fully up & running as intended.
Version v1.3 (Minor release):
- Added the needed commands so the logs folder, and the output message, will be automatically generated after each completed boot sequence (Thanks to @crian for giving a few seconds of his time helping me out with this contribution. You rock, dude!)
- Simplified a few explanations of what each section does
- Fully enabled the RET idle power state for both clusters (may, or may not, lead to slightly improved battery life for everyone)
- Most likely fixed the minor issue with the weird all over the place maximum CPU frequency bouncing on the whole LITTLE cluster
If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!
Enjoy!
Update!
Note: It is recommended that you reboot your phone after you have applied v1.4 so the customized changes / improvements takes full effect and is fully up & running as intended.
Version v1.4 (Minor release):
- Disabled RET idle state for all of the cores again (it wasn't showing any major notable power savings as expected)
- Fully disabled the 'block_validity' mount option for the /system partition (this slightly improves overall system performance)
- Enabled power efficient workqueues (improves battery life - was actually enabled on v1.3, it was just I that forgot to mention it)
If you optionally want to donate a beer or five as a way to show your appreciation for all the dedicated hours and work that I am putting into this mod on a daily rate - then this link is the way to go!
Enjoy!

Categories

Resources