Related
I shared my user.conf a while back with the guys on the xROM thread. I got really positive feedback from them so I decided to share it in a few other threads. JAC is included a lot of my ideas in xROM 1.4 and is going to include more in 1.5 It has grown and become more popular so I decided to start a thread at the request of a few people who use my config.
I didn't think it deserved the space until now to make a thread so I never started one. I'm not trying to make this thread all about me. I've said more than once, I would love for someone to come up with a config that is better than mine because I will be the first one to use it. I just don't want to keep derailing other conversations in other threads anymore. And while I appreciate all of the emails that I get, I think a separate thread will be an easier place to discuss this and help people out.
So I will start by posting giving a general outline of how I came up with my settings. If you want to give me feedback, I appreciate it. Even if you have emailed me in the past or posted something on one of the threads I would appreciate a post in this thread. If only the people who have problems post here I won't know how many people it is helping or not.
That is only part of the thread though. If you have a configuration that you have seriously tested and you want other people to try it, post your method and how to set it up and let's see what we can come up with. Please don't just post random configs hoping someone else will test them for you. I don't want the thread to turn into a confusing mess that doesn't help anyone. My goal is to have this thread spawn some new ideas that will make everyone's phone faster. If you've done your homework and you think you have something good, let's share it. I never thought that my config would be used by so many people. I was just trying to make my phone faster. Maybe you can do better.
Testing Method:
I generally use two apps to benchmark the performance of my phone. They are Benchmark Pi and Benchmark. Both are available on the market. I use Benchmark Pi for a rough comparison because it is faster and focuses mostly on how fast the CPU is running. When I get down to fine tuning I use Benchmark. It takes longer to run but it measure graphics, CPU, memory, and filesystem performance. For Benchmark Pi I usually will run it 10 times and use the average response. With Benchmark I set it to run each bench 5 times each and it automatically averages the values. Then I export that to a csv file and compare them that way.
I think I am a pretty heavy user of my phone so I took what I normally use and added a little bit to it. Here is what I used:
- All testing was done on xROM
- Over 120 apps installed
- 5 home screens
- 18 widgest and 8 shortcuts to apps (I can post specifics if anyone cares)
- I run the phone until it is definitely swapping. I play music, open large web pages, run CPU intesive apps, etc.
- ask me if you want more details
I use Advanced Task Manager, which I highly recommend, to keep an eye on what is running and kill any apps that are not being used by me or my desktop. I try to simulate heavy usage of my phone with only the things running that should be. I also use cat /proc/swaps, free, and sh /system/bin/swap -s (sh /system/sd/userinit.sh -s for othe ROMs).
I started out comparing Compcache and Linux Swap since those are the biggest choices. Compcache came out slightly better with the recommended configs that I could find at the time. Then I benchmarked and tested each of the Compcache settings. I found huge improvements made from tuning Compcache, especially adding backing swap. I know it got a bad rap in earlier builds because, well, it probably wasn't very good. But 0.6 is good and it has a bright future. Read this article http://lwn.net/Articles/334649/
Then I tuned swapiness, CPU, and tried on VM. It was mostly just painstaking, tedious testing of one setting to the next. I can honestly say that I have tuned every setting in the User.conf. If I change any of them the benchmarks go down. So when people tell me they tweaked this or that I don't want to say anything because I have probably tested that exact scenario and I got worse performance. But maybe it is working for them, I haven't seen any benchmark numbers. I tried on the VM but nothing seemed to help very much and I didn't want to cause problems so I stuck with the default settings there. Maybe someone can come up with better settings for the VM if that is their area of expertise.
Results:
I'm not going to post some grand report like I would at work. I'm not getting paid for this. Plus not very many people would look at it and I don't know how much it would mean in the long run.
The easiest comparision I can make is using Benchmark Pi. The average of all of the users who have ever tested using that app is around 15 seconds to calculate pi. Stock G1's will calcluate it in about 16 or 17 seconds depending on how loaded they are. xROM stock was getting a result of about 13.5 seconds with just scaling the CPU up to 528 MHz. After tweaking all of the other settings I got down to sub 12 seconds. My best time is about 11.6 seconds. I saw someone with 11.5 who used xROM 1.4. When I loaded CM 4.0.4 last night I was getting just under 13 seconds with my best times. Still a very good time considering everything that I have running.
I did a lot of other testing with Benchmark to monitor the filesystem and memory. I monitored /proc/swaps to see how much memory Compcache was using and how much was being swapped.
I learned a lot about the phone doing all of this. For instance, when you set the CPU max threshold really low, it is going to keep bumping up the CPU really fast until you get to the max. So you have a pretty good delay until you get to the max CPU frequency because the fequency keeps changing and pauses when that happnes. But then it is good until it drops again. If you make it too high, it will overwork the processor and you will see delays again. The key is to find the best setting that allows the processor to be exercised but not overworked. I don't have the time to write down everything I learned from it and you probably don't want to read it. But if you ask a specific question I will be happy to answer it.
I'd like to thank Huanyu for his thread (http://forum.xda-developers.com/showthread.php?t=542899). I wouldn't have been able to tune any of this without it and for JAC and Manup for helping me so much with xROM.
I hope this thread is helpful. Let me know what you think of my work and post your ideas too.
I have links to installing my User.conf in my signature. This post is long enough without putting that in here too. And this is more about discussion than pushing my settins on people. I don't know if mhy config will work at all with Hero. I haven't done much testing on it. I plan to do the same project for Hero when I have time. JAC has volunteered to help me out with that. If anyone wants to try it, go for it. But I don't want to confuse this thread too much by discussing Hero and the AOSP ROMs. Maybe I will start another thread for just Hero.
I look forward to seeing where this thread goes.
Ok, I decided to add more now that I have some extra time. I'm working to get backing swap working with a swap file instead of using a swap partition. A lot of people don't have or want a third partition on their phone and backing swap helps out a lot. Compcache 0.6 supports this but it wouldn't work on the G1 (or any ARM processor). I opened an issue with the compcache development team. They gave me a fix which allowed me to enable it but it ended up trashing my ext3 partition. I had to wipe my phone because the data became so corrupted. The issue is still open and the compcache developer is working on resolving it. When it is resovled, I will post an updated user.conf file that uses swap file instead of swap partition.
Many thanks for your test.
Just one question, why you don't turn the linux swap on in Cyanogen's ROM?
I found you turn on the compcache and backingswap in user.conf.
Is it better than compcache with linux-swap?
min scaling frequency 192000?
I applied the settings from your user.conf in the Cyan thread you linked to except the min scaling frequency because it seems to be set to a non-existent step (192000). Is that a typo or...? Is that user.conf the latest one you tested with CM 4.0.4?
Thanks for doing all this testing and sharing your settings!
fengwuyu said:
Many thanks for your test.
Just one question, why you don't turn the linux swap on in Cyanogen's ROM?
I found you turn on the compcache and backingswap in user.conf.
Is it better than compcache with linux-swap?
Click to expand...
Click to collapse
Compcache with backing swap uses the linux swap partition but it lets compcache manage both the compressed and non compressed storage. When a file can't or shouldn't be compressed it doesn't have to pass it back to the OS to deal with. It just moves it directly to swap. That is why it shows 100% good compression with backing swap turned on. All of my testing has shown that compcache + linux swap is much slower and more cpu intensive thand compcache + backing swap.
my experiences are non-scientific and completely anecdotal, but I like the way my phone behaves w/ a 92 meg linux swap partition enabled w/o compcache. I'm giving up a bit of responsiveness across the board (once it starts swapping) for more virtual memory. Since I have a class 6 card, the lag is bearable (i can't imagine it would be on a slower one).
I like to have my browser still be in memory after loading terminal, gmail, or a couple of other apps. but that's just me & how i use my phone. it's not a perfect config by any means, but it works best for me
ei8htohms said:
I applied the settings from your user.conf in the Cyan thread you linked to except the min scaling frequency because it seems to be set to a non-existent step (192000). Is that a typo or...? Is that user.conf the latest one you tested with CM 4.0.4?
Thanks for doing all this testing and sharing your settings!
Click to expand...
Click to collapse
It's not a typo. Some of the overclocking apps use it as an option. I've used it for a long time and so have other peole. If you want to change it, that is fine. I used 245760 for a while because of some apps I was running. The CPU frequency is one area that you can play with to meet your needs without changing much. I wouldn't suggest going below 192. You can try it but it makes the phone slow to wake up for some people.
alapapa said:
my experiences are non-scientific and completely anecdotal, but I like the way my phone behaves w/ a 92 meg linux swap partition enabled w/o compcache. I'm giving up a bit of responsiveness across the board (once it starts swapping) for more virtual memory. Since I have a class 6 card, the lag is bearable (i can't imagine it would be on a slower one).
I like to have my browser still be in memory after loading terminal, gmail, or a couple of other apps. but that's just me & how i use my phone. it's not a perfect config by any means, but it works best for me
Click to expand...
Click to collapse
That is a pretty good configuration. You will probably see better performance at a slightly higher swapiness with 92MB of swap. I think around 40 is a good setting.
You are right with a Class 6 card the performance is not that bad. You won't see a lot of lag until the file grows to the point that the OS needs to clean it up to make room for more memory. Then it will slow down. If you reboot every day it's not as much of an issue.
I've tried to come up with a configuration that works well for everyone. I helped a guy with a Class 2, 1GB card last night. He thought that my config was slowing him down on CM 4.0.4. We reparititoned and gave him a smaller ext (256 MB) to free up more memory on his FAT32 partition. I have a lot on my phone and my dalvik-cache is on my ext partition and I am using about 215MB so he should be fine with that setting. He got all of his apps installed and setup everything. Then he tested his it out with the stock settings. After he had an idea of how it was running he switched to mine and saw a noticable improvement. Using Benchmark Pi he had the same score I had with a Class 6 8GB card running on CM 4.0.4 the other day. Now my card will beat him out in other tests. Anything that requires swapping to the linux swap partition or a lot of I/O on the SD card will be better on my phone. But because he was using Compcache his performance was still pretty good.
Also, if you enable backing swap your browser should still be in memory after loading other apps. One of the biggest things people notice is that after they have been using the browser or something else that takes a lot of memory and they hit the home button they don't have to wait for it to reload. It's just there waiting for them.
Yes, he speaks the truth. After updating to a recent Cyanogen ROM, my phone just got super clunky and annoying to use, so I set out to do a completely fresh install: resizing, reformatting, wiping, fresh ROM flash, and fresh app dls. I thought since I was stuck using the stock 1GB SD card (for now at least) that is inherently Class 2, it was causing me a major bottleneck since CC and BackingSwap both employ fair usage of your SD card. Well after updating to Cyanogen's 4.1.2.1 and installing all my apps, Benchmark Pi clocked in at about 15.5ms - 16.5ms using Cyano's stock CC settings built into his ROM. Next I pushed Taylor00's user.conf with the 0.1.4.1 userinit.sh. After rebooting, my phone clocked in at 12.6ms - 13.2ms on Benchmark Pi, a definite improvement.
-Maleko48
miketaylor00 said:
That is a pretty good configuration. You will probably see better performance at a slightly higher swapiness with 92MB of swap. I think around 40 is a good setting.
You are right with a Class 6 card the performance is not that bad. You won't see a lot of lag until the file grows to the point that the OS needs to clean it up to make room for more memory. Then it will slow down. If you reboot every day it's not as much of an issue.
I've tried to come up with a configuration that works well for everyone. I helped a guy with a Class 2, 1GB card last night. He thought that my config was slowing him down on CM 4.0.4. We reparititoned and gave him a smaller ext (256 MB) to free up more memory on his FAT32 partition. I have a lot on my phone and my dalvik-cache is on my ext partition and I am using about 215MB so he should be fine with that setting. He got all of his apps installed and setup everything. Then he tested his it out with the stock settings. After he had an idea of how it was running he switched to mine and saw a noticable improvement. Using Benchmark Pi he had the same score I had with a Class 6 8GB card running on CM 4.0.4 the other day. Now my card will beat him out in other tests. Anything that requires swapping to the linux swap partition or a lot of I/O on the SD card will be better on my phone. But because he was using Compcache his performance was still pretty good.
Also, if you enable backing swap your browser should still be in memory after loading other apps. One of the biggest things people notice is that after they have been using the browser or something else that takes a lot of memory and they hit the home button they don't have to wait for it to reload. It's just there waiting for them.
Click to expand...
Click to collapse
if i notice it being laggy, i just swapoff & swapon and it's like i'm fresh off a reboot.
what would be epic is if someone ported anacron / atd to android -- i could set it to do this at 4am.
alapapa said:
if i notice it being laggy, i just swapoff & swapon and it's like i'm fresh off a reboot.
what would be epic is if someone ported anacron / atd to android -- i could set it to do this at 4am.
Click to expand...
Click to collapse
I believe that crontab is a part of busybox. You can use that.
I'm still not following
miketaylor00 said:
It's not a typo. Some of the overclocking apps use it as an option. I've used it for a long time and so have other peole. If you want to change it, that is fine. I used 245760 for a while because of some apps I was running. The CPU frequency is one area that you can play with to meet your needs without changing much. I wouldn't suggest going below 192. You can try it but it makes the phone slow to wake up for some people.
Click to expand...
Click to collapse
What I'm confused about is the significance of choosing 192000 as a scaling frequency at all. My understanding is that the CPU can only run at certain frequencies and 192000 is not one of them. If you set 192000 as your minimum scaling frequency, doesn't that have exactly the same effect as setting it for 245760? Since there are no frequencies available between 122880 and 245760, any setting (for minimum scaling frequency) between those would default to the higher frequency, in this case 245760. Am I missing something here?
The reason I thought it might be a typo is because there is a 19200 frrequency available, but from all reports anything near that low will just lock up the phone.
ei8htohms said:
I applied the settings from your user.conf in the Cyan thread you linked to except the min scaling frequency because it seems to be set to a non-existent step (192000). Is that a typo or...? Is that user.conf the latest one you tested with CM 4.0.4?
Thanks for doing all this testing and sharing your settings!
Click to expand...
Click to collapse
Here is a copy/paste of that section of the latest user.conf set with MT00's settings:
Code:
#cpu clock
proc_cpu{
proc_cpu_en=1 # enable(1) or disable(0) user cpu configurations
# freqency options
# 19200
# 122880
# 128000
# 245760
# 384000
# 528000
scaling_min_freq=192000 # default 245760
scaling_max_freq=528000 # default 528000
sampling_rate=2000000 # default 2000000 depending on kernel version
powersave_bias=0 # default 0, (200 since CM3.9.6+ )
up_threshold=45 # default 40, percent cpu usage before going up a speed step
While 192000 is not an option listed, here is the output of my userinit.sh:
Code:
C:\Documents and Settings\user>adb remount
remount succeeded
C:\Documents and Settings\user>adb shell
sh-3.2# sh /system/sd/userinit.sh -s
sh /system/sd/userinit.sh -s
=== user.conf ===
*** general ***
apps2sd=0
media2sd=0
*** CompCache ***
compcache_en=1
cc_memlimit=18
cc_disksize=32
cc_backingswap_en=1
cc_backingswap=/dev/block/mmcblk0p3
swappiness=28
*** Swap File ***
swap_file_en=0
linux_swap_file_size=32
linux_swap_file=/system/sd/swap.file
*** Linux Swap ***
linux_swap_en=0
linux_swap_partition=/dev/block/mmcblk0p3
*** VM ***
sys_vm_en=1
page_cluster=3
laptop_mode=0
dirty_expire_centisecs=3000
dirty_writeback_centisecs=500
dirty_background_ratio=5
dirty_ratio=10
*** CPU ***
proc_cpu_en=1
scaling_min_freq=192000
scaling_max_freq=528000
sampling_rate=2000000
powersave_bias=0
up_threshold=45
=== CompCache status ===
CompCache version 0.6+
Compcache enabled
CompCache: MemLimit 18432(system) 18432(user)
CompCache: BackingSwap /dev/block/mmcblk0p3(system) /dev/block/mmcblk0p3(user)
CompCache: cc_swappiness - 28(system) 28(user)
=== CompCache status output ===
BackingSwap: /dev/block/mmcblk0p3
DiskSize: 32130 kB
MemLimit: 18432 kB
NumReads: 8048
NumWrites: 10222
FailedReads: 0
FailedWrites: 0
InvalidIO: 0
NotifyFree: 3870
PagesDiscard: 0
ZeroPages: 177
GoodCompress: 100 %
NoCompress: 0 %
PagesStored: 4340
PagesUsed: 1060
OrigDataSize: 17360 kB
ComprDataSize: 4078 kB
MemUsedTotal: 4240 kB
BDevNumReads: 1233
BDevNumWrites: 1731
=== VM status ===
Set VM: page-cluster - 3(system) 3(user)
Set VM: laptop_mode - 0(system) 0(user)
Set VM: dirty_expire_centisecs - 3000(system) 3000(user)
Set VM: dirty_writeback_centisecs - 500(system) 500(user)
Set VM: dirty_background_ratio - 5(system) 5(user)
Set VM: dirty_ratio - 10(system) 10(user)
=== CPU status ===
Set CPU: scaling_min_freq - 192000(system) 192000(user)
Set CPU: scaling_max_freq - 528000(system) 528000(user)
Set CPU: sampling_rate - 2000000(system) 2000000(user)
Set CPU: powersave_bias - 0(system) 0(user)
Set CPU: up_threshold - 45(system) 45(user)
That setting seems to take.
You can set the frequncy to 1234 if you want to. I wouldn't recommend it but you can. I don't know why it isn't listed as an option. It should be. It is a valid setting.
miketaylor00 said:
You can set the frequncy to 1234 if you want to. I wouldn't recommend it but you can. I don't know why it isn't listed as an option. It should be. It is a valid setting.
Click to expand...
Click to collapse
You actually cant set the frequencies to any arbitrary number. There are a set of defined frequencies in the arch/arm/mach-msm/clock.c file. So you can't try to clock your CPU at let's say 523.12 or 99.8 mHz atm. Unless that frequency table is expanded to include every single frequency. Where's coolbho3000 he might be able to explain it better. lol
After the phone has rebooted you can use the following command to see if everything is running properly:
Code:
su
sh /system/sd/userinit.sh -s
Everything seems to work right for me on the install but after I reboot and enter this code. I get "sh: Can't open /system/sd/userinit.sh".
Does this mean it did not work?
bigragu said:
After the phone has rebooted you can use the following command to see if everything is running properly:
Code:
su
sh /system/sd/userinit.sh -s
Everything seems to work right for me on the install but after I reboot and enter this code. I get "sh: Can't open /system/sd/userinit.sh".
Does this mean it did not work?
Click to expand...
Click to collapse
Which ROM are you on? Different builds require the userinit in different places.
Have you done this?
Code:
su
cd /system/sd
chmod 755 userinit.sh
chmod 755 user.conf
reboot
overground said:
Which ROM are you on? Different builds require the userinit in different places.
Have you done this?
Code:
su
cd /system/sd
chmod 755 userinit.sh
chmod 755 user.conf
reboot
Click to expand...
Click to collapse
I'm on CyanogenMod v4.0.4. I clicked the link from this post which lead me to the code he had posted in another thread. I followed the instructions there. I don't believe the code was exactly what you have here. Will try. Thanks.
andonnguyen said:
You actually cant set the frequencies to any arbitrary number. There are a set of defined frequencies in the arch/arm/mach-msm/clock.c file. So you can't try to clock your CPU at let's say 523.12 or 99.8 mHz atm. Unless that frequency table is expanded to include every single frequency. Where's coolbho3000 he might be able to explain it better. lol
Click to expand...
Click to collapse
That is not true at all I just set mine to 192123. Are you telling me that is in the clock.c file?
Code:
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
192123
bigragu said:
After the phone has rebooted you can use the following command to see if everything is running properly:
Code:
su
sh /system/sd/userinit.sh -s
Everything seems to work right for me on the install but after I reboot and enter this code. I get "sh: Can't open /system/sd/userinit.sh".
Does this mean it did not work?
Click to expand...
Click to collapse
Most likely you don't have a userninit.sh. If you are on CM 4.x it doesn't come by default. Follow the steps in this thread:
http://forum.xda-developers.com/showthread.php?t=542899
There are hundreds of apps that allow you to control all aspects of your interface, kernel, rom etc. What combination's is everyone using?
I am sure I have too many apps to do random jobs and want to minimise this bulk.
Rom Toolbox Pro can probably replace the majority of your root apps, well worth paying for
Aside from Root Explorer, all I have are monitoring apps. Battery Monitor Widget, CPU Spy, aLogcat, RIL Infos, Terminal Emulator and OpenGLES Extension Viewer.
My kernel control is done by init.d scripts and editing init.qcom.post_boot.sh. Since we got ICS, I just don't trust CPU apps. System Tuner is flaky, FauxClock hasn't been updated in ages, never really used Antutu and I didn't pay for SetCPU since it stopped being free. Plus I don't know what these apps are doing behind the scenes, whereas I know exactly what the scripts are doing.
For what it's worth, I'm running Faux 007u, Intellidemand governor @ 1.35 GHz max, with 1.08 GHz for my two-phase freq, no GPU OC. Works great.
Sorry for poor English
It is well-known that HTC encrypted their thermal config file, thermald.conf, to prevent users from modifying. Since 4.2.2, it throttles both gpu and cpu when battery reached 40C. It is not a good idea, since it cannot satisfy both those who want coolness and those who want extreme performance. As a result, users and devs have to use a custom thermal solution.
It is a good solution to have a 3rd party thermal management, but I believe there are people who want to use stock kernels or to use powersaver function. So I am here to start a thread about how to write a thermal config file for our own needs.
Requirements
1. a computer with adb and related drivers properly installed
2. your phones rooted
3. wp_mod.ko installed properly or using custom kernel
Step 1:
Find more information about temperature sensors
1. enable usb debug
2. connect your phone to the computer
3.1. input the following
Code:
adb pull /proc/last_kmsg
you can find adb.exe in sdk:http://developer.android.com/sdk/index.html
4. open the file, and search "sensor"
3.2. input the following
Code:
adb shell
cat /sys/devices/virtual/thermald/thermald_zone*/temp
* is the number of sensor you wanna checkout. it ranges from 0 to 11
the number displayed is the current temperature on this sensor
The following is the info I analysed, some of which may be incorrect
Code:
thermal_zone0: enabled, related to cpu
thermal_zone1: enabled, related to cpu
thermal_zone2: disabled, probably related to motherboard
thermal_zone3: disabled, related to cpu
thermal_zone4: disabled, probably related to motherboard
thermal_zone5: disabled, probably related to motherboard
thermal_zone6: disabled, probably related to motherboard
thermal_zone7: enabled, related to cpu
thermal_zone8: enabled, related to cpu
thermal_zone9: enabled, related to cpu
thermal_zone10: disabled, related to cpu
thermal_zone11:disabled, unknown
Step 2
create a txt file on your computer, rename it "thermald.conf"
Step 3
open the "thermald.conf" file you just created
Step 4
Write the first line:
Code:
sampling 5000
the number indicates the time interval of the system to scan the temperature, but I doubt whether it has any function now. Also I suggest to leave it unchanged.
Step 5
Define the sensor you want to use and configure its thresholds
Code:
[tsens_tz_sensor2]
sampling 1500
thresholds 54 57 64 70 75
thresholds_clr 51 54 57 64 70
actions gpu+cpu gpu+cpu cpu cpu cpu
action_info 400000000+1728000 320000000+1134000 1026000 918000 702000
Code:
[tsens_tz_sensor2]
the number after the word "sensor" means the sensor you want to use and config
Code:
sampling 1500
time interval of scanning, strongly recommended to leave it unchanged
Code:
thresholds 54 57 64 70 75
As it says, these are the thresholds that trigure actions
For example, the number 57 means that if the temperature of this sensor is over 57C, gpu will be throttled to 320mhz and cpu will be throttled to 1134mhz
Code:
thresholds_clr 51 54 57 64 70
These are the thresholds that make system to do the former action
For example, the number 54 means that if the temperature of this sensor is under 54C, gpu will be set to 400mhz and cpu will be set to 1728mhz
NOTE: it is strongly recommended to match the (n+1)th thresholds_clr to the nth thresholds, except threshold that trigures shutdown action
Code:
actions
These are the actions you want to take, like throttling cpu, gpu and even brightness.
If you want to take multiple actions, just use "+" to connect
For example, if you want to throttle both cpu and gpu
just type
actions cpu+gpu
If you does not want to take any action, just type: none
*actions:
Code:
cpu
gpu
lcd
battery
none
Code:
action_info
These define the values of actions defined earlier.
For example,
Code:
actions cpu+gpu
action_info 1134000+320000000
means to throttle cpu to 1134mhz and 320mhz
NOTE: The sequence of action info should EXACTLY MATCH the sequence of actions
For example, if you type
"cpu+gpu" in actions line
you can only type first, the cpu frequency you want to set, second, the gpu frequency you want to set
you CANNOT type it like this:
Code:
actions cpu+gpu
action_info 320000000+1134000
It can confuse the system when it decides to throttle
cpu frequency table:
Code:
384000 486000 594000 702000 810000 918000 1026000 1134000 1242000 1350000 1458000 1566000 1674000 1728000
gpu frequency table:
Code:
400000000 320000000 200000000
lcd
any value below 255. 255 means not to lower the brightness
battery
Code:
+1
+2
I don't know what these values mean, but it is for sure to be able to lower temperature
none
Code:
0
Step 5
save it and put it in your system
put the thermald.conf file in the folder where your adb.exe is placed
adb:
Code:
adb shell mount -o rw,remount /dev/block/mmcblk0p35 /system
adb push thermald.conf /system/etc/
adb shell chmod 644 /system/etc/thermald.conf
or use recovery to flash
I will post scripts in attachments
Sample
Code:
sampling 5000
[tsens_tz_sensor0]
sampling 1500
thresholds 34
thresholds_clr 32
actions none
action_info 0
[tsens_tz_sensor7]
sampling 1500
thresholds 34 36 45 48 57 66 75 95
thresholds_clr 32 34 36 45 48 57 66 90
actions cpu+gpu cpu+gpu cpu+gpu cpu+gpu cpu+gpu cpu+gpu cpu+gpu cpu+gpu+shutdown
action_info 1728000+320000000 1134000+320000000 1026000+200000000 918000+200000000 702000+200000000 486000+200000000 384000+200000000 384000+200000000+5000
[tsens_tz_sensor8]
sampling 1500
thresholds 34 95
thresholds_clr 32 90
actions none shutdown
action_info 0 5000
[tsens_tz_sensor9]
sampling 1500
thresholds 34 95
thresholds_clr 32 90
actions none shutdown
action_info 0 5000
[tsens_tz_sensor10]
sampling 1500
thresholds 34 95
thresholds_clr 32 90
actions none shutdown
action_info 0 5000
Update
10/12/2013 replaced thermald_boot to prevent pnpmgr from changing config files [email protected]
Downloads
I've modified some thermald files for those who do not want to modify it by their own.
Stock thermald config file from htc:
cpu throttles when reaching 57C. both cpu and gpu throttles when battery temp reaches 40C
View attachment stock_thermal.zip
Stock no gpu:
cpu throttles when reaching 57C, no gpu throttling
View attachment stock_no_gpu.zip
Cool Version:
cpu throttles at 46C, no gpu throttling
View attachment cool.zip
Extra Cool
cpu throttles at 40C, no gpu throttling
View attachment extra_cool.zip
Ultra Cool
cpu throttles at 36C, gpu is limited at 320mhz
View attachment ultra_cool.zip
Performance
cpu will not throttle until 76C, no gpu throttling
View attachment performance.zip
NOTE: without changes of voltages/drivers/kernels, less heat means less performance. cpu performance is noticeably influenced if cpu freq is lower than 1134mhz. if gpu is at 200mhz you will feel laggy in everything.
Hopefully you guys will enjoy this
This is excellent work! where have you been 6 months ago :laugh:
but now we can finally use stock kernel without the risk of disabling throttling completely
I didnt understand one thing, after we create the text file, shouldnt we encrypt it again?
hamdir said:
This is excellent work! where have you been 6 months ago :laugh:
but now we can finally use stock kernel without the risk of disabling throttling completely
I didnt understand one thing, after we create the text file, shouldnt we encrypt it again?
Click to expand...
Click to collapse
One is so hot that I didn't get this phone before May...I would have been very happy if I have had this phone 6 months ago
4.1.2's default thermald file worked fine, but 4.2.2's one annoyed. I was waiting for some devs to decrypt the config file but no one seems to care about that. Since One is a qualcomm device, custom thermald file should work if the right language is used. It works indeed. I am now using Bulletproof with cool version, very cool indeed, and with the full function of powersaver, since I do not need to disable the thermald daemon anymore
no need to re-encrypt. no one knows how and why htc encrypt those things. It works fine without encryption, just as one can flash a decrypted ruu zip file.
jerrylzy said:
One is so hot that I didn't get this phone before May...I would have been very happy if I have had this phone 6 months ago
4.1.2's default thermald file worked fine, but 4.2.2's one annoyed. I was waiting for some devs to decrypt the config file but no one seems to care about that. Since One is a qualcomm device, custom thermald file should work if the right language is used. It works indeed. I am now using Bulletproof with cool version, very cool indeed, and with the full function of powersaver, since I do not need to disable the thermald daemon anymore
no need to re-encrypt. no one knows how and why htc encrypt those things. It works fine without encryption, just as one can flash a decrypted ruu zip file.
Click to expand...
Click to collapse
Ah although i attempted to use the SGS4 themrald on 4.1.2 and it didnt really work, so i guess like you said the proper wording is important
excellent, did you try these on the 3.17 kernel ?
so we only wp_mod.ko in case we push from ADB right? flashing from recovery shouldnt need this
hamdir said:
Ah although i attempted to use the SGS4 themrald on 4.1.2 and it didnt really work, so i guess like you said the proper wording is important
excellent, did you try these on the 3.17 kernel ?
Click to expand...
Click to collapse
First, sensors may be different on the 9505. Second, 9505's thermald is different. It uses soft-link to thermald-8064ab.conf, and its values are obsolete, from which I think samsung does poorly on system optimization. since it uses soft links, one's thermald binary may not support that kind of configuration.
It works very well on all stock kernels. I used 3.17 kernel for a long time, for it does not give me purple/pink issue in low light(I have no problem in 4,2,2, it should be the drivers' fault)
Yes you don't need wp_mod.ko if you use recovery to flash thermald.conf.
jerrylzy said:
First, sensors may be different on the 9505. Second, 9505's thermald is different. It uses soft-link to thermald-8064ab.conf, and its values are obsolete, from which I think samsung does poorly on system optimization. since it uses soft links, one's thermald binary may not support that kind of configuration.
It works very well on all stock kernels. I used 3.17 kernel for a long time, for it does not give me purple/pink issue in low light(I have no problem in 4,2,2, it should be the drivers' fault)
Yes you don't need wp_mod.ko if you use recovery to flash thermald.conf.
Click to expand...
Click to collapse
hold on 3.17 solves the tint issue?
I will post details about your find in my information threads, thanks a lot, this is gold
there is only problem! now i have to rewrite my entire Gaming OP
hamdir said:
hold on 3.17 solves the tint issue?
I will post details about your find in my information threads, thanks a lot, this is gold
there is only problem! now i have to rewrite my entire Gaming OP
Click to expand...
Click to collapse
Sorry for the inconvenience
No, as I said, I have no problem under stock 4.2.2 & 3.09 & 3.17, I only have purple/red issue when I am using 3.17 custom kernel with camera hack. Some users reported that the issue is ameliorated but not fully solved in stock 3.17 system
@jerrylzy you think there is an easy hack for stock kernel to OC the GPU into 450mhz?
hamdir said:
@jerrylzy you think there is an easy hack for stock kernel to OC the GPU into 450mhz?
Click to expand...
Click to collapse
Really? Theoritically, we cannot oc anything without compiling a modified kernel source...
jerrylzy said:
Really? Theoritically, we cannot oc anything without compiling a modified kernel source...
Click to expand...
Click to collapse
well I was just asking if there is a way
anyway listen this might be wrong but I really feel you should fix your patch zip files, by duplicating the txt thermald.conf as thermald_boot.conf as well, I feel I'm getting better performance this way out of stock kernel
I used to have weird stalls in games, all fixed after I also replaced thermald_boot, still I'm not sure but there is no harm in doing this
@jerrylzy i don't think the thermald_boot is related to the stalls i've been feeling
I think the stock no gpu 57c arrives sooner than I accepted so when the threshold is hit and it throttles down a full 500mhz on the CPU we get noticeable drop in CPU hungry games like Asphalt 8 (although no where near as noticeable as the GPU throttle)
I think we should cook a thermald which gradually scales down the CPU, something between the stock no gpu and performance, but it scales down in steps instead of a sharp 500mhz drop
one more thing i noticed, while the threshold is 57 for stock no GPU, i feel its actually threshold_clr 54 which is actually being used but I can't confirm since the CPU temps drop down so fast between switching out of game to a CPU monitor app
for now the solution is your performance zip file, but i noticed you are probing a lot more Sensors in the performance patch unlike the other files, can you elaborate?
hamdir said:
@jerrylzy i don't think the thermald_boot is related to the stalls i've been feeling
I think the stock no gpu 57c arrives sooner than I accepted so when the threshold is hit and it throttles down a full 500mhz on the CPU we get noticeable drop in CPU hungry games like Asphalt 8 (although no where near as noticeable as the GPU throttle)
I think we should cook a thermald which gradually scales down the CPU, something between the stock no gpu and performance, but it scales down in steps instead of a sharp 500mhz drop
one more thing i noticed, while the threshold is 57 for stock no GPU, i feel its actually threshold_clr 54 which is actually being used but I can't confirm since the CPU temps drop down so fast between switching out of game to a CPU monitor app
for now the solution is your performance zip file, but i noticed you are probing a lot more Sensors in the performance patch unlike the other files, can you elaborate?
Click to expand...
Click to collapse
In the new "stock no gpu" patch I added a step of 1566mhz between 1728mhz and 1134mhz. Also the reason why I added a lot more sensors for performance path is that I added a lot more sensors to prevent the cpu from too hot, which is harmful to both the cpu and the battery. Actually, it should not be as hot as that. I personally used stability test to check the thermald patch. with quad core 1.7g running more than 5 minutes, the temperature of my cpu never went higher than 65C. I am on PVS 4 bin.
jerrylzy said:
In the new "stock no gpu" patch I added a step of 1566mhz between 1728mhz and 1134mhz. Also the reason why I added a lot more sensors for performance path is that I added a lot more sensors to prevent the cpu from too hot, which is harmful to both the cpu and the battery. Actually, it should not be as hot as that. I personally used stability test to check the thermald patch. with quad core 1.7g running more than 5 minutes, the temperature of my cpu never went higher than 65C. I am on PVS 4 bin.
Click to expand...
Click to collapse
ok great, I was sure this is why you added those sensors good work, so performance patch is pretty safe I assume? i also have the same bin
I checked the new stock_no_gpu good work mate :good:
but i think i will go with performance
Remember to have the screen turned ON while you apply the script!!!
Hi guys!
Today i want to share with you a script i specifically tailored for our 4C, to decrease high battery drain just by tuning parameters of the interactive governor.
As many of you know, on the Nexus 5X forum there is a huge post about different profiles created to achieve the same purpose, and almost all of them works with our device (personally tested)
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
I raccomed to read it!
One of them in particular was extremely good battery wise but i felt some lagginess here and there (talkin about HawkTail 1.2)
So i decided to make a script myself and share it with you, the idea behind it is to force the CPU to scale better with loads and making the Big cores in use more frequently by tuning some of the kernel parameters.
Plus we will have the GPU idling @ 180MhZ instead of 300MhZ (like in the Nexus 5x) and a switch to noop scheduler.
Performance wise and taking in example the latest stable ROM from Xiaomi.eu (8.0.5) we will have a decrease of about 5k point in Antutu (I'll attach two screenshots, the 71K was the result without tweaking, plus just by switching back to CFQ scheduler you'll get 2K points back but NOOP is more battery friendly)
So here you go, this is my script TAO.
Using it is pretty simple and you have a couple of options: [ROOT IS NEEDED]
Since it's a script, if your rom have INIT.D folder support, you can just move the file under /etc/Init.d and reboot the device. The script will make a log file under /sdcard/TAO.log that you can check if anything went wrong.
The second option, if your rom doesn't have Init.d folder support, just use Kernel Auditor and a text editor.
Open the downloaded file in a text editor, select all and copy the text.
Then open Kernel Auditor, and in the menu look for init.d, enable the "Emulate Init.d" and then click the "+" symbol. It will ask to add a name (let's set it to TAO for coherence), then OK. It will open a new window where we have to paste all the text previously copied, save it by pressing the icon on the top right. Now we can just reboot the device or click the newly created item and select execute.
Third option is to run it manually from terminal.
Plus, i'll add my Thermal-engine-8992.conf that you guys can use to change the thermal throttling values. Download it and replace it in /system/etc/ , set it with permission 644 and reboot.
This modded thermal will move up the limits, long story short, your device will continue to perform even if it gets hot.
Enjoy! & report back for feedback
Remember to have the screen turned ON while you apply the script!!!
P.S.
Files are zipped, extract them!!!
UPDATE
Minor update - use_sched_load set to 0 for both cores
Correction made for the log file
UPDATE 0.7
Since @solis_f is having some problem with the big cores, and this could be a common problem to many others too i've decided to add something in the script that will force the big core online so you should not have any more problem executing the script. Let me know
UPDATE 0.8 - Experimental
Updated Target_loads for both Little and Big cores.
Little core min freq. to 384 MhZ.
Input boost @ 787 MhZ instead of 600 MhZ.
hispeed_load disabled for both cores.
Updated values for UpMigrate.
Enabled core_ctl for big cluster:
With this update, you'll have your big cores Offline most of the time, but they will comes online when needed.
Yours perfd (/data/system/perfd/default_values) with this version have to look like this:
Code:
ihf;787200
iahd;38000
ighl;200
itl;39 460800:5 600000:62 672000:10 787200:81 864000:90 960000:99
gpu_default_pwrlvl;5
sst;33
smil;20
sminr;3
sitl;65
sum;66
sdm;54
cbmf;1525
cbhdr;90
cbhip;16
ihf0;787200
iahd0;38000
itl0;39 460800:5 600000:62 672000:10 787200:81 864000:90 960000:99
imst0;0
ighl0;200
imf0;0
itr0;30000
its0;-1
iiib0;1
intb0;0
ibd0;0
ihf4;1248000
iahd4;38000
itl4;53 768000:64 864000:72 960000:79 1248000:99
imst4;0
ighl4;200
imf4;20000
itr4;30000
its4;-1
iiib4;1
intb4;0
ibd4;0
P.P.S.
Over two hundred downloads, but not even half of you gives me feedback...
UPDATE 0.9
Sorry for the delay, many things to do IRL.
This version is what i'm using now, should be smoother then v0.8, hope you like it.
nice one, will try this
Did you try to run Antutu several times in a row, so we can see is the result of 66k almost constant. Since as we all know, results can degrade towards 44k because of overheating..
predragiPredrag said:
Did you try to run Antutu several times in a row, so we can see is the result of 66k almost constant. Since as we all know, results can degrade towards 44k because of overheating..
Click to expand...
Click to collapse
I did not, but degradation of score is dictated by the thermal config. That's why i modded that too, and pushed the standard limits...
Let me show you with an example:
Code:
[SS-SKIN-XO-THERM-PERF]
algo_type ss
sampling 250
sensor xo_therm_buf
device cluster1
set_point 43000
set_point_clr 37000
time_constant 0
device_max_limit 800000
This is taken from the original file, and it covers the big cluster... when it reach 43° celsius, the thermal throttling will limit the max frequency of the cluster to 800MhZ
Code:
[SS-SKIN-XO-THERM-PERF]
algo_type monitor
sampling 5000
sensor quiet_therm
thresholds 46000 48000 50000
thresholds_clr 44000 46000 48000
actions cluster1 cluster1 cluster1
action_info 1632000 1248000 960000
This is the same part but modified by me, i've added more step... as you can see thermal throttling for big cluster will work once the big cluster reach 46° and it will cut the max frequency to 1632MhZ, then at 48° 1248MhZ and at 50° at 960MhZ
The hot-plug, that put the cores offline, on the original file for the big cluster is marked at 42° for core 4 and 45° for core 5.
On my config file both cores will be hot-plugged once they reach 52°.
TL;DR if you use my thermal-engine conf file, you will get more consistent score on several runs.
Nice to hear that will try this when I have more time to play with my phone and report back.
Great work and thanks for sharing this
GoldGanja said:
Hi guys!
Today i want to share with you a script i specifically tailored for our 4C, to decrease high battery drain just by tuning parameters of the interactive governor.
As many of you know, on the Nexus 5X forum there is a huge post about different profiles created to achieve the same purpose, and almost all of them works with our device (personally tested)
[GUIDE] Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
I raccomed to read it!
(...)
Enjoy! & report back for feedback
P.S.
Files are zipped, extract them!!!
Click to expand...
Click to collapse
Hi,
I can not apply root because of he problem between pokemon go and root, (I am playing pokemon go with my 8 years old son a father-son activity and he loves it)
I am using a dev miui rom and i did tune my thermal-engine and remove the input boost using the TWRP file manager to apply the files.
This rom does not have init.d folder could i call your script from init.qcom.post_boot.sh? if so, do you know how to?
best regards,
John
You should look for some sort of systemless root, and magisk to masquerade root and be able to play Po Go on a rooted phone. I don't think you can chain load the script within post_boot.sh and by the way to modify it you should have super user permissions. Anyway keep up the father and son activity, is way more important!
Sent from my Mi-4c using Tapatalk
GoldGanja said:
You should look for some sort of systemless root, and magisk to masquerade root and be able to play Po Go on a rooted phone. I don't think you can chain load the script within post_boot.sh and by the way to modify it you should have super user permissions. Anyway keep up the father and son activity, is way more important!
Sent from my Mi-4c using Tapatalk
Click to expand...
Click to collapse
thanx, my son does not talk about anything else...
About the chain load the TS rom does that with ts_power.sh file.
Code:
# ts power scripts permissions
chown -h system /system/etc/ts_power.sh
chown -h system /data/ts_power.sh
Code:
# Call ts_power.sh, if found
if [ -f /data/ts_power.sh ]; then
logi "Call /data/ts_power.sh set_profile $profile"
sh /data/ts_power.sh set_profile $profile
elif [ -f /system/etc/ts_power.sh ]; then
logi "Call /system/etc/ts_power.sh set_profile $profile"
sh /system/etc/ts_power.sh set_profile $profile
fi
I will try to see if it works using your script.
About systemless root, i don't want to be in the middle of the cat and mouse thing. Today google update and tomorrow there is another hide root.
I did replace the thermal engine using the twrp file manager. It works.
Nice share bro. Thermal engine + init.d script is good battery backup for mi4c.
Hello,
could you make patched files available and the place where they should be placed ?
I don't want to root my phone but I want to give your optimisation a try. It is possible with TWRP to replace the files in the file manager. More work but it can be done without root. Therefore however I will need the allready patched files....
A little more "complicated" even... might it not be possible using TWRP to flash these files ? I have no idea how that would work exactly but I can imagine it would be possible to create a flashable zip that replaces these files... It currently goes beyound my abbilities though unfortunatly but maybe someone can help with that.
Thanks for your share @GoldGanja , looks interesting.
But i think the thermal-engine.conf would cause more overheating as it is already (for me reduce overheating is the most important), but i like the way to reduce the clockspeed step by step. Maybe i will try it with lower values.
The modified governer looks great. I think this will help with heating too. But on this there aren´t laggings ?
Thank you! i hope this fix my battery drain and the heat, i'll report if i see changes
@nachtwacht
Even if i make a zip file to use with twrp, this will only be useful for the thermal-engine conf file...because the other one is a script i've created and so there is no other file to replace. As stated ROOT is needed, i'm sorry.
@Danny94
thermal-engine.conf per se will not increase or decrease over-heating, of course one could make a conf file to be more restrictive on the temps and brutally decrease the performance but i don't see the need of this because i don't have any over-heat problem within my device with the script i've made. A major cause of over-heating is the input-boost frequency that by default is set to 1248MhZ, while if you run my script it will be 600 MhZ. Farther i have no lags at all...give it a try and report back. More feedback I have about it, the better I can adjust some parameters.
@HYBRIDEMON
Thanks!
@GoldGanja
Yeah i will try tomorrow if i get some free time.
Wich Rom do you use ? I have at almost all roms overheating problems. After 10 min+ of 3d gaming i have ~55°c + (On my old phone Thl 5k i could play the same game hours, don´t get over 45 °c and no lagging or something - and yeah its not the best phone).
With your thermal config the device throttles later. So it will heat higher, until it shut down big core etc. As hotter it becomes as more difficult its to cooldown. Sure if you won´t reach 52°c would be perfect one. But maybe i will replace the values with lower, else it looks very good.
I can't find tao.log at sdcard.
Script is applied or not?
I copied to etc/init.d and set 755 permissions.
Edit:
Finally I applied manually and I have 2 errors with big cluster settings.
Enviado desde mi Mi-4c mediante Tapatalk
@dany94
I'm using last stable from xiaomi.eu (8.0.5). Anyway, if you get to know how the gears of the thermal engine works, do what is best for your usage. Feel free to change the numbers on my file if needed
siba01 said:
I can't find tao.log at sdcard.
Script is applied or not?
I copied to etc/init.d and set 755 permissions.
Edit:
Finally I applied manually and I have 2 errors with big cluster settings.
Enviado desde mi Mi-4c mediante Tapatalk
Click to expand...
Click to collapse
I think you are using a CM TS rom, right? well, for that you have to do two things.
First, set the battery mode to QUICK, because on BALANCE there is the hotplug of the BIG cores. Then re-run my script.
If that's not the case, maybe the device was just a bit hot, and the hotplug kicked in by the thermal-engine...let it cool down first or use my thermal-engine conf.
Second, rename my file to userinit.sh and place it under /data/local if you want the settings to be applied at each boot.
GoldGanja said:
Even if i make a zip file to use with twrp, this will only be useful for the thermal-engine conf file...because the other one is a script i've created and so there is no other file to replace. As stated ROOT is needed, i'm sorry.
Click to expand...
Click to collapse
Maybe I was not clear or, more likely I do not completely understand which is a fact for sure
Let me clear up the first part, then hopefully in the end I will also better understand
Your script chances several files if I understand correctly ? scaling_min_freq for example is the first one you change in the script ?
Could we not update all the files that you change using TWRP ?
My guess is, (that's just me trying to understand better.....) that I think that using TWRP it is possible to change these files without root, but in reality it is not because the phone is not rooted ? Maybe because only the complete system can be changed and not single files ? (without root)
I do know that in the end, for me it is possible to root my phone, apply the settings, and then unroot it again.... which hopefully have my phone working like it never was rooted... it's just a risk I would like to avoid if in any way possible, therefore I am investigating and trying to get it all clear for me, sorry for that
GoldGanja said:
@dany94
I'm using last stable from xiaomi.eu (8.0.5). Anyway, if you get to know how the gears of the thermal engine works, do what is best for your usage. Feel free to change the numbers on my file if needed
I think you are using a CM TS rom, right? well, for that you have to do two things.
First, set the battery mode to QUICK, because on BALANCE there is the hotplug of the BIG cores. Then re-run my script.
If that's not the case, maybe the device was just a bit hot, and the hotplug kicked in by the thermal-engine...let it cool down first or use my thermal-engine conf.
Second, rename my file to userinit.sh and place it under /data/local if you want the settings to be applied at each boot.
Click to expand...
Click to collapse
I'm using Resurrecction Remix.
Thanks for your answer.
Enviado desde mi Mi-4c mediante Tapatalk
I was pretty sure you will do such a good job for Mi4c! Well done!
Edit: btw big cluster values are not getting applied
solis_f said:
I was pretty sure you will do such a good job for Mi4c! Well done!
Edit: btw big cluster values are not getting applied
Click to expand...
Click to collapse
What ROM are you using?
Sent from my Mi-4c using Tapatalk
ALCATEL IDEAL 4060A
STOCK KERNEL WITH INIT.D. & INSECURE BOOT SUPPORT
SPECIFICATIONS:
Model: Alcatel Ideal 4060A
Android Version: 5.1.1 Lollipop
Kernel Version: 3.10.49-g3d12fcb
GCC Version: 4.8
Build Date: Tuesday, July 26, 2016
Revisions Date: Saturday, August 5, 2017
Board Platform: Qualcomm Snapdragon 210 (MSM8909)
FEATURES:
CPU Governors: Interactive, OnDemand, Performance, Userspace, Powersave
Frequencies: 200MHz, 400MHz, 533MHz, 800MHz, 998MHz, 1094MHz
Minimum & Maximum Core Control
VDD Restriction & Temperature Throttle Control
GPU Frequencies: 200MHz, 307MHz, 409MHz
GPU Governors: bw_hwmon, bw_vbif, cpufreq, gpubw_mon, msm-adreno-tz,
performance, powersave, simple_ondemand, spdm_bw_hyp, userspace
I/O Schedulers: cfq, deadline,row, noop
Adaptive Low Memory Killer: 5 Presets & Tunables
Z-RAM Support
Virtual Memory Tunables: Dirty Ratio, Dirty Background Ratio, Dirty Expire Centisecs, Dirty Writeback Centisecs, Overcommit Ratio, Swappiness, VFS Cache Pressure, Laptop Mode
SELinux Permissive/Enforcing Toggling
Entropy Read/Write Ahead Support
TCP Congestion Algorithms: cubic, reno
Hostname Editing
ADB Over WiFi Support
Android Logging Support
Init.d Script Support & Emulator
REQUIREMENTS:
In order to use init.d script support, and in order to be able to tune this kernel and use its features, you need to be running a ROM with root privileges. Also, while not absolutely required, it is recommended that you have TWRP custom recovery installed. This kernel can be installed by on-device flashing apps such as Rashr, Flashfire, etc. However, for this thread, I will be instructing on TWRP installation only. In order to utilize init.d support, you also need to install a recent version of BusyBox.
DISCLAIMER: You flash this kernel at your own risk. As always, rooting or flashing the partitions of your device comes with the inherent risk of rendering your device inoperable.
You hereby assume responsibility for your own device, and absolve me of any liability for any damage caused to your phone by flashing this kernel. Follow the simple instructions carefully and you should experience no adverse results.
NOTES: This is a stock kernel which has been modified to provide init.d and insecure boot support. The advantages of insecure boot support include having root access through adb shell -- it enables adbd to run as root. Init.d support gives you enormous flexibility in the ability to run scripts and mods to be run at boot -- everything from battery tweaks to performance mods. Aside from init.d, the Kernel Adiutor-Mod application, included in the download link below, allows you to tune several parameters of the kernel, change CPU/GPU governors, adjust I/O schedulers, set CPU/GPU frequency minimums & maximums, apply an adaptive low memory killer preset, etc. With some modding, you will notice a remarkable increase in responsiveness, stability and overall performance of the Android OS, as well as a tremendous increase in battery life. . Trial and error is key. Do some research on the best kernel mods and set your own preferences. You are the captain of your own ship...
THANKS & MENTIONS:
Thanks to @Grarak for developing the original Kernel Adiutor application. Thanks also to "Yoinx" for modifying the original application and thus creating Kernel Adiutor-Mod.
KERNEL SOURCE CODE: https://github.com/zombah/android_kernel_alcatel_msm8909
INSTRUCTIONS:
1. Assuming you have root, BusyBox & TWRP custom recovery installed on your device, boot into TWRP and flash the zip installer in the below download link;
2. Wipe the dalvik cache and reboot system;
3. Upon reboot, install the Kernel Adiutor-Mod application from the below download link.
Open the app, grant superuser access when prompted, and tap on the menu icon near the upper left of the screen;
4. Done.....use the options in the menu to tweak the kernel's settings, change CPU governors,
set CPU/GPU frequencies, toggle SELinux mode, etc., etc.
DOWNLOAD LINKS:
Kernel Installer: https://drive.google.com/file/d/0B1Sfod4HWfk2NjUzWGVldThtQ0U/view?usp=sharing
Kernel Adiutor-Mod APK: https://drive.google.com/file/d/0B1Sfod4HWfk2OC1ORURoN3hTeUE/view?usp=sharing
Been trying out KA mod for about a week, not using the cus kernal tho. Just happened to run into it after a search since when I tried Garak's official back awile it didn't seem to have any effect. Not sure but it may have been due to not (unrestricting) it in apps, or not enabling init.d emulation in it? In any case, using it to set SElinux permissive and trying to squeeze a little more battery life out. After not really knowing what I'm doing, I ended up staying with interactive and just making a few guesses from what I could find out in searches. I think battery life is a (little) better?
Interactive:
CPU minimum freq 400 MHz
tunables:
go_hispeed_load 95
target_loads 1 533000:85
800000:90
998400:90
1094400:80
If there are other/additional things to try, please let me know!
scohut said:
Been trying out KA mod for about a week, not using the cus kernal tho. Just happened to run into it after a search since when I tried Garak's official back awile it didn't seem to have any effect. Not sure but it may have been due to not (unrestricting) it in apps, or not enabling init.d emulation in it? In any case, using it to set SElinux permissive and trying to squeeze a little more battery life out. After not really knowing what I'm doing, I ended up staying with interactive and just making a few guesses from what I could find out in searches. I think battery life is a (little) better?
Interactive:
CPU minimum freq 400 MHz
tunables:
go_hispeed_load 95
target_loads 1 533000:85
800000:90
998400:90
1094400:80
If there are other/additional things to try, please let me know!
Click to expand...
Click to collapse
Set your Adaptive Low Memory Killer to Very Aggressive. This will restrict background apps from flooding your free RAM and save on battery life.
Are you not able to use init.d with this kernel?
MotoJunkie01 said:
Are you not able to use init.d with this kernel?
Click to expand...
Click to collapse
I have init.d emulated ticked on. Settings work, even on reboot. I'll try the memory settings.
scohut said:
I have init.d emulated ticked on. Settings work, even on reboot. I'll try the memory settings.
Click to expand...
Click to collapse
Good to hear
MotoJunkie01 said:
Set your Adaptive Low Memory Killer to Very Aggressive. This will restrict background apps from flooding your free RAM and save on battery life.
Click to expand...
Click to collapse
This DOES seem to be helping also..
scohut said:
This DOES seem to be helping also..
Click to expand...
Click to collapse
It does me too. With a free RAM widget running, I notice about 325Mb+ free RAM most times with 24 user apps installed.
With only a 1750 MAh battery we need all the help we can get
scohut said:
With only a 1750 MAh battery we need all the help we can get
Click to expand...
Click to collapse
Amen there