[HTC One X] n3ocort3x:
== | ncx-v.0.99a | ==​

2.6.39.4​

Based on HTC Source: 1.28.401.9​

Impressions about battery life in v.0.65​

2 hours 5 minutes total onscreen time, 1 hour 25 minutes active navigation, 25 minutes Webbrowsing, 3 phone calls about 15 min total, 15 minutes of play around with folders, market and wrote 2 sms. Its down to 64% so if you multiple this behavior x3 (to reach 0 %) its possible to archieve an onscreen time from about 6 hours with a charging cycle of 28 hours !​

Why another Kernel ? faux, kholk and showp1984 did a great job !

I want to learn, how modifiying of a Kernel works. The best way to do that, is code, watch others and learn from them.

My opinion: You can only learn from someone whos better than you, and well there are many guys out there !

Its also important to code on your own. I just want to share my progress and fix reported errors on my own.

Feel free to PM me if you think you can help me !

Is this Kernel only a collection of commits from others on Github ?

As I am not that good in coding C, i get my inspiration from the guys mentioned above. I watch their repos and commits,

look what they did, and try to understand it. After that i try to code a similar solution on my own. I am able to code C,

and i´m not new to linux, but i´m new to ARM stuff and "hacking" the Kernel !

Whats the personal goal of this Kernel when its finished ?

-) fix compiler warnings

-) debug and understand kernel oops

-) modify governors to be not that aggressive

-) disable this annoying cpu poke to 1,5 GHz (ondemand) when waking up device >> fixed

-) enable voltage control (based on what faux123 did) >> done

-) use freqs. below 304 MHz (v.0.1 wont get below 304 MHz) >> fixed

-) integrate patches from Linux 3.x Kernel

Give it a shot, report back. I would really appreciate it ! :D

Credits:

I want to thank faux123, kholk and showp1984 for their help on getting me started with this.

I know, there were a lot of questions but this guys always gave me an answer.

You guys rock.. definately ! I owe you a lot ! All things in this Kernel are based on the work of this 3 "coding cracks".

they know what they do, and they are doing awesome !

CHANGELOG

[B]ncx-v.0.1[/B]
- initial release
- fixes from showp1984 to stabilize the Kernel

[B]ncx-v.0.15[/B]
-fix cpu frequencies usage below 340Mhz

[B]ncx-v.0.2[/B]
- fixed some compiler warnings
- allow 51 MHz screen usage (thx showp1984)
- fix bluetooth pairing (updated drivers, thx TEAMNDVRU)

[B]ncx-v.0.23[/B]
- a few code cleanups
- no more cpu poke to 1.5 GHz when screen off/on :) (thx franco, trip)
- also desired values (for example 1 GHz) stick after screen off / on

[B]ncx-v.0.25b[/B]
- added lagfree governor for testing purposes
- fixed a compiler error
- tweaked lagfree governor battery/performance
- unity games on JB builds are now working (thx TEAMNDVRU)

[B]ncx-v.0.26[/B]
- re-tweaked lagfree
- set min / max freq after boot to 102MHz / 1500 MHz

[B]ncx-v.0.30[/B]
- set min / max freq after boot to 51 MHz / 1500 MHz back again (testing finished)
- added V(r) I/O scheduler (big thx kholk)
- enabled deadline scheduler
- added some information "ONDEMAND TWEAKS" to OP

[B]ncx-v.0.40[/B]
-fixed screen flicker issue (patch from new source 1.29)
-default I/O scheduler: deadline
-some other patches from new source (1.29)
- big thx again to Kholk ! (most of the changes are his work)

[B]ncx-v.0.55[/B]
- ENABLED Voltage Control (faux´s work, I only integrated it ! send him a beer, awesome Job)
- removed userspace, conservative, powersave govenor
- play arounds with ondemand governor :D
- still working on a proper lagfree gov

[B]ncx-v.0.60[/B]
- updated interactive governor to nexus grouper baseline
- changed ondemand governor to nexus grouper baseline
- deactivated 2 phase freq for testing purposes
- some fixes (compiler errors)

[B]ncx-v.0.71[/B]
- fix 2 section mismatches
- set deadline as default sheduler
- deadline tweaks
- added XZ compression method so files will be smaller
- set ondemand a bit more aggressive
- some other stuff (check github)

[B]ncx-v.0.75[/B]
- fix set deadline default @ bootup
- some changes in defconfig
- optimized for speed instead of Size (thx LorDClockaN)

[B]ncx-v.0.80[/B]
- fix for multitouch games (tbalden, awesome stuff, awesome guy)
- enabled KSM
- fix some compiler errors
- GPU clocked now @ 520MHz in OC version (BIG THX to KHOLK AND FAUX, brilliant work)
- another round of playing with onedemand

[B]ncx-v.0.83[/B]
- added SIO (Simple I/O scheduler)
- added bfq v.4 scheduler

[B]ncx-v.0.85[/B]
- added smartass V2 Governor (for testing)
- added UKSM

[B]ncx-v.0.90[/B]
- fixed bootloops on some Sense Roms
- should now boot on every ROM
- removed XZ compression
- removed SmartassV2 governor

[B]ncx-v.0.99[/B]
- XZ compression is back
- GPU now on stock @ 520 MHz as Tegra 3 should be
- All cores can hit 1,5GHz (testing, temps are totally ok after 1 day of intensive testing)
- removed lagfree governor
- set bootup freq to 102 - 1200 MHz
- ondemand stuff by LorD
- huge amount of fixups to LP Core by the one and only faux123 ! Big THX for that
- fixed WIFI on SENSE ROMs

[B]ncx-v.0.99a[/B]
-) fixed usage of freqs below 340 MHz on Sense Roms (51, 102, 204 now available)
-) strange 100 MHz freq is finally gone

Known issues:

-) You tell !

Download Kernel & Modules

Version 1: GPU @ 520 MHz, All 4 cores can hit 1,5 GHz simultaneously

ncx-v-0.99a boot.img

ncx-v-0.99a kernel modules

Version 2:, GPU @ 414 MHz, removed 1,5GHz single core step, 2 Cores can hit 1,4GHz simultaneously , 4 Cores can hit 1,2 GHz simultaneously

ncx-v-0.99a boot.img

ncx-v-0.99a kernel modules

I´m working on Slim ICS and CM9 Beta 5, (both are ICS builds) Ice cold Jelly 0.5 and CM10 Pre 12 (both are JB builds) to test stuff.

Desired frequencies stick on both but on JB we need a little trick as Power HAL (integrated on Jellybean builds) keeps overwriting it!

Google introduced this on JB builds! If you want to know how to do this, PM me. THX to LorD and tbalden for guiding me into the right direction !

Howto install:

-) boot into bootloader

-) fastboot erase cache

-) fastboot flash boot boot.img

-) fastboot erase cache

-) boot into recovery

-) wipe cache, dalvik and battery stats

-) flash modules from .zip

-) reboot into system

Screenshots / battery drain

CM10 Preview 10 / First charging cycle

CM10 Preview 10 / Second charging cycle

Howto improove battery life:

-) switch OFF Bluetooth and WIFI. Turn it on ondemand (This saves a lot)

-) leave governor as it is. Ondemand is simply the best one for One X

-) Use custom automatic screen brightness (my highest level is 140)

-) I use SLIM ICS as ROM, it seems to be the battery friendliest for me

If you follow this steps, you should archive 4 hours of screentime easily

with an overall time of 20 hours. I use my phone as followed:

Web, Navigation, Phone Calls, BT Pair with car, SMS, NO games

Ondemand tweaks (should also improove battery life):

As there are too many different ramdisks, its better to apply tweaks on your own after boot. Each Ramdisk is different and boot

with different gov settings

-) grab an app like setcpu where you can add own governor settings

-) SAMPLING RATE: change to 120000 (default is 10000)

-) UP TRESHOLD: change to 95 (default is 90)

-) SAMPLING DOWN FACTOR: change to 1 (default is 5)

Github

Link for Sense Kernel, built with 4.4.3 Toolchain, branch master

Link for AOSP, AOKP, CM Kernel, built with 4.4.3 Toolchain, branch master

Disclaimer

-) I am not responsible for bricked devices

-) you do this on your own will

-) If you flash this, your warranty will be void