[KERNEL][S4][AOSP][KK & LP][Feb 25]IceCode Kernel [O3][AROMA][OTA UPDATES]

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
IceCode Kernel Mandatory Info
Source: IceCode -kkdevel5 & lp-devel1 branches
Compiler: Christopher83 4.9.3 Toolchain
Kernel Linux Version: 3.4.82
defconfig: ville_defconfig

Hello everyone,

I am releasing a new kernel based originally off of CodefireX/TeamEOS sources and (of course) synced with latest CM sources too. It is built with the latest toolchain, with O3 level of optimization. I also took a bunch of commits from many different kernel sources, including from authors like rmbq, jrior101, showp1984 and faux123.

Github for Ville CM11: https://github.com/CyanogenMod/android_kernel_htc_msm8960/commits/cm-11.0

Features to highlight:
Kernel currently uses Faux123 intelliplug and intellithermal
AROMA INSTALLER & COMMAND LINE INTERFACING! NO silly init.d scripts!
Intellidemand, Intellimm, and Intelliactive governors added (as well as the standard CM11 governors)
Sweep 2 Wake, Double Tap 2 Wake, Pocket Detection (*these currently disabled*)
Overclock to 1.7
Undervolt to 850
Overclock GPU (& new "Simple" GPU Governor)
L2 Cache Boost
Button Light Notification
CPU Version Export
faux123 sound control
Notification LED Duration Timeout
Added schedulers including fiops, bfq, and sio
Fixed all Linaro O3 compiling issues, so now the kernel is compiled with 4.9.x toolchain WITH O3 Flags
Synced with latest CM sources
Asynchronous Fsync
Some added stability (maybe)

MORE INFO ON CPU KRAIT VERSION EXPORT
Type in the following code in a terminal window on your phone:
Code:
su
cat /sys/kernel/debug/krait_variant
This will let you see what chip version you have... The slower it is the harder it will be to undervolt

USE THIS KERNEL AT YOUR OWN RISK! IF YOU DO NOT KNOW WHAT YOU ARE DOING, BACK OFF!

MAKE A BACKUP BEFORE INSTALLING!!!!!!!!!!!!!!!!
DOWNLOAD LATEST VERSION HERE:

LATEST ICECODE KERNEL

Install instructions:
1. Flash the file above in recovery and make sure you are S-OFF.

USING OTA UPDATER:
1. When flashing an update, it seems you may need to uncheck the "Wipe Cache" box first, otherwise it seems to wipe cache but not install the update
2. Also, make sure to select Yes to installing/updating OTA files EVERY TIME you flash an update so that the OTA program knows your on the current kernel.
3. If you cant find the OTA Updater App in your app drawer, you may want to try wiping cache/dalvik! Trust me the app will be found in your /system/apps folder if you select to install it.

IF YOU WANT TO UNINSTALL THIS KERNEL
1. Make sure to rename mpdecision_backup and thermald_backup in /system/bin/ folder to their original names before flashing a stock kernel!!! These files are not needed by this kernel because all the work is done in the kernel and not in the ROM.

Thanks to: jrior001, rmbq, ShowP1984, faux123, intervigilium, yank555-lu
 
Last edited:

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
Changelog

CHANGELOG:
Feb 25, 2015
-Sync w/ latest CM sources
-Update BFQ
-Add FRANDOM
-Update Sound Control
-Update Simple GPU Governor
-More TCP Congestion Control Algorithms
-The Intelli_Plug Kconfig Fix (rebased)
-Various Optimizations
-Update Intelli_Plug to version 3.9
-LZ4 Support
*Thank you javelinanddart

December 17, 2014
-Rebuilt with linaro 4.9.3 toolchain optimized for cortex A15
-Minor fixes
-Sync w/ latest CM sources

December 12, 2014
-Add intellimm governor and intellithermal
-minor fixes

December 2, 2014
-disabled touchboost by default

December 1, 2014
-Added OTA Updater support
-Enabled faux sound control
-minor intelliactive update

November 30, 2014
-Changed mpdecision to faux123 intelliplug

November 24, 2014
-Change to CM12 base

October 8 - Nov 24, 2014
-Sync w latest CM11 sources

Sept 28, 2014
-Sync w latest CM11 sources
-Mpdec fixups (taken from ShowP hammerhead kernel)

August 13-24, 2014
-Sync w/ latest CM11 sources (including new wifi base)

August 7, 2014
-More minor fixes and stability

August 6, 2014
-Minor fixes (script to rename old mpdecision,etc)

August 5, 2014
-Revert s2w,d2w & pocket detect code (improve stability)
-Other reverts to improve stability (l2 cache, etc)

August 4, 2014
-Sync w latest CM11 sources

July 31, 2014
-Stability changes (reverted old wifi commits and built wifi with lower optimization)

July 28, 2014
-Updated to use Linaro 4.9.1 toolchain optimized for cortex a15
-Re-enabled in kernel mpdecision

July 6-24, 2014
-Sync with latest CM11 sources

June 21, 2014
-Disabled in kernel mpdecision for stability (and re-enabled stock)
-Sync w latest CM11 sources

June 13, 2014
-Sync w latest CM11 sources

May 26, 2014
-Updated intelliactive governor
-Revert "Added back some pocket detect code" for stability
-Disabled led notification duration timeout mod (not needed for cm11 anyway) for stability

May 19, 2014
-Sync w latest CM11 sources
-Added back some pocket detect code

May 8, 2014
-Sync with latest CM11 sources
-Merge with latest Code Aurora Forum (CAF) commits
-Use custom voltage table (in post #3)
when selecting voltage table option in aroma

May 1, 2014
-Sync with latest CM11 sources

April 27, 2014
-Sync with latest CM11 sources
-Added custom ramdisk option

April 1, 2014
-Sync with latest CM11 sources
(Cutting down screen on lag)

March 28, 2014
-Sync with latest CM11 sources

March 22, 2014
-Sync with latest CM11 sources

March 17, 2014
-AROMA Installer updated to latest version
-Max CPU Freq added to command line
-Force Fastcharge added to command line

March 12, 2014
-Cleaned up and did a proper merge with CM11 sources & update to 3.4.82 Linux
-Some files were missing the first time around

March 9, 2014
-Merged with latest CM11 sources & update to 3.4.82 Linux

March 4, 2014
-Re-enabled module loading
-Added kcontrolg gpu module (for advanced gpu tuning in kcontrol)
-Rmbq's fixes for GPU power level (more efficient, adds to battery life)
-Added 2D GPU and 3D GPU OC to the command line

February 21, 2014
-Synced with latest CM11 sources which removed some pocket detect code
-But kept small bit of pocket detect code for s2w and dt2w
-Small bit of code that may help w/ lingering SOD issues

February 20, 2014
-Added intellidemand from faux123 M7 kernel but optimized for Ville
-Added NEW intelliactive kernel from faux123!!!
-Synced with latest CodeFire sources (updated BFQ scheduler)
-Synced with latest CM11 sources

February 17, 2014
-Added AROMA installer
-Added cmd line interfacing for s2w,dt2w,pocket detection, bln, and undervolt table
-Full o3 flag optimization
-Sweep 2 Wake, Double Tap 2 Wake, and Pocket Detection Added
-cpu table version export
-disabled faux123 sound control (for now)
-disabled mpdec input boost (for now)

February 9, 2014
-Ported Notification LED Mod by yank555-lu (works through sysfs commands or kernel tuner app only at the moment... will see about adding to trickstermod)

February 6, 2014
-Fix gyro off status checks (synced with latest CM11 sources)

February 5, 2014
-Initial Release (with many features highlighted in the op)
 
Last edited:

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
Other Info

OTHER INFO

My Current Voltage Table, (could likely be tuned lower, but be careful with unicorns):

1728mhz: 1250000 mV
1674mhz: 1200000 mV
1512mhz: 1150000 mV
1458mhz: 1150000 mV
1404mhz: 1150000 mV
1350mhz: 1150000 mV
1296mhz: 1150000 mV
1242mhz: 1150000 mV
1188mhz: 1137500 mV
1134mhz: 1125000 mV
1080mhz: 1100000 mV
1026mhz: 1087500 mV
972mhz: 1075000 mV
918mhz: 1062500 mV
864mhz: 1050000 mV
810mhz: 1037500 mV
756mhz: 1025000 mV
702mhz: 987500 mV
648mhz: 975000 mV
594mhz: 962500 mV
540mhz: 950000 mV
486mhz: 912500 mV
432mhz: 912500 mV
384mhz: 912500 mV
 
Last edited:

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
I feel like I ask this alot, but synced with CM as of which day? Also how is the wakelag on this?
Latest kernel sources for cm... Intervigil pushed some stuff a few days ago. It's all in here

Edit: I'll post a link to cm11 kernel git hub too and you can check it yourself too to see if I stay on top of the commits. Note that just bc a new CM11 ROM nightly comes out doesn't mean that the kernel was changed too

Sent from my One S using Tapatalk
 
Last edited:

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
DT2Wake with pocket detection?

Sent from my One S using Xparent Red Tapatalk 2
Not yet... I'm waffling over whether to include s2w and d2w... I will get around to it but if I do I won't have them enabled by default... I'll need to look at the code to ensure I can keep it disabled by default ... Cuz I personally don't use it... But if there's enough demand for it I will do it.

Sent from my One S using Tapatalk
 
  • Like
Reactions: rc420head

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
Latest kernel sources for cm... Intervigil pushed some stuff a few days ago. It's all in here

Edit: I'll post a link to cm11 kernel git hub too and you can check it yourself too to see if I stay on top of the commits. Note that just bc a new CM11 ROM nightly comes out doesn't mean that the kernel was changed too

Sent from my One S using Tapatalk
Lol I'm one commit behind now already. Will update tomorrow.Seems like a good commit that may fix gyro issues.

Sent from my KFAPWI using Tapatalk
 

blinksilver

Senior Member
Sep 23, 2007
366
54
0
Lol I'm one commit behind now already. Will update tomorrow.Seems like a good commit that may fix gyro issues.

Sent from my KFAPWI using Tapatalk
There is also a couple RIL related commits (one seemingly more important than the other) but I'm unsure if changes to BoardConfig.mk manifest themselves in the kernel or elsewhere!

In an unrelated note I want to put together a little init.d script that overclocks the GPU (both 2d and 3d), what specifically I should be writing to?
 
Last edited:

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
There is also a couple RIL related commits (one seemingly more important than the other) but I'm unsure if changes to BoardConfig.mk manifest themselves in the kernel or elsewhere!

In an unrelated note I want to put together a little init.d script that overclocks the GPU (both 2d and 3d), what specifically I should be writing to?
Ril is ROM stuff. As for a script, I will have to check.

Sent from my One S using Tapatalk
 
  • Like
Reactions: blinksilver

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
Hello everyone,

I am releasing a new kernel based off of CodefireX sources and (of course) synced with latest CM11 sources too. It is built with the latest CodeFire toolchain, with 03 level of optimization (except for prima wlan). I also took a bunch of commits from many different kernel sources, including from authors like rmbq, zarboz, jrior101, showp1984.

I am posting this kernel with jrior101's permission, as he maintains CodeFireX ROM, kernels, etc for MSM8960 devices.

I think he is doing a great job with the CodeFire project, and I would recomend using this kernel with the CodeFire ROM
However, the kernel should work on CM11 and CM10.2 bases... Give it a try and let me know how it works out!
CodeFire + IceCode = Awesome

My github: https://github.com/AKToronto/Canuck Goto kk-devel branch for this kernel

Github for Ville CM11: https://github.com/CyanogenMod/android_kernel_htc_msm8960/commits/cm-11.0

CodefireX Kernel Source: https://github.com/codefireXperiment/kernel_htc_msm8960

CodefireX toolchain: https://github.com/codefireXperiment/prebuilts_gcc_linux-x86_arm_arm-eabi-4.8/tree/kk-devel

CodefireX 4.4 ROM Thread: http://forum.xda-developers.com/showthread.php?t=2632741

Features to highlight:
I added and enabled the most recent version of ShowP's MPDecision and ThermalD control. The two now work together as well, so mpdecision is aware of when the kernel is being throttled, etc.
Note advanced features in MPDecision such as "input boost". This is disabled by default (simply because I prefer battery life over many other things), but some may want to enable it as it increases the min frequency when you touch the screen. May also be helpful if you prefer to use Ondemand governor over Interactive.
Also, you may want to input less conservative thermald values than I have... In order to keep my phone cool, I start the throttling already at 55 degrees​
Overclock to 1.7
Undervolt to 850
Overclock GPU (& new "Simple" GPU Governor)
L2 Cache Boost
Button Light Notification
faux123 sound control
Added schedulers including fiops, bfq, and sio
Fixed all O3 compiling issues, so now the kernel is compiled with CodefireX toolchain WITH O3 Flags
Synced with latest CodefireX and CM11 sources
Asynchronous Fsync
Some added stability (maybe)

QUESTION: Should I use KControl or TricksterMod to tune this kernel?
The short answer is that neither app has everything that you can tune with this kernel.
KControl allows you to set CPU frequencies separately as well as governors for individual cpus. You may also find it easier to tune MPDecision and ThermalD with the settings there. Advanced GPU customizations in kcontrol are also comming soon.

However, with TricksterMod, you can enable or disable BLN, GPU OC, GPU Governor (try setting it to "Simple"), and "Force Fastcharge" (which you cannot do in KControl).

I currently have both apps installed, but I let TricksterMod be the one that starts up on Boot.

USE THIS KERNEL AT YOUR OWN RISK! IF YOU DO NOT KNOW WHAT YOU ARE DOING, BACK OFF!

DOWNLOAD LATEST VERSION HERE:

LATEST ICECODE KERNEL

Install instructions:
1. Flash the file above in recovery and make sure you are S-OFF.

IF YOU WANT TO UNINSTALL THIS KERNEL
1. Make sure to rename mpdecision_backup and thermald_backup in /system/bin/ folder to their original names before flashing a stock kernel!!! These files are not needed by this kernel because all the work is done in the kernel and not in the ROM.

Thanks to: jrior001, rmbq, ShowP1984, Zarboz, faux123, intervigilium


Sent from my One S using Tapatalk
 

Insecret

Senior Member
Mar 16, 2009
657
152
73
Bucharest
Cool no more stock no more bubba, something new. Good bless you man :p


L.E With this kernel controlled by kernel tuner I can see that I have enabled 2 new features: controll of MP-Decision and the thermal controll and if I make a Compatibility check It say's to me that is 86% compatibility with the device still missing Led notification timeout and S2W. Btw The kernel is much better then the stock one who were 60-70% compatibility ( I don't remember verry well). So It can be perfect and allso is allmost perfect. Nice work.
 
Last edited:

AKToronto

Senior Member
Nov 19, 2012
650
702
0
Toronto
Cool no more stock no more bubba, something new. Good bless you man :p


L.E With this kernel controlled by kernel tuner I can see that I have enabled 2 new features: controll of MP-Decision and the thermal controll and if I make a Compatibility check It say's to me that is 86% compatibility with the device still missing Led notification timeout and S2W. Btw The kernel is much better then the stock one who were 60-70% compatibility ( I don't remember verry well). So It can be perfect and allso is allmost perfect. Nice work.
Thx for the support! I will look at led notification time out. If there is a strong push I will add s2w d2w etc but I will want to have them disabled by default as I don't use them and some ppl find it annoying to have them enabled by default. Stay tuned though! I will also keep the kernel closely synced with cm11 and codefire sources so it should remain very stable.

Sent from my One S using Tapatalk