[Sprint HTC EVO 4G LTE] thicklizard:
This is a AOSP kernel for the lte.

since 4.2 is pretty stable I am going to start updating the changelog for it.

What is a kernel?

In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources (the communication between hardware and software components).

Features

Cpu overclocking - I include 3 variants 1.7, 1.8, and max OC of 1.998

Gpu overcloking - Controlable with various apps on the market (I prefer kernel tuner)

Cpu governors - intellidemand, badass, interactive, conservitive, powersave, performance, lionheart, ondemand, and more

IO schedulers - sio, cfq, vr, zen, deadline, and noop

Sweep2wake with extra gestures - see bottom of OP

Compiled with the latest Linaro 4.7 toolchain - this is usually updated once a month here http://www.linaro.org/downloads/

Linaro -O3 optimized with extra build flags

Sound control

HTC perflock disabled

Voltage control - Controlable with various apps on the market (I prefer kernel tuner)

USB fast charge support

Changelog 4/8/13 rls30
merge latest cm commits
clean cpu and gpu clocks
linux 3.071
add sound control (Change gains for headset and headphones,sys/kernel/sound_control)
add variant for s2w with gestures

Changelog 3/5/13 rls29
sched_fair: improve group logic
vsprintf: make %pV handling compatible with kasprintf()
lib/vsprintf: replace link to Draft by final RFC number, lib:
nohz: Remove ts->inidle checks before restarting the tick
Revert "jewel: adjust refx100 to 6650." …
remove unused branch labels from trylock routine
disable preemption in machine_shutdown
remove redundant initialization in alloc_page_buffers()
Update amd use lzo compression
jewel: display: remove pinfo.clk_rate.
linux 3.0.67
update rqstats
wcnss: Configure bite interrupt as edge triggered
linux 3.0.68

Changlelof 2/25/13 rls 28
"msm_fb: display: fix compiler warning for uint64_t format" …
jewel: adjust refx100 to 6650. …
msm_fb: display: fix compiler warning for uint64_t format …
video: msm: Remove timeout from wait4vsync …
msm_fb: display: get mipi frame rate from panel file …
msm_fb: display: wait4vsync before set suspend flag …
msm_fb: display: wait4vsync after timing generator is turned off …
msm_fb: display: replace msleep with wait4vsync …
msm_fb: display: check bus scale handler for registration …
msm: msm_bus: Add support for 64-bit bandwidth requests …
add zram using snappy compression support
add frandom number generator support
linux 3.0.66
clean up crc32
update bfq v6
increase capture number of periods
up MDP clocks
tune sched_fair
msm_fb: display: clean pipes from commit queue at suspend …
msm: rotator: Support Fast YUV for 8960, 8064 and 8x30 targets. …
msm: rotator: clear rotator bus scale handler …
forget using aroma to set gpu users can change via app after boot
update usb fastcharge to 3.1
wcnss: Update Riva ramdump segments
update arm topology drivers
add strncpy_from_user

Changlelog 2/16/13 rls 27
Linux 3.0.65
Linux 3.0.64
more cmdline for aroma
linux 3.0.63
msm_fb: display: add mdp clock control to histogram enable/disable …
msm_fb: display: keep borderfill pipe's iommu info …
msm: display: Fix blend configuration for video layer with MDP compos… …
msm_fb:display: correct bus bw for downscale case …
add HYPER gov

Changelog 2/10/13 rls 26
implement aroma for soff (thanks to rom chef for the help still has things to be implented)
msm_fb: display: restore previous mdp bandwidth when resume
android, lowmemorykiller: Sync with Google/CAF
msm: vidc: Add ioctls for MPEG-2 extradata support
video: msm: Fix copyright attribution. …
msm: kgsl: initialize kgsl_sync_timeline_ops properly …
msm: kgsl: Don't wake up gpu on kgsl_ioctl calls if not necessary …
msm: kgsl: Avoid NULL pointer in adreno setstate functions …
msm_fb: Check for panel power on after Unblank.
clean up journal
Revert "ASoC: msm: Fix issues in proxy port driver due to early afe p…
linux 3.0.62
compiled with -O3 buildoptimizaton and -funroll-loops build flag

Changelog 2/2/13 rls 25 For JB 4.2
this will only work on roms who have added the changes from decks 2/2/13.build
linux 3.0.61
added ROW,FIFO,and ZEN I/O schedulers
Updated to the latest linaro 4.7.3 tooolchain (1/13)
Tweaked mp decision (some of CG KeRnEl ChEfs features)
added 178 commits from Deck And CM team (without these guys this project would not exist)

Changelog 1/14/13 RLS 22C
Linux 3.0.58
entropy tweaks
Fix bug when pausing music it stopped and started again for a second
tweaked wifi settings

Changelog 1/6/13 rls 22B
Linux 3.0.57
block: add and use scsi_blk_cmd_ioctl
get rid of on-stack debugging
dynamic fsync
dont oc gpu by default, let user control
some minor code clean up

Changelog 12/29/12 rls22
linux 3.0.56
linux 3.0.55
linux 3.0.54
usb fast charge credit to Chad Froebel
showps ring buffer patch
usb headset detection
Updated VFP to max from 3.4.Y Google Android.

Changelog 12/3/12 rls21
retweaked readahead
GPU oc is reworked to work with kernel tuner (on the apps next update)
tweak sio scheduler
upgrade to linux 3.0.53
Deactivate Notification LED Timeout
implement the ck1 patchset
iosched: prevent aliased requests from starving other I/O
tweaked deadline scheduler

Changelog 11/25/12
use ion instead of pnem(this is tha change in decks build 11/24)
tweak FSB
tweak ksm
GPU 2D/3D OC
msm: kgsl: Ensure glitch free changing of the GPU frequency
vfp: Use hard-float and neon libraries instead of vfp ones
mm: drop swap cache aggressively
mm: swaptoken only when swap full
android: binder: Allow using highmem for binder buffers
mm: drop swap cache aggressively
sched: task_times() explosion avoidance for tasks with

Changelog 11/20/12 rls 19
added cpu topology drivers
upgraded to linux 3.0.52
msm: memory: Use standard cache routines
mm, oom: fix potential killing of thread

Changelog 11/16/12 rls 18
Tweaked crt animation hack
passed with -O3 optimizations

Changelog 11/14/12 rls 17
Updated drivers to work on cm stable and decks newest releases.

Changelog 11/9/12 (decks irc build 11/10 will not work with this kernel)
linux 3.0.51
I/O-less dirty throttling
clock wrap bug
Move REPEAT_BYTE definition
JIT compiler for packet filters, ARM: net
Use AC charging for unknown chargers
Add optimized AES and SHA1 routines
Hack for CRT animations fix
force headset notifications single threaded
Compile with -pipe
aio.c: Asynchronous I/O latency to a solid-state disk greatly increased
optimize apply_slack
fix rq->cpu_load[] calculations
readjust readahead
reclaim som ram from logger

Changelog 11/5/12
fixed the black screen issue reulting in soft reboot
updated compression algorithm
Updated to linux 3.0.50

Changelog 10/28/12
rls14
Sweep2wake(thanks Zarboz)(currently sweep to wake only works in one direction)
MHL enabled
Upgrade to linux 3.0.48

ChangeLog 10/27/12
rls 13
2 kernel version oc capped at 1.89 and 2.1
added vr scheduler
Implemented Jrcu
tweaked block layer
SON is using ramdisk from decks 10/26 build
support for this encryption app [url]https://play.google.com/store/apps/details?id=com.sovworks.edslite&feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLnNvdndvcmtzLmVkc2xpdGUiXQ[/url]

Changelog 10/17/12
added Zarboz new asswax governor (thanks Zarboz)
Added Fsync toggle: (File syncronization)
It's disabled by default. Enabled = stock IO speed while having data integrity; disabled = more IO throughput but less data integrity
echo Y > /sys/module/sync/parameters/fsync_enabled (N to disable and Y to enable)
Reapplied patches that broke during the upgrade of linux versions
crc32 optimized
lib/string: use glibc version
lib/memcopy: use glibc version
use the git implementation of SHA-1

Changelog 10/8/12
currently only working for cm10
added BFQ scheduler
perflock disabled
block layer tweaks
auto group scheduling
New wifi driver built from source with BT-AMP feature

Changelog 9/22/12 rls .07
added governors badass,wheatley,pegasusq, and lagfree
tweaked mpdecision
enable ntfs
low memmory tweaks
camera flash functions to 5 percent now
use crc32 patch
many minor patches and tweaks

Changlelog 9/19/12 rls 0.6
better voltage for 2.1
OTG USB HOST MODE
More battery friendly mpdecision(to disable navigate to sys/kernel/msm_mpdecision/conf/enabled change the value to 0)
[COLOR="Red"]doing this can harm your phone I do not recomend but to each his own[/COLOR]
[COLOR="Red"]to change the low value for thermal navigate to sys/kernel/thermal/allowed_low_freq and change to desired frequency[/COLOR]

Changelog 9/12/12 rls .04
Improved mpdecision with cpu1 not so sleepy
utilizing Haus' SON kernel Update script(thanks Haus)

Changelog (9/11/12) rls .03
implemented kernel based mpdecision
implemented kernel based thermald

[COLOR="Red"]With these implimenattions this will rename your thermald and mpdecision binary in your rom to thermal_backup and mpdecision_backup.[/COLOR]

Changelog (9/7/12) rls .02

GPU OC
Added usercontrolled voltage
disabled fsync
Tweaked thermal (trying to manage cpu1)
Boost FSB to 533
tweak smartassv2 governor
and a few other tweaks

Changelog (9/6/12) rls .01

Added CPU OC to 1.89 ghz
Added schedulers VR, SIO, CFQ, DEADLINE; all optimized for flash devices
Addeded Governors smartass2,interacitve,intellidemand,savadgedzen,2 phase ondemand,performance,conservitive,lionheart
Disabled fair gentle sleepers for better performance on android
increased vm readahead to 1024
made memmory allocation optimizations (shows 726 mb of ram)
many little tweaks compiled with linaro 4.6
XZ compression

Sweep gestures (sweep finger across the capacitive buttons on bottom of phone):

Sweep2sleep: with screen on, swipe right to left to turn screen off
Sweep2power: with screen on, swipe left to right for power menu (simulated 2.5 second power button hold)
Sweep2snap: with screen on: swipe left to right and press Home within 2 seconds for a screen snap
Sweep2wake: with screen off: swipe left to right to turn screen on (disabled by default for better battery life)
Phantom volume down: with screen on, touch between back and home for vol-down one notch
Phantom volume up: with screen on, touch between home and recent apps for vol-up one notch
Sweep2mute: with screen on, swipe from home to back for vol full down (vibrate)
Sweep2loud: with screen on, swipe from home to recent apps for max volume
Sweep2skipback: with screen off, swipe from home to back to skip back a track (when listening to music)
Sweep2skipforward: with screen off, swipe from home to recent apps to skip forward a track (when listening to music)
Sweep2deepsleep: with screen off, swipe from right to left to temporarily disable sweeps while screen is off (until screen is turned back on: prevents pocket sweeps)

[IMG]http://xdaforums.com/attachment.php?attachmentid=1479575&stc=1&d=1352840345[/IMG]

here is a little explanation of kernel based thermal and mpdecision control

What is msm_thermal?

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:

Code:

adb shell cat /proc/kmsg | grep 'msm_thermal'

What is msm_mpdecision?

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)

NOT RESPONSIBE IF YOU BRICK,DROP,LOSE YOUR DEVICE. FLASH AT YOUR OWN RISK[/B

What is FSO?

Fso has greater speed, but there is a chance of corrupting if the phone has a random reboot.

Non-fso is what a stock kernel is and does not have the corruption issue.

It's a trade off, performance for stability or visa versa

If you have issues with reboots viperboy has created a script to increase voltages which may help with stability for the rebellious phones thanks viperboy

http://d-h.st/Kru

Downloads for the the latest releases

http://d-h.st/users/Thicklizard

gpl legalities

https://github.com/thicklizard

If you like my work buy me a coffee!

Thanks to cyanogenmod.