Smoocha kernel -- AOSP 4.2.2 - LG Optimus G (International)

Here is a kernel Houstonn and I have been working on. It's based on Faux123 kernel for nexus 4, however, it has evolved into a "buffet" kernel. I keep choosing what i believe is the better interface / way of doing things in a choice of various way or what could give us better battery / performance. I'm trying to maintain a certain balance.
This version is for geehrc (Sprint/Internationnal) with the 13mp. If you have the 8mp phone (E973/E971/E970), use that thread : http://forum.xda-developers.com/showthread.php?t=2229742
I won't link to Faux123 kernel in the nexus 4 for the simple reason that 99% of the people don't read and on these 99% of people, a few will end up flashing nexus 4 kernel which mostly flash by partition number and not by partition name thus hard bricking their device.
Reason to at least try it :
CPU voltage table
Intellidemand and Wheatley governor added
All the block I/O scheduler
TCP Westwood algorithm
Faux123 sounds interface
Faux123 gamma interface (color control)
Newest Prima (wifi) driver.
In-kernel thermal watching
Msm_mpdecision (In-kernel OpenSource MPDecision)
Frandom module loaded at boot.
Thanks :
Houstonn
Faux123
Show-P1984
FranciscoFranco
Shelnutt2
XpLoDWilD
Thracky
Synergye
Exit_only

All the downloads will be here :
Use the geehrc version.
http://ribs.bbqdroid.org/houcha
My source are there :
https://github.com/chadouming/smoocha

Reserved post.

thanks chad and team.
first Impression is very nice.
great work

Nice work,as usual.
Will dl.right now
Sent from LG E975 pwd by CM 10.1

FransicoFranco Drivers
Thanks for making this kernel, it is much appreciated. I'm wondering where to get/enable the generic hotplug driver and the sound driver by FransicoFranco. Thanks.

I have a sprint lgog and I tried running the eos 4.2.2 ROM for a few days. The battery life was pretty bad compared to the lifeless ROM so I restored back to that. Anyways, will this kernel improve the battery life?

bowhunt2005 said:
I have a sprint lgog and I tried running the eos 4.2.2 ROM for a few days. The battery life was pretty bad compared to the lifeless ROM so I restored back to that. Anyways, will this kernel improve the battery life?
Click to expand...
Click to collapse
Try it and you will see. I am not giving comment on battery life.
On another note, Version ending with fs have faux sound instead of franciscofranco sounds interface

bowhunt2005 said:
I have a sprint lgog and I tried running the eos 4.2.2 ROM for a few days. The battery life was pretty bad compared to the lifeless ROM so I restored back to that. Anyways, will this kernel improve the battery life?
Click to expand...
Click to collapse
I've managed to get pretty comparable (not 100% sure) battery life on AOSP compared to Stock Roms. Not to speak for the developer but yes this will increase your battery life. The only thing is that there is a lot you can tweak which will have an effect on your battery life. This is what i do.
Turn mpdecision off. MPdecision is a hotplug driver made by qualcomm that can be disabled in AOSP. As of now its always active on stock roms. I'm still trying to figure out where to get the Francisco Franco hotplug drivers, which are prefered.
Underclock your cpu/gpu - I like to keep my max at 1026mhz and my gpu at 200mhz. I don't notice any significant lag.
Undervolt your cpu
Use a intellidemand/tune your on demand governor
Obviously wake locks come into play as well. I like to use better battery stats to see whats keep my stuff awake.
Finally keep your mobile data off when your not using it
Sorry if I'm just telling you stuff you know, just trying to be informative.

shuwoo said:
I've managed to get pretty comparable (not 100% sure) battery life on AOSP compared to Stock Roms. Not to speak for the developer but yes this will increase your battery life. The only thing is that there is a lot you can tweak which will have an effect on your battery life. This is what i do.
Turn mpdecision off. MPdecision is a hotplug driver made by qualcomm that can be disabled in AOSP. As of now its always active on stock roms. I'm still trying to figure out where to get the Francisco Franco hotplug drivers, which are prefered.
Underclock your cpu/gpu - I like to keep my max at 1026mhz and my gpu at 200mhz. I don't notice any significant lag.
Undervolt your cpu
Use a intellidemand/tune your on demand governor
Obviously wake locks come into play as well. I like to use better battery stats to see whats keep my stuff awake.
Finally keep your mobile data off when your not using it
Sorry if I'm just telling you stuff you know, just trying to be informative.
Click to expand...
Click to collapse
No more mpdecision. Msm_mpdecision in this kernel is different. It's opensource, in-kernel and doesnt force you to 1026mhz minimum freq,

chadouming said:
No more mpdecision. Msm_mpdecision in this kernel is different. It's opensource, in-kernel and doesnt force you to 1026mhz minimum freq,
Click to expand...
Click to collapse
sweet. I was using fauxclock to control my cpu. I am a little confused on msm_mpdecision
is msm_mpdecision the generic hotplug driver by FranciscoFranco?
Is there a more appropriate app than fauxclock to use?
If I disable mpdecision in fauxclock, does that automatically enable msm_mpdecision?

shuwoo said:
sweet. I was using fauxclock to control my cpu. I am a little confused on msm_mpdecision
is msm_mpdecision the generic hotplug driver by FranciscoFranco?
Is there a more appropriate app than fauxclock to use?
If I disable mpdecision in fauxclock, does that automatically enable msm_mpdecision?
Click to expand...
Click to collapse
Nope, msm_mpdecision is not franciscofranco hotplug drivers. I had franco driver before and it lagged too much. Also, there is no mpdecision at all. I remove the executable on installation of houcha. Seems as fast as mpdecision without the locking the minimum freq to 1026Mhz.

chadouming said:
Nope, msm_mpdecision is not franciscofranco hotplug drivers. I had franco driver before and it lagged too much. Also, there is no mpdecision at all. I remove the executable on installation of houcha. Seems as fast as mpdecision without the locking the minimum freq to 1026Mhz.
Click to expand...
Click to collapse
cool, just for some feedback I feel that there definitely is a difference in my processor states when I enable/disable mpdecision in fauxclock.
When it's enabled, the first core sits at 384mhz until i touch the screen, then the first two cores jump to 1026mhz or 1516mhz.
When I disable it my first core sits at 384mhz and jumps up to 700-1100mhz when I touch my screen, the other cores stay quiet.
In both circumstances I'm using Intellidemand governor.
As long as I'm bugging you, My gpu frequencies are a bit wonky. It goes to 400mhz on boot. When I lower it to 128mhz it will sit at 128mhz and not jump up no matter what max frequency or governor I reset it to.

shuwoo said:
cool, just for some feedback I feel that there definitely is a difference in my processor states when I enable/disable mpdecision in fauxclock.
When it's enabled, the first core sits at 384mhz until i touch the screen, then the first two cores jump to 1026mhz or 1516mhz.
When I disable it my first core sits at 384mhz and jumps up to 700-1100mhz when I touch my screen, the other cores stay quiet.
In both circumstances I'm using Intellidemand governor.
As long as I'm bugging you, My gpu frequencies are a bit wonky. It goes to 400mhz on boot. When I lower it to 128mhz it will sit at 128mhz and not jump up no matter what max frequency or governor I reset it to.
Click to expand...
Click to collapse
Try downloading the newest version. fs version have faux sounds, others have franco sounds. I believe faux app read gpu freq incorrectly. If you swipe tab (which is gpu demanding compared to stay to same tab) you will see the gpu freq actually lower.

Is voodoo sound a hardware issue, or can it be added to a kernel?
Sent from my LG-LS970 using xda app-developers app

saramon said:
Is voodoo sound a hardware issue, or can it be added to a kernel?
Sent from my LG-LS970 using xda app-developers app
Click to expand...
Click to collapse
No voodoo sounds for that hardware.

Lg optimus G on sprint. Thanks for the kernel! I'm getting a bit of screen flickering on latest cm 4/22, disabling WH overlays fixes the issue.
Sent from my LG-LS970 using Tapatalk 2

Everything is running smooth on the latest AT&T CM10.1 from Shelnnut, however my phone had an SoD due to notification light.

Known bug.it's been talked on canadian thread and i think on at&t and sprint too...
Sent from LG E975 pwd by CM 10.1

Thanks a ton for this, my battery life has improved quite impressively!
Request/Suggestion:
add gallimaufry governor
I'm not sure what sounds to use, does anyone want to explain the differences? (I'm using faux right now but considering trying out franco since I use the franco updater app to control everything)

Related

[KERNEL] UmaroKernel V1.06 - 2.6.35.13 - CM7-1.9Ghz-SMARTASS-OC-UV-VDD-SWAP-SLQB-BFS

THIS COMES WITH ABSOLUTELY NO WARRANTY.
I AM NOT RESPONSIBLE FOR WHAT THIS KERNEL MAY OR MAY NOT DO TO YOUR PHONE, ESPECIALLY WHEN YOU OC!
This is based on CM's 2.6.35.13 kernel.
Credits include Cyanogen, x99percent, scaryghoul, faux123, -snq, LordClockaN, and others that I couldn't find out who to credit for. If I used your code and you're not mentioned here, let me know!
GPL IN, GPL OUT: github
Version 1.0
- Added SmartAss Governor
- Added Scary Governor
- Added MinMax Governor
- Minor UV, as it depends on your own device. I suggest using the VDD sysfs interface to tweak them yourself.
- Added VDD sysfs interface (OV/UV on the fly) info/usage
- Added SLQB
- Added OC up to 1.9Ghz - SetCPU failsafe profiles are a MUST!
- Allocated more GPU memory
- Enabled swap
- Compcache is still disabled until I can get it working properly
Version 1.01
- Fixed 1.9Ghz OC
Version 1.02
- Fixed modules inside zip
Version 1.03
- Minor bugfixes
- Added TINY_PREEMPT_RCU (should help with multitasking)
Version 1.04
- Fix smartass (wouldn't go below 768mhz while awake)
- Minor bugfixes
- BFS
Version 1.05
- Added USB Mass Storage speed tweak
- Tweaked ext4 extensively
- LOTS of bugfixes
Version 1.06
- Added new governor "GreaseLightning" based on smartass
- Tweaked max readahead to 4096
- backported changes from 2.6.36.1 and 3.0rc6 (Imoseyon)
- Added Simple I/O Scheduler and set as default
- various PM fixes
- Merged HTC's vision-2.6.35-gb-MR release
- Tweaked charging code to "overcharge" for ~2 hours, should be safe and improve battery life
- Fixed netflix playback issues
GOVERNOR EXPLANATIONS:
'minmax' - this driver tries to minimize the frequency jumps by limiting
the the selected frequencies to either the min or the max frequency of
the policy. The frequency is selected according to the load.
Originally posted by erasmux -
smartass - is based on the concept of the interactive governor.
I have always agreed that in theory the way interactive works - by taking over the idle loop - is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the "old" minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.
Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 - why?! - it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!
Originally posted by scaryghoul -
Scary - A new governor I wrote based on conservative with some smartass features, it scales accordingly to conservatives laws. So it will start from the bottom, take a load sample, if it's above the upthreshold, ramp up only one speed at a time, and ramp down one at a time. It will automatically cap the off screen speeds to 245Mhz, and if your min freq is higher than 245mhz, it will reset the min to 120mhz while screen is off and restore it upon screen awakening, and still scale accordingly to conservatives laws. So it spends most of its time at lower frequencies. The goal of this is to get the best battery life with decent performance. It will give the same performance as conservative right now, it will get tweaked over time.
Click to expand...
Click to collapse
I hope to add some more user-friendly control to UV/OV, hopefully in the next version.
I tested this on my device, but as stated below, there's no guarantee it will work on yours.
This kernel should only really be used on CM7 nightly 78 and above. Not sure what'll happen if you use it on earlier nightlies, but it's definitely not supported.
Performance should be as good as or better than stock kernel.
Download:
MD5SUM: 71031df052b62d276657190cd4ec94d8
dropbox (will probably go over quota and stop working) - UmaroKernel-1.06.zip
MultiUpload: UmaroKernel-1.06.zip
This kernel excites me greatly. I will be flashing it right away. Thanks!
Sent from my HTC Vision using XDA Premium App
Great work bro! I'll def. give it a shot right now!
Thanks, gonna give this a try.
You sir just made my day. So we will need to use terminal to edit our UV values until you get that dealt with, correct? Will they persist through a reboot or not?
Now this is what I was waiting for
Thank you
KCRic said:
You sir just made my day. So we will need to use terminal to edit our UV values until you get that dealt with, correct? Will they persist through a reboot or not?
Click to expand...
Click to collapse
not to get off-topic, but your sig says youre using the pyro kernel with the CM nightlies. You do know that blah said the recent nightlies are no longer compatible with that kernel, due to the CM kernel being rebased on a different kernel than the base of the pyro kernel. However, I can attest that this kernel DOES work with both nightlies and pyromod
Thanks for the 1.9GHz Will test in conjunction with the latest CM7 nightly when I get home!
Thanks. Flashed and working great. On build 91
Sent from my HTC Vision using XDA App
I just flashed this and everything is working without any issues
However, I noticed that there is no 1.9GHz option in SetCPU...
theSpam said:
I just flashed this and everything is working without any issues
However, I noticed that there is no 1.9GHz option in SetCPU...
Click to expand...
Click to collapse
Sorry for the dumb question, but did you do the autodetect?
Sent from my HTC Vision using XDA Premium App
heybobitsme said:
Sorry for the dumb question, but did you do the autodetect?
Sent from my HTC Vision using XDA Premium App
Click to expand...
Click to collapse
I just did and the max frequency is still 1516MHz...
theSpam said:
I just did and the max frequency is still 1516MHz...
Click to expand...
Click to collapse
Ya I just noticed the same with the built in settings as well.
Sent from my HTC Vision using XDA Premium App
heybobitsme said:
Ya I just noticed the same with the built in settings as well.
Sent from my HTC Vision using XDA Premium App
Click to expand...
Click to collapse
I'm having the same issue.
I know the og post said that this should mainly be used with CM7 nightlies, but I decided to give it a try with the MIUI ROM that I'm using. No dice. Wouldn't even load the bootscreen. I'm thinking I may flash over to the current CM7 nightly to give it a try though.
Sent from my HTC Vision using XDA Premium App
Im using the MIUI rom on my G2 and the smartass kernal... Freakin great if you ask me. I have about 30 to 35% battery and its about to be 1010 pm and i unplugged from charger at 730 am. Beat kernal so far.
Sent from my HTC Desire Z (actually its a G2) using XDA App
Updated OP with fixed kernel, OC up to 1.9Ghz is now supported.
Enjoy!
umaro said:
Updated OP with fixed kernel, OC up to 1.9Ghz is now supported.
Enjoy!
Click to expand...
Click to collapse
Nice! How much more memory was allocated to the GPU? Just curious...
Nice work any one test out WiFi and the kind of stuff?
Sent from my HTC Vision using XDA App
sino8r said:
Nice! How much more memory was allocated to the GPU? Just curious...
Click to expand...
Click to collapse
I think it's just under a meg, for a total of 4 megs of GPU ram instead of 3 megs.
I don't know what kind of performance gain comes from it.. I'll have to benchmark it and let you guys know.
The added memory doesn't look like it was being used by anything else, though.

ICS kernel with conservative governor.

Are there any ICS kernels that have the conservative governor included? Battery life is a big issue for me on AOKP and CM9, which prevents me from using them as a daily driver.
At the same time, I love them for being so slick and having the Bluetooth audio issues fixed.
Any help is appreciated.
Sunsparc said:
Are there any ICS kernels that have the conservative governor included? Battery life is a big issue for me on AOKP and CM9, which prevents me from using them as a daily driver.
At the same time, I love them for being so slick and having the Bluetooth audio issues fixed.
Any help is appreciated.
Click to expand...
Click to collapse
No, because there are no custom kernels yet that are compatible with ICS.
I think we can fix that one without the custom repacked kernel.
Do you know which governors being used for AOKP and what CPU frequencies?
What I'm thinking about is, we could take the cpu tweaks on my thread http://forum.xda-developers.com/showthread.php?t=1625299, http://forum.xda-developers.com/showthread.php?t=1610741 (all_in_here.zip, there are two cpu tweak files) and make the modification to fit to AOKP.
Currently on these tweak, I'm using 'ondemand' governor as default because conservative governor is not supported on ICS stock kernel yet. By changing the values on ondemand governor, we may get the same result.
(with some other tweaks, I'm getting 24hours now with 50% battery still left on Stock rom/kernel)
kobridge said:
I think we can fix that one without the custom repacked kernel.
Do you know which governors being used for AOKP and what CPU frequencies?
What I'm thinking about is, we could take the cpu tweaks on my thread , (all_in_here.zip, there are two cpu tweak files) and make the modification to fit to AOKP.
Currently on these tweak, I'm using 'ondemand' governor as default because conservative governor is not supported on ICS stock kernel yet. By changing the values on ondemand governor, we may get the same result.
(with some other tweaks, I'm getting 24hours now with 50% battery still left on Stock rom/kernel)
Click to expand...
Click to collapse
That's actually phenomenal. I'm at 46% after 6 1/2 hours.

Ktweaker profiles? On d2tmo

I'm on free gs3 r6 rom with ktoonsez latest kernels (9-5 & 9-10), I'm using ktweaker but there are ni profiles to use except for screen off. I was looking for something like set cpu profiles. If i try to use set cpu profiles only with ktweaker, my phone gets hot and drains my battery faster, so i guess both of the apps are not compatible. Or what. Thanks for any help and suggestions
Sent from my SGH-T999 2.1ghz
Craniotomy said:
I'm on free gs3 r6 rom with ktoonsez latest kernels (9-5 & 9-10), I'm using ktweaker but there are ni profiles to use except for screen off. I was looking for something like set cpu profiles. If i try to use set cpu profiles only with ktweaker, my phone gets hot and drains my battery faster, so i guess both of the apps are not compatible. Or what. Thanks for any help and suggestions
Sent from my SGH-T999 2.1ghz
Click to expand...
Click to collapse
im using [ROM] WICKED [v5] Aroma [UPDATE 9/10/12] {ADT} ROM with Zaventh Kernel set to smartass cfq. but i have been wanting to try the ktoonsez kernal where can i find it? i have the s3 us tmobile will it work for me i dont care about battery drain, i like perfomance, and to test think out
thanks
Michael.
CousinMikeyP said:
im using [ROM] WICKED [v5] Aroma [UPDATE 9/10/12] {ADT} ROM with Zaventh Kernel set to smartass cfq. but i have been wanting to try the ktoonsez kernal where can i find it? i have the s3 us tmobile will it work for me i dont care about battery drain, i like perfomance, and to test think out
thanks
Michael.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=1756776
That is the ktoonez kernel.
If your going to try out ktoonsez kernel and you have set cpu, Don't use set on boot on set cpu, just enable the profiles and Don't set voltages too. In ktweaker enable overclocking steps but Don't lock frequencies. On both ktweaker and set cpu, you should have the same i/o scheduler, and the same governor. If both of then has a different governor or scheduler and clock speeds it will make the phone hot, i reached almost 40c or maybe more then my phone rebooted by itself, i was playing nova on 2.1ghz max clock. Lol.
Now I'm undervolting with ktoonsez suggestion on his post, and my min clock at 96, max at 1350, ktoonservative governor, sio i/o, and my phone is still fast and smooth. Battery life once never tested as i bring an extra one all the time, and i just bring a retractable usb cable for charging.
Sent from my SGH-T999 using xda premium

[KERNEL][AOSP4.4/5.1/6.0/7.1] dkp - d2att - 2/4/18

Welcome to decimalman's kernel playground!​
As the name suggests, dkp is a hodgepodge of features and tweaks that I wanted to play with. It should get excellent battery life without feeling sluggish. It doesn't come with its own tuner app, so pick your favorite. Personally, I like Trickster MOD and Kernel Adiutor, so I go out of my way to make things work in them. Most other apps should work, too.
Features:
Overclocking up to 2.1 GHz, but you'll need to increase your voltages to get there (if you can get there at all)
Underclocking down to 54 MHz, with stability improvements
Undervolting compatible with most apps
Fast charge without unplugging first
Glorious animations for the notification and softkey LEDs
Well-integrated erandom means you don't need CrossBreeder or Seeder (recent AOSP builds use ISAAC instead)
freelunch and tierservative governors for optimal battery life without sacrificing responsiveness
Automatic mpdecision and auto-hotplug are only enabled when needed
Adjustable minimum voltage for stability on finicky processors
Optimized UKSM to free up some extra memory
Code optimizations for size and speed
Compiler optimizations (-O3, LTO, and more) because faster is better
Donors: Thanks, everyone! Your generosity is much appreciated. :good:
drpenguino, 0xScott, vmancini3 (twice! :good, Ch4m3l30n, rompnit, Mystique, ryandubbz, techdog, ElwOOd_CbGp, ScOULaris, ZipAddict
Remember:
Nandroid!
last_kmsg and/or logcat or it didn't happen.
Other kernels have their own threads or forums. Discuss them there.
Image dumps (settings, battery life, whatever) belong inside [HIDE][/HIDE] (that's HIDE, if you're on the mobile app) tags.
Be silly. We're here to have fun.
Installation:
Reboot to recovery. I recommend that one recovery...you know, the one that flashes zips? I forget what it's called.
Flash dkp. Optionally, rename and flash dkp-vmin-XXX.zip (see below).
Reboot.
Undervolting:
Undervolting on dkp is more complex than other kernels. Some processors get unstable at lower voltages, so (like the stock kernel) dkp keeps the processor voltage above 1150 mV by default. I refer to this limit as the minimum voltage. In order to undervolt, you'll need to lower the minimum voltage: if you use Trickster MOD or Kernel Adiutor, just disable "Override Minimum Voltage", otherwise rename dkp-vmin-XXX.zip to e.g. dkp-vmin-600.zip (which would apply a 600 mV minimum voltage) and flash it. If this causes instability (crashes, audio/video glitches, etc.), try using dkp-vmin-XXX.zip to apply a higher minimum voltage (somewhere between 950 and 1050 mV seems to work well for most people).
Downloads:
MediaFire:
All Downloads
dkp-vmin-XXX.zip
Solidfiles (Make sure you have an adblocker!):
All Downloads
dkp-vmin-XXX.zip
Source: I'm always happy to see my code used, so cherry-pick away. I'll even put together feature patches if you ask nicely.
Bugs:
Let me know.
Stable changelog:
3/3/13: Initial release for d2spr. Didn't get around to making threads for other carriers.
4/8/13 (3.0):
FauxSound support
Strip more useless stuff
A few bonus optimizations
4/8/13 (3.4):
Port everything except erandom from 3.0
Enhance cpufreq for easier configuration
4/24/13 (3.4):
Bugfixes: better support for tuner apps, fixed potential SOD bugs, automatic mpdecision fixups, etc.
Lots of CM/CAF/Linux updates
Working AssWax governor
Trinity colors support
sio, zen I/O schedulers
erandom is back!
Built with a super-fancy Linaro GCC 4.8.1-dev compiler toolchain for maximum -O3 goodness
Probably lots more, but there's hundreds of commits to sort through...
5/29/13 (3.4):
Bugfixes: better overclocking support, better hwrng support, etc.
Updates: new CM updates, Linux 3.4.47, updated FauxSound driver, added invisiblek's new panel colors interface
Automatic auto-hotplug
New optimizations, including link-time optimization and an updated GNU+Linaro GCC 4.8.1-dev toolchain
6/14/13 (3.4):
Bugfixes: fix several critical bugs in the 5/29 release.
9/7/13 (3.4):
Fixes for OC, UV, auto-hotplug.
A few new optimizations.
Synced up with CM.
9/20/13 (TW):
Ported everything from AOSP to TW.
9/20/13 (4.3):
Merged 4.3 from CM into the existing 4.2 code.
Current experimental branches:
Nothing interesting at the moment.
Goodies:
dkp doesn't come with its own splash screen. However, the dkp installer (i.e. the install zip) is smarter than you think, and can apply a custom splash screen for you. Here's how:
Create a folder on your internal storage named "dkp"
Copy a PNG image into the directory, and rename it "splash.png". Alternatively, copy an RLE image (i.e. from a flashable custom splash screen zip) and rename it "splash.rle". Ideally, the image should be roughly 1280x720 to begin with, since it won't be resized.
The image will be used as your splash screen whenever you flash dkp. Reflash to apply initially.
mikedavis120 has put together a how-to video that covers tweaking dkp for optimal battery life. If you're new to dkp, take a look! He also put together a zipped collection of apps that will come in handy while tuning dkp. It also includes a flashable zip, "dkp-debug_v1.zip". After flashing it, running
Code:
su
dkp
from a terminal emulator will collect lots of useful debug information that will make it much easier for me to track down the issue you're having. :good: mikedavis120 recommends installing SuperSU (included in the zip) instead of what's included in you ROM.
sysfs:
It's possible to adjust all the settings available in dkp without using apps. Because they show up as files, settings can be adjusted with file managers, terminal emulators, adb and initscripts. Here's the most interesting files inside sysfs:
/sys/devices/platform/mipi_samsung_oled.513/lcd/panel/panel_colors (not available on newer AOSP builds): display tint (0 = very red, 2 = default, 4 = trinity colors)
/sys/class/misc/gammacontrol (only available on newer AOSP builds): various color controls. See this post for details on enabling Trinity colors on builds that use these controls.
/sys/devices/system/cpu/cpu<N>/cpufreq/UV_mV_table: voltage table
/sys/devices/system/cpu/cpu<N>/cpufreq/scaling_...: scaling_governor is the governor, scaling_min_freq and scaling_max_freq are the minimum and maximum frequencies, scaling_available_governors and scaling_available_frequencies show the available governors and frequencies
/sys/kernel/dkp/force_fast_charge: fast charge
/sys/kernel/dkp/link_core_settings: when linked (the default), frequency settings and some governors are automatically copied to the other core
/sys/kernel/dkp/vmin: minimum processor voltage in mV
/sys/kernel/mm/uksm/run: activate UKSM
auto-hotplug tuners:
These show up in the governor settings for any governor that doesn't do its own hotplugging. They only take effect when using auto-hotplug, so you'll probably need to disable mpdecision in Trickster.
hotplug_intpulse: when set to 1, automatically turns core 2 on whenever the screen/buttons/whatever is pressed. Default is 0.
hotplug_sampling_periods: number of samples to use for average number of running tasks. Default is 15.
hotplug_sampling_rate: number of 'jiffies' (currently 1 jiffy = 10 ms) between each sample of running tasks. Default is 20 (0.2 sec).
hotplug_enable_one_threshold: the average number of running tasks required to turn core 2 on, multiplied by 100. Default is 125 (1.25 tasks on average).
hotplug_disable_one_threshold: the average number of running tasks required to keep core 2 on, multiplied by 100. Default is 250 (2.5 tasks on average).
freelunch/nanolunch tuners:
freelunch and nanolunch aren't materially based on other governors, so their configuration is quite different than other governors. There's lots of tuners, since I haven't really decided on an ideal tuning. I encourage experimentation! I'll explain a bit of how these governors work before actually listing the tuners.
Generally speaking, there are two modes: in "normal" mode, sampling is done occasionally and frequency is generally increased slowly; in "interactive" mode, sampling is done much more quickly, and frequency increases much more quickly. "Interactive" mode ends after several samples of very low usage. The idea of a "hispeed" frequency is used in lots of governors, and it refers to the frequency that the CPU will jump to when more CPU usage is needed; generally, it's a generous estimate of how much CPU will be needed. Here, the hispeed frequency is adjusted on-the-fly, increasing when more CPU is needed and gradually decreasing when the CPU is idle. In "interactive" mode, the hispeed frequency is kept fairly high so that everything will feel snappy.
Hotplugging is taken care of in the least complicated (and in my opinion, most reasonable) way possible: if core 1 is using lots of CPU, and there are several tasks running (in other words, if it's likely that core 2 will have something to do), core 2 is turned on; if either core isn't doing much except using power, core 2 is turned off.
sampling_rate: the usual
hotplug_up_cycles: number of consecutive heavily-loaded samples before core 2 is turned on
hotplug_down_cycles: number of consecutive lightly-loaded samples before core 2 is turned off
hotplug_up_load: number of running tasks required to bring core 2 online
hotplug_up_usage: number of used CPU cycles (in thousands per second) required to bring core 2 online
hotplug_down_usage: number of used CPU cycles (in thousands per second) required on both cores to keep core 2 online
overestimate_khz: number of CPU cycles to overshoot usage by in "normal" mode
hispeed_thresh: if CPU usage is within this many cycles (in thousands per second) of the maximum frequency, frequency will be increased to the hispeed frequency. Generally, hispeed is pretty low in "normal" mode, and fairly high in "interactive" mode.
hispeed_decrease: when the CPU is sitting idle, the hispeed frequency is decreased by this amount each sample (this isn't ideal, but it works)
interaction_hispeed: the initial hispeed frequency when switching to "interactive" mode
interaction_return_cycles: number of consecutive lightly-loaded samples before returning to "normal" mode
interaction_return_usage: number of used CPU cycles (in thousands per second) required to stay in "interactive" mode
interaction_panic (nanolunch only): when set to 1, allows aggressively jumping past the current hispeed frequency under some circumstances
interaction_sampling_rate/overestimate_khz: equivalent to the "normal" versions of the tuners, these take effect in "interactive" mode
Just loaded it on pa 3.15
Sent from my SAMSUNG-SGH-I747 using xda premium
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
Sent from my SGH-I747 using xda app-developers app
rmead01 said:
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
Sent from my SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
It doesn't, but I'll merge it and put out a test build.
decimalman said:
It doesn't, but I'll merge it and put out a test build.
Click to expand...
Click to collapse
Is it possible they are left over from a previous kernel? Because I can def tell the difference usually and seems like it does.
Either way, advise when its updated. This governor seems solid so far.
Sent from my SGH-I747 using xda app-developers app
rmead01 said:
Is it possible they are left over from a previous kernel? Because I can def tell the difference usually and seems like it does.
Either way, advise when its updated. This governor seems solid so far.
Sent from my SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
dkp is based off clean CM source, so it shouldn't have been merged already.
I've got test builds compiling now, and the 3.4 builds will be up shortly. Flashing the trinity-colors test build and this zip will enable trinity colors. You can toggle it with
Code:
su
echo X >/sys/class/mdnie/mdnie/trinity_colors
where X is 0 to disable or 1 to enable.
Edit: and sorry for taking so long to respond.
Edit 2: 3.4 builds are up. http://d-h.st/7Ae
Thnx for this kernel
decimalman said:
dkp is based off clean CM source, so it shouldn't have been merged already.
I've got test builds compiling now, and the 3.4 builds will be up shortly. Flashing the trinity-colors test build and this zip will enable trinity colors. You can toggle it with
Code:
su
echo X >/sys/class/mdnie/mdnie/trinity_colors
where X is 0 to disable or 1 to enable.
Edit: and sorry for taking so long to respond.
Edit 2: 3.4 builds are up. http://d-h.st/7Ae
Click to expand...
Click to collapse
Maybe I was just seeing things, had just watched jurassic park in 3d.
New "test" build flashed as well as the file to enable it. Thanks for the addition. It's very hard to go back to normal once you've been smurfed depending on your display.
Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.
One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
rmead01 said:
One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
Click to expand...
Click to collapse
+1 on these questions
Sent from my AT&T Samsung Galaxy S III
rmead01 said:
Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.
Click to expand...
Click to collapse
Answered my own problem. I installed trickster as mentioned in OP and all voltage settings stick no problem with no issues.
rmead01 said:
New "test" build flashed as well as the file to enable it. Thanks for the addition. It's very hard to go back to normal once you've been smurfed depending on your display.
Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.
One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
Click to expand...
Click to collapse
Personally, I don't like trinity colors, but I definitely understand the appeal. I merged this into 3.0 and 3.4, so it'll be standard from here on. I'll add a link to the enabler zip in the OP as well.
What app would you normally use? I'll try to support it, since I already provide several voltage interfaces. I didn't realize performance control was crashing (I'm not a fan either, so I only lightly tested). I recently installed Trickster and liked it, so I've been going out of my way to support it. It's also really easy to write support for, so that's a bonus for me.
As for schedulers, I'm not fussy. I've never exhaustively tested performance and battery life, so I don't have a preference and usually run noop or deadline. However, I've had nothing but bad results with ROW (phone never deep sleeps, and I haven't looked into why).
decimalman said:
Personally, I don't like trinity colors, but I definitely understand the appeal. I merged this in, so it'll be standard from here on. I'll add a link to the enabler zip in the OP as well.
What app would you normally use? I'll try to support it, since I already provide several voltage interfaces. I didn't realize performance control was crashing (I'm not a fan either, so I only lightly tested). I recently installed Trickster and liked it, so I've been going out of my way to support it. It's also really easy to write support for, so that's a bonus for me.
As for schedulers, I'm not fussy. I've never exhaustively tested performance and battery life, so I don't have a preference and usually run noop or deadline. However, I've had nothing but bad results with ROW (phone never deep sleeps, and I haven't looked into why).
Click to expand...
Click to collapse
good to know. Trickster mod works fine and you mention it in the OP and it's at no cost in the play store. I wouldn't worry.
I was using an app called kernel tuner because some others would only set 1 core to the governor and not both. I checked that trickster does indeed set both cores to freelunch so once that figured out I removed kernel tuner. Kernel Tuner also has the options for profiles which can be toggled in tasker for varies states. freelunch so far hasn't needed any changing so not worried about it at this point. just as an example, some governors would be better for screen on/off and tasker could switch these to edge out battery life.
The voltage app i was using is simply called voltage control. Kernel tuner doesn't do a nice job of voltage changes. But since trickster does both governor and voltage adjustments well. i'm using that with no problems now.
Thanks for the morfic, having a way to toggle it works well for people. it's as simple as a script so there's that.
rmead01 said:
good to know. Trickster mod works fine and you mention it in the OP and it's at no cost in the play store. I wouldn't worry.
I was using an app called kernel tuner because some others would only set 1 core to the governor and not both. I checked that trickster does indeed set both cores to freelunch so once that was made it was no problem. Kernel Tuner also has the options for profiles which can be toggled in tasker for varies states. freelunch so far hasn't needed any changing so not worried about it at this point.
The voltage app i was using is simply called voltage control. Kernel tuner doesn't do a nice job of voltage changes. But since trickster does both well, i'm using that with no problems now.
Thanks for the morfic, having a way to toggle it works well for people. it's as simple as a script so there's that.
Click to expand...
Click to collapse
I meant to test Voltage Control but Google wasn't letting me download anything. It's a common app, so I'll try to get it working regardless. Kernel Tuner doesn't currently work well with freelunch, and tends to hang when it's trying to read settings in the CPU screen. Otherwise, it's a nice app. I didn't realize it had Tasker support (I use Llama).
I've added a few extra bits to the cpufreq core, so governors that need to be set on both cores (like freelunch) will automatically apply to both cores regardless of what app is used. cpufreq will even enable and disable mpdecision depending on whether a hotplugging governor is running (though Trickster won't show that it's disabled).
I owe ktoonsez for the toggleable trinity colors. I slightly rewrote his patch, but it's still largely his code. It's my policy that anything that not all users will want should be optional and easily configurable.
Edit: I think I've got Voltage Control fixed. I should be able to get Kernel Tuner working without too much work. I haven't even looked into Performance Control yet.
decimalman said:
I meant to test Voltage Control but Google wasn't letting me download anything. It's a common app, so I'll try to get it working regardless. Kernel Tuner doesn't currently work well with freelunch, and tends to hang when it's trying to read settings in the CPU screen. Otherwise, it's a nice app. I didn't realize it had Tasker support (I use Llama).
I've added a few extra bits to the cpufreq core, so governors that need to be set on both cores (like freelunch) will automatically apply to both cores regardless of what app is used. cpufreq will even enable and disable mpdecision depending on whether a hotplugging governor is running (though Trickster won't show that it's disabled).
I owe ktoonsez for the toggleable trinity colors. I slightly rewrote his patch, but it's still largely his code. It's my policy that anything that not all users will want should be optional and easily configurable.
Click to expand...
Click to collapse
well good job so far. batt life has been top notch. minimal drain in use and my over night idle drain was only a few %. I have things setup to disable wifi when sleep and also turn off mobile data when wifi is connected. A bit over the top but every bit helps.
:good::highfive:
I know I've been grilling you today but...
Kind of curious what the new tunables do. I haven't touched anything since it's working so well but there is always that part of me that wonders what adjust parameters will do. Is there any kind of reference for this governor that could indicate that type of info?
Does your kernel support faux sound app?
stevehkim said:
Does your kernel support faux sound app?
Click to expand...
Click to collapse
Yes. 3.0 and 3.4 both have support.
As for tuneables, I've been meaning to post a writeup but haven't gotten around to it. You're not the first to ask about it.
Sent from my SPH-L710 using xda app-developers app
This is a fantastic Kernel! The battery life has been outstanding so far. Thank you for your amazing work!

Kernel Setups

I'm just curious to see what kind of kernel setups everyone is using. Things suck as cpu frequency, gpu frequency, io schedulers, and etc. Feel free to type out everything you have set up or you can keep it simple and use screenshots instead. The choice is yours but only include any changes you've made, what device you have, what rom, and what kernel so no one messes up their phone.
If this is in the wrong section just let me know.
Im using lupus kernel for h811. My phone is running xtreme rom 3.2 mm.
I have cpu governer to elementalx on both big and little cores.
Gpu governer is left at stock.
For thermel i have core control and temp throttle on.
For the screen i have the saturation set to 35 for better colors.
I have fast charging on.
Dynamic fsync is on
Power suspend is set to lcd panel
And tcp is on illinois.
That's about it.
Using complete stock.
In my opinion the benefit isn't worth the time spent messing around.
Did a lot oft tweaking with the g4 and my last Android phone but in the end I always returned to stock.
You can check this for CPU settings:
http://forum.xda-developers.com/g4/general/guide-g4-lag-free-marshmallow-t3327878
bg_man said:
You can check this for CPU settings:
http://forum.xda-developers.com/g4/general/guide-g4-lag-free-marshmallow-t3327878
Click to expand...
Click to collapse
I try to found butterfly setup but not there now.
I use rr mm and I am really thanks if you can help me to found this setup.
Edit... Ok I found it.

Categories

Resources