Related
Current Release: 12/20/2012(JB)/10/03/2012(GB+ICS)
Important, Please read: There are now two kernel versions starting with 8/10/2012 release, one for GB+limited ICS(no HWA) support and another for the ICS branch with HWA. Changes will be loggged separately for each kernel type. If you see no changelogs specifically for that type, then there's no release made. For example, 8/10/12 for GB is a continuation of the 3/21 release with none of the post-3/21 kernel ICS changes made.
Update 9/21/12: As of 9/21/12, jellybean is officially supported with the JB specific kernels.
First of all, I started this thread to make commenting and tracking easier for the incredikernel releases following Chad's latest release (8/15/2011).
I also wanted to make a distinction between Chad's initial kernels and the ones I've updated since that release and this is one way to do it. Initially I didn't want to do that but now I regretted not splitting sooner.
If you want the changelog for anything prior to my first kernel please refer to:
Chad's Incredikernel thread
Changelog:
11/30/2013 JB 4.3
Android 4.3 support
synced with updates from Android 4.3 Evervolv kernel
04/25/2013 ICS Sense+JB 4.2
dynamic fsync control
WiFi driver updates
Interactive governor updates - see Tinykernel
Entropy Tweaks
Netfilter updates
New sysfs location for fast charge for broader app compatibility - still compatible with latest incredicontrol
FUSE filesystem support
12/20/2012 JB 4.2 ONLY
add back governors that were removed in 12/15
12/15/2012 JB 4.2 ONLY
enabled UHID support
updated msm_fb for 4.2
12/11/2012 JB ONLY
cpufreq: enable overclocking of 1.15Ghz and 1.19Ghz
numerous interactive and ondemand governor tweaks
cpufreq: send uevent when governor changes
ondemand: boost pulse for JB's powerHAL
10/11/2012 JB ONLY
defconfig: several config changes to fix data usage not working
10/06/2012 JB ONLY
defconfig: enable conservative governor by request
10/03/2012 ICS+JB+GB
defconfig: remove rarely used governors and set max frequency to preventing booting higher than 998mhz
lower default hispeed_freq to 614Mhz
cpufreq: interactive: always limit initial speed bump to hispeed_freq
09/21/2012 ICS+JB+GB
ALL: New Interactive governor
ALL: Built with GCC 4.6 toolchain from Google
GB: interactive governor tweaked for battery
ICS+JB: interactive governor tweaked for butter
JB: genlock patched for JB support
JB: new wifi driver for compatibility with JB ROMs
08/11/2012 ICS+GB
KSM wasn't enabled as it should have been in the last build - fixed that - also nothing needs to be done to enable it on GB as it's on by default
08/10/2012 ICS ONLY
fixed data usage features for ICS
added mamarley's fastcharge USB patch to enable fastcharge without needing to unplug the charger
enabled KSM (Kernel Samepage Merging) - still need to enable in CM settings
08/10/2012 ICS+GB
added mamarley's fastcharge USB patch to enable fastcharge without needing to unplug the charger
07/07/2012 ICS ONLY
Merged in multiple driver updates to support HWA (chad0989)
Updated adreno kernel drivers to latest
added xtqta_guid - for ICS' data usage feature, also seems to have resolved stability issues
Added lazy CPU governor
Added back intellidemand
03/21/2012 ICS+GB
Added lazy CPU governor
02/26/2012 ICS+GB
Smartassv2 default governor for sure - doesn't override ramdisk settings though
new governor lagfree - balance between ondemand and interactive
new I/O scheduler SIO
tweaked deadline for better performance
removed CFQ/BFQ schedulers and smartass, conservative, and interactive govenors (still have interactiveX and smartassv2)
01/03/2012 ICS+GB
Tweak intellidemand and interactiveX governors for battery life
Add ZRAM and swap support and add script to toggle ZRAM - see bottom of OP for more info
SmartassV2 default governor again
12/26/2011 ICS+GB
Added faux123's intellidemand governor (thanks faux123!)
Added imoseyon's interactiveX governor (thanks imoseyon!)
Works on GB and ICS currently
interactiveX may not play nicely with ICS so intellidemand is default
Conservative is disabled, let me know if you need it back
12/08/2011 (Chad) ICS+GB
Added ICS support (limited)
11/27/2011 GB
Use ondemand, performance, and conservative governors from the Android Linux 3.0 kernel
Set minimum voltage back to 800 as the voltages will not go below 800 anyway. Anything lower is placebo effect. This is a hardware limitation.
11/14/2011 GB
Update OJ driver
BT fix for newer CM nightlies
WIFI module updates
Update and re-add BFQ scheduler as well as disable deadline
Ondemand is back
Fixes/Tweaks to ondemand and interactive
10/08/2011 GB
Adjusted smartassV2 parameters for 1GHz processor (originally for 500Mhz device)
10/01/2011 GB
Set smartassv2 to default governor
09/30/2011 GB
Added SmartassV2 governor
Current CPU governors as of the latest release:
SmartassV2
Ondemand
Interactive
Lagfree
Lazy
Technical doc on CPU governors (most of the ones in this kernel anyway)
https://raw.github.com/tiny4579/android_kernel_common/android-2.6.38-incredikernel/Documentation/cpu-freq/governors.txt
Update: 11/30/13 - removed link to incredikernel.com as the site has no content - fully on goo.im now
http://goo.im/devs/tiny4579/inc/kernels
Kernel Source
https://github.com/tiny4579/android_kernel_common
Here are a couple notes if you want to build this kernel from source:
Jellybean kernel branch is android-2.6.38-incredikernel-jb.
ICS kernel branch is android-2.6.38-incredikernel-ics.
Gingerbread kernel branch is android-2.6.38-incredikernel.
The config for the kernel is in arch/arm/configs/incrediblec-incredikernel_defconfig. If you want to switch branches I recommend doing a make incrediblec-incredikernel_defconfig after checking out that branch.
I use the GCC 4.4.3 toolchain for this kernel due to GCC 4.6 causing build issues.
Frequently Asked Questions
Some key differences between smartass and smartassv2 so users can decide which they prefer and learn a bit more about the differences:
Smartass
1. Screen off profile built in maxed at 384mhz.
2. Wakeup frequency is 998mhz.
3. Min screen on is 245mhz.
4. Improved by Chad to run better on our devices.
5. Purely load based, no ideal value.
Smartassv2
1. This is the same exact governor in Erasmux's Nexus One kernel (github.com/erasmux/n1-kernel)
2. Ideal wake frequency is 768 (also default that can be changed).
3. Screen on min is actually 128mhz).
4. No screen off profile.
5. Ideal sleep frequency 245mhz.
6. Improved upon from erasmux's version, not Chad's.
Basically the smartassv2 ideal wake frequency allows the phone to favor a certain speed to attempt to save battery life. It can still go above ideal wake and below ideal sleep so there's no caps on max and min while awake or sleep.
Some tips/info on various governors:
Smartass/smartassv2/interactive:
Use 128 min so the governor can scale as it needs to. Max speed I'd recommend at least 768Mhz.
Ondemand:
Try 128 min and if it lags use 245 min. Max speed I'd recommend at least 768Mhz.
Performance:
Only recommended for benchmarks but speed will always run at max.
InteractiveX:
Same as interactive except it has an auto screen off set to the min. Ideal with 245 min in setcpu but try 128 for battery life but it you have wake lag then set to 245.
Intellidemand:
Based on ondemand with a built in screen off. Any speed settings should be fine.
Interactive:
Some new features with this one. Starting with 9/21/12 release I am using the interactive kernel from Google which features a new kernel option called input_boost.
It is off by default but can be enabled by writing a 1 to /sys/devices/system/cpu/cpufreq/interactive/input_boost. Also there is another parameter for interactive called hispeed_freq in the same location. The hispeed_freq is where the governor jumps to first. Hispeed_freq by default in 10/3/12 is 614400 to help save battery. In the older interactive governor there was a maxspeed freq which meant the governor was a bit jumpier to the max speed. This should be a good blend of performance and battery.
Lagfree:
Based on ondemand but with a softer CPU scaling which should help with battery life. It also seems to be very responsive (starting with 2/26)
Lazy:
Based on ondemand as well (Ezekeel is the developer of this governor). I cannot explain this too well but its apparent behavior seems to be to switch between low and high frequencies pretty evenly.
A note from Ezekeel on this governor:
"Thus I took the ondemand governor and implemented an additional parameter 'min_timeinstate' defining a minimum time the CPU will stay in a certain frequency state before it will be allowed to switch frequencies again. This way one can have a fine grained polling by setting the sampling_rate to a low value without running into problems with these fast frequency changes.
I did some extensive testing with a sampling_rate of 10000, min_timeinstate of 40000 and up_threshold of 90 and FLAC, mp3 and video playback all seem to work flawlessly. So it seems the root of the problem was indeed that the CPU does not handle fast frequency changes well.
I tested several apps and games and so far I have not found anything that this governor cannot handle. Thus I dare to say that it seems to be the superior choice over ondemand."
ZRAM, what is it and how to I add it? (starting officially with 12/31/11)
If you are familiar with swap space in linux or virtual memory in Windows it is a similar concept. Except instead of using the hard drive as swap space it compresses swap space in RAM for faster access times than conventional swap. This will also wear out our storage memory less than typical swapping.
Enable ZRAM is simple thanks to a script built by imoseyon which is provided in the kernel zip file. To enable, use adb shell or download a terminal app and run zram enable. This will persist across reboots (if init.d is setup in your ROM) so if you don't want it anymore run zram disable and it will remove the bootscript and deactivate it.
You need to have root privileges to enable/disable zram. Run the su command in terminal emulator to request root.
I was wondering when lazy was gonna make it's way to aosp...
Sent from my ADR6300 using xda premium
OMG_VTEC said:
I was wondering when lazy was gonna make it's way to aosp...
Sent from my ADR6300 using xda premium
Click to expand...
Click to collapse
The name of the new governor says it all....
You just answered your own question. I took my own sweet time releasing it. It was built like 2 weeks ago. I was being lazy.
tiny4579 said:
Scripts/Mods if I think of something...
Click to expand...
Click to collapse
Tiny, this new thread is great, as is the work you and Chad have done on these kernels. Keep up the great work. Thank you.
jlokos said:
Tiny, this new thread is great, as is the work you and Chad have done on these kernels. Keep up the great work. Thank you.
Click to expand...
Click to collapse
Yeah, the old way was sloppy. Tired of it. I think this thread is cleaner than the sense one and it took me less time to write it.
To help out users (and document the probable future deviation), how about adding a tag to each kernel stating whether it works with froyo (which I believe is none), GB, ICS, or a multiple (which is only the last couple or so, I think).
Great work, by the way.
PonsAsinorem said:
To help out users (and document the probable future deviation), how about adding a tag to each kernel stating whether it works with froyo (which I believe is none), GB, ICS, or a multiple (which is only the last couple or so, I think).
Great work, by the way.
Click to expand...
Click to collapse
Done. 10char
Nice.....great work to you and Chad. Thanks.
Sent from my ADR6300 using Tapatalk
Thanks for the thread tiny, I was wondering what the benefits of the lazy governor were
I'm running my CPU at 128/806 Mhz with Lazy and it's been nice and smooth all day. Battery life has been as good or better than SA2 for me.
It also seemed to drop my ping time and increase the throughput in SpeedTest. I was getting really discouraged with ICS and >400ms ping times but I'm attributing the Lazy governor with right around 100ms ping and smoother data rates. When I switch back to the SA2 governor that I've been running for months data gets choppy again. The system itself seems smooth enough with SA2 but data has been very choppy.
Thank you to all you great developers for all your time, effort, and hard work. We really do appreciate it.
azradiohead said:
I'm running my CPU at 128/806 Mhz with Lazy and it's been nice and smooth all day. Battery life has been as good or better than SA2 for me.
It also seemed to drop my ping time and increase the throughput in SpeedTest. I was getting really discouraged with ICS and >400ms ping times but I'm attributing the Lazy governor with right around 100ms ping and smoother data rates. When I switch back to the SA2 governor that I've been running for months data gets choppy again. The system itself seems smooth enough with SA2 but data has been very choppy.
Thank you to all you great developers for all your time, effort, and hard work. We really do appreciate it.
Click to expand...
Click to collapse
The ROM/kernel/governor have no impact on data signal or speed so what you're seeing is coincidental. Network speed varies on so many factors outside of the control of the ROM or kernel. I'm glad to hear you like the new kernel and the lazy governor. I'm a fan of the dev of the lazy governor's work and run his kernel on my nexus.
My concern is that others will assume it will improve network performance and be disappointed when it doesn't.
Thank you for your compliments!
I just want to make sure I clarified this matter.
chocolate8175 said:
Thanks for the thread tiny, I was wondering what the benefits of the lazy governor were
Click to expand...
Click to collapse
I was looking around for something good that would make sense but I couldn't find anything so far.
Basically I added this governor on a whim. So far it seems to like lower frequencies even more than smartassv2 without too much sacrifice on speed. It might have better battery life. It seems smooth on Nil's Business Sense 3.5 though.
Interesting post here on smartassv2 from the developer of the lazy governor:
User:
and smartassV2 too but let him fix find the cause of the reboots before
Dev:
I will not integrate any new stuff until I have the cause for reboot problems tracked down. I will look into lulzactive, but I definitely will not include smartass since it is an inefficient governor.
Not sure why he said it was inefficient but could see no post about it.
Needless to say, I like lazy and lagfree so far. Give lazy and lagfree a try for a week and see what you think.
azradiohead said:
I'm running my CPU at 128/806 Mhz with Lazy and it's been nice and smooth all day. Battery life has been as good or better than SA2 for me.
It also seemed to drop my ping time and increase the throughput in SpeedTest. I was getting really discouraged with ICS and >400ms ping times but I'm attributing the Lazy governor with right around 100ms ping and smoother data rates. When I switch back to the SA2 governor that I've been running for months data gets choppy again. The system itself seems smooth enough with SA2 but data has been very choppy.
Thank you to all you great developers for all your time, effort, and hard work. We really do appreciate it.
Click to expand...
Click to collapse
may be placibo effect but I have noticed this too and confirmed with speedtest.
Sent from my incredible incredible.
RebelShadow said:
may be placibo effect but I have noticed this too and confirmed with speedtest.
Sent from my incredible incredible.
Click to expand...
Click to collapse
How does it fare with ondemand or lagfree? I still think its placebo. I can't test on my phone as I don't have data on the incredible.
Sent from my Galaxy Nexus using Tapatalk
Running GB and just installed the new Incredikernel, I saw no appreciable difference with data usage on Lazy, Lagfree, SAV2, Ondemand. Depending on your wireless signal, just moving your body by even a few inches could have an impact on data speeds (high frequency shadowing of transmission waves). The ping, might have some more sway by the CPU of the device if the program doesn't get as much processor in when communicating with the server, but not in the order of milliseconds (would be my though).
tiny4579 said:
I was looking around for something good that would make sense but I couldn't find anything so far.
Basically I added this governor on a whim. So far it seems to like lower frequencies even more than smartassv2 without too much sacrifice on speed. It might have better battery life. It seems smooth on Nil's Business Sense 3.5 though.
Interesting post here on smartassv2 from the developer of the lazy governor:
User:
and smartassV2 too but let him fix find the cause of the reboots before
Dev:
I will not integrate any new stuff until I have the cause for reboot problems tracked down. I will look into lulzactive, but I definitely will not include smartass since it is an inefficient governor.
Not sure why he said it was inefficient but could see no post about it.
Needless to say, I like lazy and lagfree so far. Give lazy and lagfree a try for a week and see what you think.
Click to expand...
Click to collapse
I'm using your latest GB kernel with the lazy governor on Warm TwoPointThree 3.5 rom. It is very smooth with very good battery life (undervolted).
jlokos said:
I'm using your latest GB kernel with the lazy governor on Warm TwoPointThree 3.5 rom. It is very smooth with very good battery life (undervolted).
Click to expand...
Click to collapse
Better than SAV2? I can't really comment myself but I like it so far.
Also, try to keep Sense kernel talk in the sense thread and aosp kernel talk in the AOSP thread. It makes tracking easier. But I also brought up the comment in this thread so it makes sense why you posted here.
tiny4579 said:
Better than SAV2? I can't really comment myself but I like it so far.
Also, try to keep Sense kernel talk in the sense thread and aosp kernel talk in the AOSP thread. It makes tracking easier. But I also brought up the comment in this thread so it makes sense why you posted here.
Click to expand...
Click to collapse
I have used both the GB and AOSP versions of the lazy governor. The GB version appears to make the Sense 3.5 rom smoother. As far as battery life, I haven't been able to tell if its better than SA2 since I have a much longer history with SA2. In any event, thanks for adding this governor to both versions (as I switch between the new ICS roms and Sense 3.5); it's another great choice for us to experiment with.
Could you make lulzactive possible tiny?
Sent from my DROIDX using Tapatalk
I'm currently on Zeus v7.01 with dianaV2.3+ kernel and I'm wondering what is the best combination of Governor/IO Scheduler/Voltage to obtain the most best battery life.
I'm not searching for best performance honestly, but instead a longer lasting phone. lol
I rarely play games, and smoothness is not a must for me (Nemus Launcher does the job, smoothest launcher ever!)
My current settings are:
CPU Frequency Tweaks
Max freq: 1000
Min freq: 100
DVFS enabled on boot
Voltage Tweak: -5
Governor: ondemandX
Io Scheduler: sio (Simple I/O)
You could try undervolting your phone,because i like performance and smoothness,my setup is like that:
Max CPU frequency:1300Mhz
Min CPU frequency:300Mhz
Governor:Smartassv2
I/O scheduler:deadline.
Sorry for useless stuff,but i like to share
My main agenda is to help, not gain thanks.
UniversalSS said:
You could try undervolting your phone,because i like performance and smoothness,my setup is like that:
Max CPU frequency:1300Mhz
Min CPU frequency:300Mhz
Governor:Smartassv2
I/O scheduler:deadline.
Sorry for useless stuff,but i like to share
My main agenda is to help, not gain thanks.
Click to expand...
Click to collapse
No no it's nice to share your experience!!
Might help others..
Hmm my phone is already UV... -5, if i decrease further wouldn't it be too low to cause instability?
And about IO Scheduler, i don't quite fully understand it.. which one drain least battery?
i am using 100-800 smartass2 sio and -7V without any problems.
MBQsnipers Guide to Kernel Knowledge
It lives again!
----
CPU Guide app:
Want this in app form? Lucky for you, I made one!
Get it here:
https://play.google.com/store/apps/details?id=com.kyler.mbq.mbqscpuguide&hl=en
----
CPUGuide website:
(If you're using it on a mobile browser, enable desktop mode).
http://CPUGuide.MBQonXDA.net
----
Contribute to the app!
It's always very appreciated. I also need translations.
https://github.com/MBQs-CPU-Guide/MBQs-CPU-Guide
---------------------------------------------------------------------------
Governors:
OnDemand:
Ondemand stands for that it scales up on load in frequency and then detects the load and scales back to a frequency which is fullfills the "demand" of the current load dynamically. (AndreiLux)
Interactive:
Interactive scales by default in steps towards max frequency, Ondemand in its default implementation scales immediately to max frequency. (AndreiLux)
InteractiveX(v2):
The same as Interactive, but when you turn your screen off it forces the second CPU core offline until the screen turns on again.
Performance:
Will constantly run at the highest set CPU speed.
Powersave:
Will constantly use your lowest set CPU speed.
Conservative:
Conservative means that it scales conservatively, not that it is conservative. It pretty much very similiar to Interactive in that it scales up and down in frequency steps. It actually can be one of the most aggressive governors out there. (AndreiLux)
Userspace:
Rare in the word of kernels. Typically not used for mobile phones. But what it basically does is, it runs on whatever CPU speeds the user sets through an app.
Lagfree:
More aggressive kernel. It scales the CPU faster, reducing lag and performance, while maintaining decent battery life. Its main goal is to increase performance without reducing battery life.
Min Max:
Only uses your max screen on frequency, and your min screen on frequency.
Hotplug:
Based off of Ondemand. It allows a CPU to go offline with minimal usage. When you're sending messages, browsing settings, or other simple tasks, most likely one of your CPUs will be offline.
PegasusQ:
Samsungs Governor for multi-core phones. Based off of Ondemand. This kernel controls hotplugging as well.
Lazy:
This Governor doesn't scale as fast. It's really a lazy governor, it tends to stick in the same CPU frequency without changing as much. Which can be beneficial to your battery (if your CPU settings are conservative) or can reduce battery life (if your chosen frequencies are aggressive).
Nightmare:
A modified PegasusQ, less aggressive (Which means not as good performance-wise), and doesn't usually hotplug. It is good for a balance between performance and battery life. May prevent the 'Screen of death' as well, since it doesn't hotplug.
HotplugX:
Its basically a smarter Hotplug, to my knowledge, it shuts off the second core much faster, and is a little bit smarter with CPU scaling and power efficiency.
LulzActive:
Based off of the Smartass and Interactive governor(s), the newer version of this Governor gives more control to the user, and he CPU frequency parameters (Ask for a description if you need one) are smarter. Smart at scaling both up and down.
Smartass:
Based off of the Interactive Governor, this is an older version, but this Governor is (or was) one of the smartest Governors, and is smart with performance and battery. More below.
SmartAssV2:
A re-thought version of the original Governor. This one aims for ideal frequencies, meaning it makes up its own frequences in order to meet the requests the CPU needs. Scales down the CPU extremely fast once the screen is turned off, meaning you will get amazing standby times. No upper limit for the CPU frequencies in both the screen on and screen off state(s). (If you want a better detailed explanation of that, please ask.)
Lionheart:
Conservative-based governor off of Samsung update3 source (Line copied directly from a guide, thank you 'Amal Das'), scales aggressively. This Governor is strictly for performance.
BrazilianWax:
Similar to smartassV2, the only real difference is, it scales more aggressively than SAv2 does, which reduces battery life, while improving performance.
SavagedZen:
Based off of SmartassV2, similar to BrazilianWax, but this Governor tends to favor battery over performance. From personal experience, I can say it does a great job of doing so.
Scary:
Conservative-based Governor with some smartass features. Ramps speed up one at a time, and ramps speed down one at a time (ask for description if you don't understand). Caps your screen off speed at 245MHz. Scales just like conservative would. This Governor is more for battery life than performance.
Sakuractive
A governor based off of hotplug and ondemand. The phone hotplugs (when it can) when the screen is on, and can be described as a 'hybrid' of hotplug and ondemand
OnDemandPlus
A governor based off of OnDemand and Interactive. It provides a balance between performance, and saving battery.
DynInteractive
A dynamic interactive Governor. This Governor dynamically adapts it's own CPU frequencies within your parameters based off the system(s) load.[/SIZE]
Advanced CPU Governor settings:
I got most of my information from this thread.
Sampling rate:
Microsecond intervals the governor polls for updates. Assists in the Governor determining whether or not to scale up or down in frequency.
Up threshold:
Defines the percentage from 1 to 100 (percent). Happens less often when clocked at a lower speed, overclocks when you get up into higher CPU frequencies. Using a Governor such as OnDemand prevents it from overclocking nearly 100% of the time.
Ignore nice load:
If you set the value to '1' the Android system will ignore 'nice' loads when the CPU Governor scales up or down.
'Nice' load:
When you turn a process into a 'nice' load, it prevents low activity processes randomly becoming high priority processes, which prevents lag. What a 'nice' load is, is how it handles processes. You can 'Re-Nice' processes, and re-set how processes are determined, based on your current processes that you have. Which helps eliminate lag due to processes being re-prioritized.
Frequency Step(s):
Determines how much the Governor will increase, or decrease, based on your CPU speeds. *This doesn't apply to some Governors
I/O schedulers:
Deadline:
Set to minimize starving of requests. In other words, it is designed to handle system requests as quickly as possible.
Noop:
It handles requests in a basic 'first in, first out' order. So any requests that come in, will also be the first to be executed.
SIO:
A mix between Noop and Deadline. Basic process/request merging. One of the most reliable schedulers out there.
BFQ:
Gives each request a time budget. If the request is not met by the time it is given, the request is skipped. Smarter than the CFQ governor.
CFQ:
'Completely Fair Queuing' scheduler. Scales its requests in an effort to insure smooth task handling. Attempts to give each request equal I/O bandwidth. Typically, lag happens with this scheduler due to the effort of competing tasks on the disk because it tries to give equal bandwidth amongst all requests.
FIOPS:
Relatively new. No I/O seek time, ( potentially better for performance), balanced read/write times, one of the smarter I/O schedulers
ROW:
Read Over Write. It will cause better read times for pictures/media, but when transferring data/installing apps, significant reduction of performance will be present.
V(R):
Best for benchmarks due to performance of requests, but is considered unstable due to random drops in performance. Semi-based off of the CFQ scheduler.
FIFO:
Takes each process in one by one, fair process queuing, balanced queue handling as well, processes go in and out in a numerical fashion.
TCP Congestion Avoidance Algorithms:
Tahoe:
Limits unknown packets being received. Limits the congestion window, and reset itself to a slow-start state.
Reno:
Basically the same as Taho, but.. if 3 of the same packets are received, it will halve the window, instead of reducing it to one MSS. It changes the slow start threshold equal to that of the congestion window.
Vegas:
One of the smoothest (next to cubic), it increases the timeout delay for packets, which allows more to be received, but at a higher rate. It also has set timeouts, which helps with speed because it's constantly being refreshed.
Hybla:
Penalizes connections that use satellite radio. Not usually used with phones.
Cubic:
One of the best, most recommended TCP options available. Less aggressive, Inflects the windows prior to the event. Used in Linux.
Westwood:
A newer version of Reno, and another commonly used one. It controls parameters better, helping out streaming and overall quality of browsing the internet. One of the most 'fair' algorithms out there, and is one of the most efficient algorithms to date.
CPU Governor recommendations:
Performance: Use Wheatley, or Performance.
Battery life: Use lagfree, Hotplug, PegasusQ, InteractiveX, or Sakuractive.
A fine balance: Use SmartassV2, Hotplug, or Sakuractive at less aggressive CPU frequencies.
Android tips:
Developer options:
Go to settings>build number... And tap 'build number' 7 times, go back, and you have now enabled developer options.
Force GPU rendering:
What it does is, it force enabled 2D drawing (such as scrolling, and anything non-game/app related) to the Graphical Processing Unit, instead of the Central Processing unit. What does/can this do? It has the potential to save battery life, and takes some of the load off of your CPU, which increases overall smoothness and reduces lag.
Keeping WiFi on during sleep:
What it does is, as this ^ suggests, keeps WiFi on while your phone is awake. To enable this, (and there are many ways.. I'll give you the way I'd do it.) Go to settings>WiFi>WiFi settings (3 vertical dots)>Advanced settings>keep WiFi on during sleep.. And set it to 'always' or.. You can use tricksterMOD and enable that via the GUI (Graphical User Interface)
WiFi Supplicant Scan Interval:
Before you freak out, I will give you what it means. What it means is this: how often your phone scans for a WiFi signal. Typically, it is 15 seconds. The recommended number is 300. To change it, you can typically find it in the build.prop manually edit it on your computer, or use an app such as ES file explorer and run it as root. Go to build.prop and look for: wifi.supplicant_scan_interval=x. And change x (usually 15) to 300, save, exit, and reboot. Please note it is not available with some ROMs that are driven towards a stock-ish feeling. Such as CM ROMs, or any derivative of that ROM.
Tips to get better battery life:
Turn off sync, location, Bluetooth when you're not using it, along with WiFi and data, don't use app-killer apps, lower CPU frequencies, and change your Governor to something less aggressive if you don't use it for heavy gaming.
Status bar with 1 finger, panel with 2:
If you want to access the tile settings quicker. Drag your status bar down with two fingers. If you want to bring down the status bar, touch the top of your screen and slide your finger down.[/I]
Autobrightness sucks!!:
Download an app called 'lux' and use that app. It'll take of any problems you're having, plus it'll save battery.
Changing your phones screen density:
In your build.prop, there is a line of code that looks like this: ro.sf.lcd_density=320, change it to 240 for a tablet-ish feel. Don't go under 160 though, you'll have endless bootloops
Change your bootanimation:
Go to system/media, you'll see bootanimation.zip, replace it with your desired bootanimation, change permissions to r-w-rr (read-write-read-read), and reboot. (Assuming you're doing this on your phone)
Block ads:
Download an app called 'adblock' on the play store, run it normally, accept the SU request, hit 'skip' and run the program, exit out, and reboot!
4x MSAA:
4 times MultiSample Anti-Aliasing. What this does is smooths out edges in apps that support AA. It makes your game look better, enhances graphics, but has the potential to degrade performance due to the screen enhancement. To enable this, go to settings>developer options>and check the box that says 'Force 4x MSAA'
zRAM:
Avoids disk paging, compresses your RAM. Disk paging means the way your phone saves temporary data. It helps with fragmentation of your disk and the physical space, which, over time, keeps speed stable and prevents any system slowdowns.
Explanation of TricksterMOD Settings:
General:
TCP:
Affects download speed
Scheduler:
How your system responds to, and handles tasks
Readahead:
How far ahead your internal SD caches when you put stuff on it
Frequency profile:
Save your frequencies
Min:
Minimum screen on time
Max:
^Opposite of minimum
Max screen off:
Max screen off frequency
Governor:
How your CPU essentially scales
Specific:
Wifi high performance:
Keep wifi on when the screen is off
Content adaptive brightness:
Better whites at low screen
Force fast charge:
Fast charge when your phone is hooked up to your PC/whatever
Group task:
Equally distribute loads amongst the CPUs
High performance sound:
Better sound
Headphone volume boost:
Boost the headphone volume for louder audio
Touch wake:
Touch your phone after you turn the screen off, and itll turn it back on
Vibrator strength:
Set the strength of the vibration of your phone
FSYNC:
When disabled, provides faster writing (not reading) of files with the risk of data loss if the phone crashes or is shut down improperly. (Thanks renaud)
Temperature limit:
How high your phones temperature can get before your phone reacts
Temp. throttle:
Enable the temperature limit
GPU OC:
Graphical Processing Unit overclock
MPU:
Mathematical Processing Unit
zRAM:
RAM compression to speed up your phone
*Leave on Core, IVA, and MPU
Voltages:
Set the voltages of each CPU frequency.
Feel free to 'thank' me for this, but.. it isn't expected.
Little outdated.
Will update as time goes on.
thanQ vvvery much!!
very useful thread..
can i ask you something?
my phone is very fast and responsive sometimes.. but if i keep screen off for some hours, after turning on when i click on an app (even if it's running on background) it'll
launch with some delay.. i don't like it at all..
i don't play heavy games.. but i need my phone response each touch and launch certain app as quick as possible.. which Governor, Scheduler do you suggest?
Dark Fear said:
thanQ vvvery much!!
very useful thread..
can i ask you something?
my phone is very fast and responsive sometimes.. but if i keep screen off for some hours, after turning on when i click on an app (even if it's running on background) it'll
launch with some delay.. i don't like it at all..
i don't play heavy games.. but i need my phone response each touch and launch certain app as quick as possible.. which Governor, Scheduler do you suggest?
Click to expand...
Click to collapse
Raise your min screen-off frequency
Thanks for taking the time to put this together, you really have outdone yourself. :thumbup:
Sent from my Nexus 4 using XDA Premium 4 mobile app
yeah little outdated but very informative thread for many new android explorers to understand things better. :highfive:
just a suggestion: UI card like in google now, keep
aLNG said:
just a suggestion: UI card like in google now, keep
Click to expand...
Click to collapse
I don't follow...
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
MBQ_ said:
I don't follow...
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
Click to expand...
Click to collapse
i will give you a prototype what i mean by User Interface (UI) card later
This is great, clears up many concepts! Good work bro!
feedtheducks said:
This is great, clears up many concepts! Good work bro!
Click to expand...
Click to collapse
Myyy pleasure.
Have another version of the CPU Guide app coming soon too.
Sent from my Galaxy Nexus using XDA Premium 4 mobile app
For speed, what are the best settings to have? I'm running CM10.2 now, this ROM in particular, with this Kernel. No "performance" scripts, as I tried one and my phone wouldn't boot and had to restore nandroid backup.
For example:
zRAM: disabled, 10%, 18% (default), 26%
Allow purging of assets y/n?
Kernel samepage merging y/n?
16bit transparency y/n? (yes seems obvious but I don't know if it might somehow make it slower)
Right now I'm using SMARTASSH3 governor with max cpu at 825. I can go up to about 900mhz but it doesn't seem to make much difference to be honest.
I/O scheduler: I leave this as NOOP on default because whenever I change it my phone because really unstable and crashes all the time, but if you can suggest one that might be better I'm all ears.
Dev options:
Window animations of course can be reduced or disabled.
Force GPU rendering for 2D drawing y/n?
Force 4x MSAA y/n?
Disable HW overlays y/n?
Background process limit? Whenever I try to change this the setting never "sticks", and I think it seems to cause instability.
Don't keep activities seems like an obvious one to enable, but if you are switching between multiple apps then it could be perceived slowdown as it has to load them up again from the start?
Does the amount of available internal storage make a difference to speed? Right now I am at 14.8mb free, is this used like RAM or something and I should link more apps to SD card? (Link2SD)
Thanks in advance if you answer these extremely common questions..
Its For Galaxy Ace S5830 Q&A Section
Not For Galaxy Ace S5830i
Next Time Please post in correct section
Sent from my GT-S5830i using Tapatalk 2
S H A D Y said:
Its For Galaxy Ace S5830 Q&A Section
Not For Galaxy Ace S5830i
Next Time Please post in correct section
Sent from my GT-S5830i using Tapatalk 2
Click to expand...
Click to collapse
My bad, could a mod move it over to the right place?
Thanks
paradoxiumwind said:
My bad, could a mod move it over to the right place?
Thanks
Click to expand...
Click to collapse
REPORTED
to MOD to Move it
paradoxiumwind said:
For speed, what are the best settings to have? I'm running CM10.2 now, this ROM in particular, with this Kernel. No "performance" scripts, as I tried one and my phone wouldn't boot and had to restore nandroid backup.
For example:
zRAM: disabled, 10%, 18% (default), 26%
Allow purging of assets y/n?
Kernel samepage merging y/n?
16bit transparency y/n? (yes seems obvious but I don't know if it might somehow make it slower)
Right now I'm using SMARTASSH3 governor with max cpu at 825. I can go up to about 900mhz but it doesn't seem to make much difference to be honest.
I/O scheduler: I leave this as NOOP on default because whenever I change it my phone because really unstable and crashes all the time, but if you can suggest one that might be better I'm all ears.
Dev options:
Window animations of course can be reduced or disabled.
Force GPU rendering for 2D drawing y/n?
Force 4x MSAA y/n?
Disable HW overlays y/n?
Background process limit? Whenever I try to change this the setting never "sticks", and I think it seems to cause instability.
Don't keep activities seems like an obvious one to enable, but if you are switching between multiple apps then it could be perceived slowdown as it has to load them up again from the start?
Does the amount of available internal storage make a difference to speed? Right now I am at 14.8mb free, is this used like RAM or something and I should link more apps to SD card? (Link2SD)
Thanks in advance if you answer these extremely common questions..
Click to expand...
Click to collapse
ZRam: Yes (but the battery life will get shorter!)
Allowing purging of assets: Yes
KSM: Yes
16-Bit transparency: Yes
SmartassH3 is a good choice. If it's getting laggy use smartassv2. I usually use 200-800MHzh.
I/O scheduler: Idk which ones the MA6 kernel has, but ZEN is one of the best.
You can limit the background processes to 3-4, it's up to you and your personal use.
If you have apps that you don't use, deinstall them. Because some of them are running in the background and so they'll use RAM.
Sent from my GT-S5830 using xda app-developers app
On CM 10.1 I got a very slow phone with zen scheduler. Now I'm using deadline and is faster than before. Governor is smartassh3 (supersmooth governor) and 864mhz overclock. This combination works very good for me. Please report back your experience
my phone
(main)
governor: interactive (320-800MHz)
scheduler: sio
(screen off)
governor: ondemand (245-748MHz)
smooth and responsive, try it.
How is battery life with these settings on CM10? Can I aspect at least 10 hours of moderate use?
Hello all.
After about a month of researching and testing with the Galaxy S5, I'm finally happy with my SmartKernel profile, with the interactive governor carefully tuned, using known resources and countless trials and errors, as well as other various tweaks, like VM and I/O scheduler, and decided to publish on it's own thread.
The main resources I've used for the Interactive governor tuning includes the well known:
Android Modders Guide;
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life! for Nexus 5X; and it's twin
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life! for HTC Evo 4G.
First of all, this tweaks should be a little sensible to the ROM, kernel, apps, and other tweaks your using. Like, I just found out that Havoc pie style quicktile settings use way more juice then if I turn it off and go back to Oreo default. Bellow you will see the apps I mainly crafted this profile in mind.
For reference: I have a klte with latest Oreo Havoc installed, nano OpenGapps, Magisk and the SmartPack kernel. For apps I use Facebook lite, cause the normal app is just a big hog, whatsapp and instagram social apps. Chrome. I don't use the Google App or Greenify(uninstall/delete velvet). And play lots of games like Clash Royale, Star Wars Force Arena and Arena of Valor. BetterBatteryStats.
And a lot of random apps that normally don't stay on the background.
DESCRIPTION
On the SmartPack manager profile:
. HIghly Efficient Interactive Governor Tunables (most important part);
. No Touchboost or any other boost, only the governor dictates to CPU in which clock it should to be;
. Overclock disabled, but can be enabled at you will;
. No underclock, I do undervolt my CPU but this you need to find your specific device numbers, mine won't cut;
. LazyPlug Hotplug with all 4 cores on all the time (better performance while using and battery savings while at idle);
. I/O Schedulers: ZEN (the L-Speed profile complement this part, with it's scheduler tunables);
. READ-AHEAD internal 1024kb (for 16GB or more) and external 512 kb (for my 8GB SDCard, adjust accordingly to yours SD Card size conform described here
. Adreno Idler disabled: it doesn't make any effect;
. Speaker Driver Leakage disabled and Boeffla Sound enabled with 0 gain as it does make a difference, at least with ViperFX magisk module installed;
. Screen minimum RGB set to 1 (0 won't stick), for a darker dark on our AMOLED, plus some tweaks;
. Led blinking fade enable;
. VM tweaks: dirty_ratio 30 and dirty_background_ratio 15; for minor battery improvement, with a perceptible lower termperature/cpu usage and almost imperceptible performance hit;
. VM tweaks: page-cluster 1; for better multitasking/memory management
. VM tweaks: oom_dump_tasks 0; disable depuration of dumping tasks, less cpu needed.
. LMK values: 32 48 64 128 176 208 (MBs)
L-Speed Profile
. Logging and I/O stats disabled;
. Animations speed set to 0.25x;
. System battery save trigger at 20%;
If you need to provide or read logs, enable logging and i/o stats back on l speed; i/o stats and oom_dump_tasks 1 on smartpack manager
INSTALLATION
Unzip the attached file and import with SmartPack Manager:
The attached profile should be imported, applied and marked as to run "On Boot" to make effect. It will only work with SmartPack Manager and Kernels for both Nougat and Oreo, maybe even Pie. Just try it, and report back. If you wanna fine tune it. You need to use an app or enable the "show cpu clocks" option if your rom supports it (like Havoc, RR and many more), and monitor at which frequencies the lags happens, while doing the jobs you want the CPU to be efficient at. And mainly tweak the target_load according, maybe above_high_speed delays of 1,7GHz clock and above. You need to read the guides more in-dept too see exactly how to do it, but I'll paste here the most important parts on how to tweak this settings more to your Galaxy S5, with your particularly apps and ROM:
soniCron said:
Optimize Idle Frequency
Now that you've got the base configuration, we need to tweak it so that the CPU stays at your efficient idle frequency (384Mhz in this case) without spontaneously jumping when your phone is actually idle. To do this, open a CPU monitor that displays the current core frequencies (I like CoolTool, but you can use what you like as long as it doesn't significantly impact the CPU use--you're best off using a passive monitor and checking the results after 30-60 seconds of no activity), watch the frequencies and see how often they go above your efficient idle frequency when you're not doing anything at all, and adjust the following:
timer_rate - If your idle frequency is not being exceeded much, adjust this downward in increments of 5000 until it is, then increase it by 5000. If your idle frequency is being exceeded often, adjust this upward in increments of 5000 until your CPU primarily stays at or below your desired idle frequency.
above_highspeed_delay - Only if your timer_rate has matched or exceeded 50000 and still won't stay at or below your desired idle frequency most of the time, set timer_rate to 50000 and adjust the "20000" portion of the value upwards in increments of 5000 until the idle frequency has stabilized.
The lower these two values are, the more snappy/lag free your system will be. So try to get them as low as possible without the idle frequency being exceeded too much, as this inversely affects the snappiness and efficiency of your phone when you're not doing anything. Lower = snappier but uses more CPU when you're not doing anything (such as reading a webpage); higher = less snappy but stays in a power saving state more often reducing CPU use when you're not interacting with the device. These are the most critical in determining your idle power savings, so keep that in mind if you want the most battery life!
Enhance Task Responsiveness
Now use the efficiency and nominal clock rate correlations you made for your master clock rate list in the section above and adjust your frequencies to suit your usage patterns. For example, I had web page scrolling as my 710Mhz/864Mhz rates, so I will open a web page and scroll and see how everything feels. If it feels sluggish, I will increase all the references to "710000" in both above_highspeed_delay and target_loads upwards to the next available clock rate until that task is smooth. What you are looking for is constant poor/sluggish performance when the task you're testing for is using its highest CPU use. If the task becomes sluggish/stuttery as it winds down (such as a scrolling webpage slowing to a stop), we will address that next, so do not take that behavior into consideration as you adjust these values! If the task is smooth until (or after) it slows down, then you have reached your optimal clock rate and can move on.
If you need to exceed your nominal clock rate for a particular task, first measure it again just to be sure you had it correct. If you did indeed have it correct, leave it at your nominal clock rate and adjust the value after the colon next to the task frequency you're tuning downward in increments of 5. For example, if my setting of "864000:80" is still not sufficient, I will adjust it first to "864000:75", then "864000:70", and so on until the task is smooth. However, it almost certainly won't come to this, but if you reach ":50" and the task still isn't performing how you want, set it back to ":80" and increase the clock step once more, then decrease the ":80" until it is smooth.
Do the same for each other frequency in your master clock rate list until you are satisfied. If you have chosen to use more than 2 primary clock rates, add them and use ":##" values between the two surrounding frequency values.
Fix Stuttering
Now that you have adjusted your frequencies for optimal high CPU use in each given task, you may notice some stuttering as the task winds down. (Such as a scrolling webpage slowing to a stop.) If this bothers you, you can tweak this at the expense of some (minor) battery life by adjusting min_sample_time up in increments of 5000 until you are satisfied.
If you have exceeded a value of 100000 for the min_sample_time setting and still are not satisfied, change it back to 40000 and increase (and re-optimize) your idle frequency by one step. This will impact battery life more, but less than if you were to keep increasing the value of min_sample_time.
Adjust High Load Clock Rates
You're almost done! Now you can leave everything as is and be satisfied with your amazing, buttery smooth, snappy experience, or you can optionally tweak things further to either increase the responsiveness of high load tasks (such as loading image previews in Gallery) or increase battery life somewhat.
Adjust the final delay value in above_highspeed_delay to suit your needs. The default ("150000") means that the CPU load at the highest set frequency (default "1026000") will have to be sustained for 150ms before it allows the load to go above that frequency. Increasing this value will prevent the CPU from reaching higher frequencies (which may be unnecessary) as often, saving battery life. This will come at the expense of burst-type high CPU load tasks. Reducing it will allow the CPU to reach higher frequencies more often, at the expense of battery life. However, adjusting this is probably unnecessary, as it will most likely not yield any perceptible difference in performance. It is recommended to leave this value at its default.
Click to expand...
Click to collapse
Besides CPU Voltage and Battery, all tabs on the manager are modified and tuned to achieve best performance, while having best efficiency possible. Is not a battery or a performance, but a efficiency profile.
Refer to this thread if you wanna undervolt your device with a well know secure margin for the CPU Snapdragon 801 2.5ghz MSM8974AC, which our Galaxy S5 contains:
[GUIDE] Snapdragon 805/801/800/600 Clock & Voltage (PVS bin) guide by HD2Owner I've managed to achieve much lower voltages then PSV15+ devices (refer to the sheets).
I also attached the excel spreadsheet I've made with all this thread information, both governor guide equations on target loads, undervolting guide findings, and made my own base calculations and settings. Feel free to use, modify, and discuss it with me. You will see that I based the most efficient clocks in an original thought about which ones are the most efficient, instead of plotting the differentials between voltages of each clocks, I did plotted the difference of the clock divided by voltage, which on itself should be how much voltage 1 mhz uses, on each clock rate. So, the higher the number, more speed each clock rate give us by voltage used. It's kinda complicated and idk if I explained it the right way, and even if it really makes sense under scrutiny, but I couldn't think why not myself, so, any inputs are welcome.
I own my thanks to all the following XDA fellows, without them, I could not have achieved this:
@sunilpaulmathew for the SmartPack Kernel which is the only kernel for the S5 that can turn that damned MPDecision off and SmartPack Manager;
@soniCron for both of the governos Guides;
@Saber for the Android Modders Guide which is immensely helpful.
CHANGELOGS
L-Speed Profile (download the app on PlayStore):
011118 lspeed profile
- first release
031118 lspeed profile
- Removed most tweaks, only left minor stuff, refer to the OP.
L Speed profile is not really needed, SmartPack will do 99% of the job.
SmartPack Manger Profile (download the kernel and the app here):
301018
- first release.
011118 smartpack profile:
- A few Interactive governor tweaks;
- Removed Virtual Memory and LMK tweaks, let it on default or use L-Speed to optimize, as it does a much better job then me.
031118 smartpack profile:
- Governor tunning: better high load management;
- Included back only 3 sane VM configurations, no more freezing, better cooling (less cpu needed, while performance barely took a hit)
- Sane LMK configurations, kills apps not being used faster, retain some multitasking while not let it slow down the device
081118 smartpack profile:
- target_load (no changes up to 1497600) ...1728000:89 1958400:91 2265600:95 -> ...1728000:88 1958400:90 2265600:95
- above_hispeed 20000 1190400:60000 1497600:64000 1728000:77000 1958400:84000 2265600:130000 -> 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000
- external storage read-ahead from 512 -> 2048 (because I've gone from a 8GB to a 32 GB SDCard, ADJUST YOURS ACCORDINGLY TO https://androidmodguide.blogspot.com/p/io-schedulers.html)
- cleaned unused and already default values from profile
101118 smartpack profile:
- Turned Alucard off, accidentally activated it with Lazyplug also enabled, not good!
- Managed to go 1 point higher on freq 1497 MHz, the 2 hotplugs enabled were messing with me trying to test this change before, also 1 point lower on the idle freq 268 MHz for smoother scrolling while still staying at freq 268 while idle. And some more high load optimizations now that I only got 1 hotplug enabled as it should always be.
- target_loads from 268800:29 ... 1497600:86 1574400:5 1728000:88 1958400:90 2265600:95 to -> 268800:28 ... 1497600:87 1574400:5 1728000:89 1958400:91 2265600:94
- above_hispeed 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000 -> 20000 1190400:60000 1728000:74000 1958400:82000 2265600:120000
- dirty_background_ratio 15 -> 10
221118 smartpack profile:
. Reverted new SmartPack Kernel v14r4 changes to Virtual Memory back to original default configurations, if you've have had reboots this should fix it, please report back here and/or the kernel's thread;
. More changes to Interactive governor aiming to optimize high load scenarios according to the profile philosophy:
. above_hispeed_delay 20000 1190400:60000 1728000:74000 1958400:82000 2265600:120000 -> 20000 1190400:60000 1728000:74000 1958400:80000 2265600:105000;
. Enabled fast charge configurations, set at 1200 mhA as I found it's a good charging speed without heating the phone too much on my hot city, nothing you can't change at your will.
241218 smartpack profile:
. Restored missing min_sample_time tunable since 081018 profile
. dirty_ratio 30 -> 25
. General cleanup
. Tested on Pie
@justjr
Nice work friend. Great to see that your finally open a place to share your findings. In my opinion, your profile should work on any klte device with minimum kernel support. I haven't seen much SmartPack specific stuff in your profile except some hotplug related things. So, if you make it as a shell script instead of KA/SP-Kernel Manager profile, it shall be beneficial for everyone. Anyway, as usual, I'll kang your changes to my kernel default profile
sunilpaulmathew said:
@justjr
Nice work friend. Great to see that your finally open a place to share your findings. In my opinion, your profile should work on any klte device with minimum kernel support. I haven't seen much SmartPack specific stuff in your profile except some hotplug related things. So, if you make it as a shell script instead of KA/SP-Kernel Manager profile, it shall be beneficial for everyone. Anyway, as usual, I'll kang your changes to my kernel default profile
Click to expand...
Click to collapse
I think this profile should work on original Kernel Adiutor, or any fork of it, shouldn't it?
It should work on any other kernel if the changes really stick, and uses the same paths, but MPDecision will mess with frequencies all the time. It would still follow the governor tunables anyway, but it will interfere with it and in the end will not gain too much efficiency out of it.
Actually I only state it is for SmartPack specifically because of the fact that is the only one I can disable MPDecision on our device, and because I included all the tweaks other then just governor tweaks.
Actually I'm kinda lazy right now, but I could do a shell script if any demand for it shows up.
justjr said:
I think this profile should work on original Kernel Adiutor, or any fork of it, shouldn't it?
It should work on any other kernel if the changes really stick, and uses the same paths, but MPDecision will mess with frequencies all the time. It would still follow the governor tunables anyway, but it will interfere with it and in the end will not gain too much efficiency out of it.
Actually I only state it is for SmartPack specifically because of the fact that is the only one I can disable MPDecision on our device, and because I included all the tweaks other then just governor tweaks.
Actually I'm kinda lazy right now, but I could do a shell script if any demand for it shows up.
Click to expand...
Click to collapse
Well, official KA (free version) doesn't allow to import profiles (paid feature), but all other mods does.
and yes, it is supposed to work on every klte device as long as the sysfs paths exist. Means it should work on any custom Kernel with lazyplug support (most of the other stuff are actually included in the stock kernel itself). Of course, the default settings provided by the kernel devs might conflict. e.g., as you said, MPDecision, although the line "stop mpdecison" in your profile will disable it. By the way, I'm not the only one who disabled mpdecision and relay on other hotplugs in this klte community
sunilpaulmathew said:
Well, official KA (free version) doesn't allow to import profiles (paid feature), but all other mods does.
and yes, it is supposed to work on every klte device as long as the sysfs paths exist. Means it should work on any custom Kernel with lazyplug support (most of the other stuff are actually included in the stock kernel itself). Of course, the default settings provided by the kernel devs might conflict. e.g., as you said, MPDecision, although the line "stop mpdecison" in your profile will disable it. By the way, I'm not the only one who disabled mpdecision and relay on other hotplugs in this klte community
Click to expand...
Click to collapse
Oh, really? Which one? I must had missed it. I've tested all kernels I could find. At least all the remotely up-to-date, like venom, tuned and boeffla kernels. I didn't see any option to change hotplugs on any. There were hotplug profiles, to keep cores online and stuff, but everyone of them keep changing min and max frequency at MPDecision will.
justjr said:
Oh, really? Which one? I must had missed it. I've tested all kernels I could find. At least all the remotely up-to-date, like venom, tuned and boeffla kernels. I didn't see any option to change hotplugs on any. There were hotplug profiles, to keep cores online and stuff, but everyone of them keep changing min and max frequency at MPDecision will.
Click to expand...
Click to collapse
Boeffla and Venom largely depends on MPDecision. However, as I remember correctly (on the basis of the code review, not from my experience, I never used it by myself), the Tuned kernel by @fbs disabled MPDecision upon booting to work well with its own Tuned hotplug.
sunilpaulmathew said:
Boeffla and Venom largely depends on MPDecision. However, as I remember correctly (on the basis of the code review, not from my experience, I never used it by myself), the Tuned kernel by @fbs disabled MPDecision upon booting to work well with its own Tuned hotplug.
Click to expand...
Click to collapse
I tested it too. And although he claims he uses hes own hotplug, it behave the same as boeffla and venom, it has the same profiles, and it does changes min and max freq out of my control.
justjr said:
I tested it too. And although he claims he uses hes own hotplug, it behave the same as boeffla and venom, it has the same profiles, and it does changes min and max freq out of my control.
Click to expand...
Click to collapse
no it doesn't change any freqs
it works by disabling or enabling cores, just that.
if any cpu reaches the maximum frequency, it enables one more core (as the other ones are already giving their best)
if any cpu reaches the minimum frequency too many times, it disables it (as it doesn't seem to be needed)
so in any moment you can have all 4 cores enabled or only 1. even with display on or off, it doesn't matter
mpdecision will NEVER let you use just 1 core, and it doesn't react as fast: battery hog
fbs said:
no it doesn't change any freqs
it works by disabling or enabling cores, just that.
if any cpu reaches the maximum frequency, it enables one more core (as the other ones are already giving their best)
if any cpu reaches the minimum frequency too many times, it disables it (as it doesn't seem to be needed)
so in any moment you can have all 4 cores enabled or only 1. even with display on or off, it doesn't matter
mpdecision will NEVER let you use just 1 core, and it doesn't react as fast: battery hog
Click to expand...
Click to collapse
Alright, sorry then, it seems my memories got clouded or something, as I've tested it about a month ago. I might go back any day just to test that. Thanks for giving us one more kernel option! :good:
UPDATE OP WITH
Description
Changelogs
New profile 011118, changelog:
. Few governor tweaks
. Removed Virtual Memory and LMK tweaks, let it on default or use L-Speed to optimize, it does a much better job then me
Also uploading the L-Speed profile I use so those who want to use it like I do, but you can choose any VM and LMK profile that fits your needs on the app. Just don't use the governor tuner because it will mess with my tunings, and l-speed governor tuning is a generic one for all devices, VM and LMK is OK to use generic tweaks, but not on governor.
@sunilpaulmathew I took a look at l-speed virtual memory and lmk profiles and they make incredible sense, take a look yourself, they may be what you need to put o that spectrum profiles, because above all they are device independent and do make a noticeable difference.
Is it valide for stock rom (6.0)?
lollazzo said:
Is it valide for stock rom (6.0)?
Click to expand...
Click to collapse
What kernel? It should work if the kernel have lazyplug or alucard hotplug, if is the late you just have to enable it.
Updates
SmartPack Manager Profile 031118:
. Governor tunning: better high load management;
. Included back only 3 sane VM configurations, no more freezing, better cooling (less cpu needed, while performance barely took a hit)
. Sane LMK configurations, kills apps not being used faster, retain some multitasking while not let it slow down the device
LSpeed Profile 031118:
. Removed most tweaks, only left minor stuff, refer to the OP.
L Speed profile is not really needed, SmartPack will do 99% of the job.
OP: descriptions for both profiles updated.
New profile.
I returned to Nougat, RR 5.8.5, same configs works awesomely and the device is cooler/faster then with Oreo. But still will works the same with both N/O and even Pie, not tested.
I also reinstalled Hearthstone as a high load app so I could tune the governor better for it, and up to 1490 MHz nothing is changed, and changed a bit target_loads and above_hispeed of the clocks above it so Hearthstone (and any other high load apps, or, using split screen with youtube) runs smoother/without lags and tasks like opening an app will finish faster, and also go back to a lower clock faster because of that. So, in the end it stays most of the time at lower clocks anyway, only difference is that it will jump faster when needed for less waiting time/lag.
Just to clarify, this is not suppose to waste battery, or drain it faster. As an efficiency profile the goal is to do the job you the want faster the possible, ramping up to the clocks that the jobs demands, without lags (or minimal lags) and go back to idle/lower clocks as soon as high clocks aren't needed anymore, so it don't overstay at a higher clocks then it's needed, very simple.
So, going to a high clock doesn't mean less battery life, finishing a job fast and going back to idle is the key to achieve more battery life, specially during deep sleep, when you really want your device go back to deep sleep fast, but also at any other time. Watching youtube, browsing and using low demand apps still uses the same clocks.
Also, on top of that you will spend more time USING the device instead of WAITING for it to finish a job. Battery life is very subjective, and SoT doesn't mean nothing IRL, I mean, are you spend that SoT waiting for a job to finish or to actually use the device?
081118 smartpack profile:
- target_load (no changes up to 1497600) ...1728000:89 1958400:91 2265600:95 -> ...1728000:88 1958400:90 2265600:95
- above_hispeed 20000 1190400:60000 1497600:64000 1728000:77000 1958400:84000 2265600:130000 -> 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000
- external storage read-ahead from 512 -> 2048 (because I've gone from a 8GB to a 32 GB SDCard, ADJUST YOURS ACCORDINGLY TO https://androidmodguide.blogspot.com/p/io-schedulers.html)
- cleaned unused and already default values from profile
File attached on OP.
I don't use SD card so what do I do?
razor17 said:
I don't use SD card so what do I do?
Click to expand...
Click to collapse
In that case nothing is needed, the configurations related to the absent sd card will not be applied.
Ok guys. I was wondering why my device was heating a lot more these last 2 days. Turns out both Alucard and Lazyplug were accidentally activated on 081119 profile. Turn one of them off and everything will be a lot better. Sorry for that. I will upload a new profile very soon.
edit:
101118 smartpack profile:
- Turned Alucard off, accidentally activated it with Lazyplug also enabled, not good!
- Managed to go 1 point higher on freq 1497 MHz, the 2 hotplugs enabled were messing with me trying to test this change before, also 1 point lower on the idle freq 268 MHz for smoother scrolling while still staying at freq 268 while idle. And some more high load optimizations now that I only got 1 hotplug enabled as it should always be.
- target_loads from 268800:29 ... 1497600:86 1574400:5 1728000:88 1958400:90 2265600:95 to -> 268800:28 ... 1497600:87 1574400:5 1728000:89 1958400:91 2265600:94
- above_hispeed 20000 1190400:60000 1728000:68000 1958400:79000 2265600:110000 -> 20000 1190400:60000 1728000:74000 1958400:82000 2265600:120000
- dirty_background_ratio 15 -> 10
I will give this a try. Hope it works well...
Yeah.
You know, try it and report back. I don't see any reports, so I assume is working well for people.
Any reports are welcome.
lentm said:
I will give this a try. Hope it works well...
Click to expand...
Click to collapse
Enviado de meu SM-G900M usando o Tapatalk
justjr said:
Yeah.
You know, try it and report back. I don't see any reports, so I assume is working well for people.
Any reports are welcome.
Enviado de meu SM-G900M usando o Tapatalk
Click to expand...
Click to collapse
No problems so far...greats for daily use..scrolling smoother than default..but pubg still laggy on lower res...may i know which rom are u using?