This is just a little appetizer for everyone to hold them over while the great kernel chefs do their thing. this is my first attempt at a kernel. I am only posting this at themikmik.com. This is based on the 2.13 ota
Thanks to ca1ne for answering all my questions
added ARM topology
Added new asswax governor (thanks Zarboz)
optimized the crc32 algorithm (slice by 8 bytes)
Usb host is working
enabled ntfs support
tweaked voltages(would love to hear feedback from the community on whether they need lowered)
GPU OC or UC (Stock by default) to enable
I use script manager to create a script to run on boot, each time you reboot the values will revert back to default.
To increase maximum GPU frequency in 3D mode to 484 MHz:
echo 484000000 > /sys/devices/platform/kgsl-3d0.0/kgsl/kgsl-3d0/max_gpuclk
To increase maximum GPU frequency in 2D mode to 300 MHz:
echo 300000000 > /sys/devices/platform/kgsl-2d0.0/kgsl/kgsl-2d0/max_gpuclk
echo 300000000 > /sys/devices/platform/kgsl-2d1.1/kgsl/kgsl-2d1/max_gpuclk
3D: 484000000, 300000000, 266667000, 228571000, 200000000, 177778000, 27000000
2D: 300000000, 228571000, 200000000, 160000000, 96000000, 27000000
Better tweak mpdecision for sense
here is a little explanation of kernel based thermal and mpdecision control
What is msm_thermal?What is msm_mpdecision?
Kernel based 3-phase thermal control!
This replaces your /system/bin/thermald binary which is renamed by the installer to thermald_backup.
Check /sys/kernel/msm_thermal/conf/ for the thermal configuration
allowed_max_high = highest threshold (phase 3)
allowed_max_low = remove the throttling if we cooled down to this (clr_thrshold)
allowed_max_freq = max frequency if throttled (limit)
[...]mid[...] = same as above, just for phase 2
[...]low[...] = Lowest threshold (phase 1)
check_interval_ms = how often shall we check? (sampling rate)
Default: 1000ms (=1sec)
If you want to see msm_thermal doing it's job:
adb shell cat /proc/kmsg | grep 'msm_thermal'
100% kernel based multi core decision! (should cpu1 be online or not?)
This replaces your /system/bin/mpdecision binary which is renamed by the installer to mpdecision_backup.
Check /sys/kernel/msm_mpdecision/conf/ for the configuration.
startdelay = time until mpdecision starts doing it's magic (70000)
delay = time between checks (500)
pause = if something else plugs in the cpu, fall asleep for 10000
scroff_single_core = if the screen is off, don't plug in cpu1 (1)
nwns_threshold_up = runqueue threshold, if this is reached cpu1 will be hotplugged (35)
nwns_threshold_down = runqueue threshold, if this is reached cpu1 will be unplugged (5)
twts_threshold_up = time threshold, this amount of time must have passed (250)
twts_threshold_down = same as above (250)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
idle_freq = a value against that will be checked if a core +/- is requested. (486000)
If cpu0 is below that value and a core up of cpu1 is requested, nothing will happen.
If cpu1 is above that value and a core down of cpu1 is requested, nothing will happen. (otherwise it would now put down cpu1 even though it is still working)
(all times are in ms)
with htcs new source they where many changes in code, so I will need to no if usb host still works as well as 2wcr.
For this release i implemented kernel based thermal control as well as kernel based mpdecision. these can be easily tweaked and modified by the end user. When installing I have a script change your rom based mpdecision and thermal files to a backup. this is meant to control cpu 1. on the old base cpu 1 did its own thing now we control it if you want to benchmark simply disable mpdecision, then when your done reapply it really easy. I also added a few new governors. This will boot and stay at stock speeds until changed by the user.
battery friendly mpdecision(to disable navigate to sys/kernel/msm_mpdecision/conf/enabled change the value to 0)
doing this can harm your phone I do not recomend but to each his own
to change the low value for thermal navigate to sys/kernel/thermal/allowed_low_freq and change to desired frequency
I will also be utilizing the son kernel updater zip.(flash like a normal zip)
Downloads are in the dev_host folder
Changelog 8/28/12 RLS 1.5
tweaked the schedulers
Added a boost to the second cpu
reduced to captive lights (looks much better IMO)
various little tweaks to many and small to mention
new 1.22 source based
added Savagedzen gov
tweaked gpu a little more
Added support for usb host mode. (extra cable needed)
added 3 versions
I need feedback and the 2.1 my phone wont run it so i mat need to adjust voltages
higher GPU OC
2 way call recordind (need external app)
User controlled voltages (I used system tuner from the play store)
Low memory killing tweaks
You will notice task manager show your ram around 730mb
Retweaked the second cpu so battery life should be much better.
compiled with linaro
Intelidemand gov rls 1.1
Conservative gov rls 1.1
Lionheart gov rls 1.2
OC to 1.9 ghz (back up to 1.9 for rls 1.2)
Boost FSB to 533mhz rls1.1
Disables gentle fair sleepers rls 1.2
vm read ahead 512 rls1.2
memory allocation tweaks rls 1.2
my github https://github.com/Thicklizard
Edit here is a flashable boot.img for those have issues flashing the regular zimage. If the ROM dev didn't make the boot img unsecured then the regular zimage flash won't work. I've also attached a flashable zip for my modules to go with the boot img. The modules are different than stock because they have been compiles with linaro if you fastboot the boot.img please flash this zip afterwards.
Rls 1.5 boot img (stock)
Rls 1.5 boot img (1.89)
Rls 1.5 boot img (2.1)
SEE THIS GUIDE FOR FLASHING INFO (added by: Nick1313)