[KERNEL] [CM13/14.1/LINEAGE - AOSP] // [13.12.16]decipher // UPDATED

Search This thread

SuperSimian

Senior Member
Aug 22, 2012
807
1,077
disclaimer
-- Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this KERNEL
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will simply laugh at you.
*/

I'm not a developer, I'm only contributing to the community with MY custom kernel, hope you enjoy it.
iOTKtle.png



decipher_kernel

Introduction
Based on stock CM 12.1 kernel and modified for a more IN CONTROL user experience, Kernel includes many features and upgrades not found in stock, Stability is the number one priority. Now, CM13 is supported (it's still the same as CM12 kernel, with new upgrades). Simple-CM kernel will be discontinued (it will remain in OP), decipher kernel is a lot more stable, especially MPB.

Main features

Hotplugs:

  • IntelliPlug 4.0
  • Bricked hotplug
  • MSM Hotplug
  • AutoSMP
Governors:
  • Yankactive
  • Impulse
  • IntelliActive
  • IntelliDemand
  • ZZMoove
  • BioShock
  • + all CM defaults
IO Schedulers:
  • bfq
  • sio
  • zen
  • tripndroid
  • + all CM defaults
Other Features
  • Advanced TCP congestions
  • Sound Control
  • Frandom
  • KCAL control
  • Adreno idler
  • Dynamic Fsync toggle
  • Kernel mode: NEON
  • SElinux mode: Permissive
  • KEXEC support
  • Enable headset in high performance
  • Powersuspend modes
  • GPU UC/OC

Simple-CM

Introduction
Ok, so here it is, this is probably the closest to stock CM kernel, I've included only the most essential features, this means no extra CPU governors/IO schedulers/Hotplugs. So it's basically stable CM stock kernel with a few added features to have a little more control. You can see github to view the changes.

For those who are considered about battery life; this will give you same battery as stock CM and it's ok for two reasons:
1. Under clocking to save power is useless below 787200.
Remember when on stock kitkat your default "low" frequency was 787200? well it was for a reason.
2. Frequency's below 787200 consume the same power as 787200. The same goes for frequency's above 787200, so ideally we would get optimal performance with just using 2 frequencys, 787200 and 1190400..


Main features

Hotplugs:

  • mpdecision
Governors:
  • all CM defaults
IO Schedulers:
  • all CM defaults
Other Features
  • UBER toolchain GCC 4.9.4
  • KCAL control
  • GPU UC/OC
  • KEXEC support
  • Permissive


Install Instructions

  • download latest version of the zip
  • reboot recovery
  • make sure you are on stock CM kernel before flashing for the first time, if not then proceed to wipe system partition and flash CM/AOSP ROM.
  • install ANY VERSION OF DECIPHER kernels
  • if upgrading, proceed to flash normal way.
  • wiping dalvik is not necessary in any case.

Downloads

GOOGLE DRIVE


Thanks To/Credits
Code:
* CyanogenMod
* osm0sis
* savoca
* faux123
* neobuddy89
* ZaneZam
* Zakee94
* Flashhhh
* arter97
* Hurtsky
* mrg666
* many more

XDA:DevDB Information
decipher_kernel, Kernel for the Moto G 2014

Contributors
-decipher-
Source Code: https://github.com/decipher90

Kernel Special Features: MSM Hotplug, Bricked Hotplug, Awesome Governors, IO schedulers, KCAL control, Neon mode, Sound control.

Version Information
Status:
Stable
Current Stable Version: [CM13][13.12.16]
Stable Release Date: 2016-12-13

Created 2015-07-31
Last Updated 2017-01-29
 
Last edited:

SuperSimian

Senior Member
Aug 22, 2012
807
1,077
Latest Change-logs

13.12.16:
[CM14.1][13.12.16]decipher // MPB
  • merge CM changes
  • Major tweak script changes
  • bioshock lag fix attempt #1

Older Change-logs

16.11.16:
[CM13][CM14.1][16.11.16]decipher // MPB
  • merge CM changes
  • minor installer script changes
  • VM improvements
06/11/16:
[CM13][2016-11-06]decipher // MPB
  • merge CM changes
  • minor script changes for MPB
24/10/16:
[CM13][031016]decipher // MPB
  • merge CM changes
03/10/16:
[CM13][031016]decipher // MPB
  • installer script changes
  • back to msm mpdesicion hotplug as default
  • disable slice idle for BFQ and CFQ (this parameter is meant for rotational storage)
  • silence some logs
  • Linux patch-3.4.100 (skipped a few, LOL)
  • Added Auto SMP hotplug driver to both kernel versions (might be removed from MPB later)
09/09/16:
[CM13][240816]decipher // MPB
  • merge CM kernel updates
  • bioshock as default governor
  • Intelliplug as default Hotplugging driver
  • Installer script completely tweaks the kernel for a balanced profile
24/08/16:
[CM13][240816]decipher // MPB
  • merge CM changes
  • updated default configuration files as per CM.
  • yankactive is now more battery friendly
  • Installer script sets yankactive as default gov (for now)
12/08/16:
[CM13][120816]decipher // MPB
  • merge CM changes
  • New script sets 787200 Hz as the default frequency.
  • Reduced Bricked hotplug start delay + fewer checks + Idle frequency is now 787200
  • tuned Intelliplug hysteresis value for better battery.
02/08/16:
[CM13][020816]decipher // MPB
  • merge CM changes
22/06/16:
[CM13][220616]decipher // MPB
  • toolchain updated
  • compiled from scratch
  • merge CM changes
11/06/16:
[CM13][110616]decipher // MPB
  • merge CM changes
23/05/16:
[CM13][230516]decipher // MPB
  • fix low volume issue introduced in last update
21/05/16:
[CM13][210516]decipher // MPB
  • merge CM changes
10/05/16:
[CM13][100516]decipher // MPB
  • merge CM changes
30/04/16:
[CM13][300416]decipher // MPB
  • Update toolchains
  • Update defconfigs
  • merge CM changes
03/04/16:
[CM13][030416]decipher // MPB
  • merge CM changes
26/03/16:
[CM13][260316]decipher
  • merge CM changes
20/03/16:
[CM13][200316]decipher
  • merge CM changes
  • vibrator tweaks
B]04/03/16: [/B]
[CM13][040316]decipher
  • UBER TC updates
14/02/16:
[CM13][140216]decipher
  • incorporate new drivers for /drivers/staging/prima (wlan and WiFi)
  • merge cm changes
10/02/16:
[CM13][100216]decipher
  • updated defconfigs
  • TripNdroid IO is back
  • simple GPU algorithm (off by default)
  • headphone_pa_gain added to sound Control (only tunable with Faux sound APP)
01/02/16:
[CM13][010216]decipher
  • updated defconfigs
  • merge latest CM changes
11/01/16:
[CM13][110116]decipher
  • completely Rebuilt FROM SCRATCH (again)
  • debloated the kernel
  • update to latest CM sources (7 pages of 35 commits per page of updates)
29/12/2015:
[CM13][291215]decipher
  • completely Rebuilt FROM SCRATCH
  • Overhauled the custom defconfigs > applied Google recommended settings..
  • update to latest CM sources
  • tons of futex updates
  • Fix high load average from uninterruptible waits
  • Add current consumption values used by cpufreq_stats
  • VM fixes and updates
  • ARM updates
  • bring back old CPU governors.
  • selinux fixes and updates
  • TONS of enhancements and upgrades
23/12/2015:
[CM13][231215]decipher
  • Linux kernel version 3.4.42
  • merge CM13 updates to 22/12/15
  • Wiimote is now supported (thanks CM)
  • Enable CONFIG_UID_CPUTIME
  • The latest doze feature should now be supported (thanks Luk and luca)
  • ARM updates
  • TONS of enhancements and upgrades (not kidding)
21/12/2015:
[211215]decipher
  • ARM updates
  • miscellaneous enhancements and upgrades
30/11/2015:
[301115]decipher
  • merge CM changes
  • remove KSM (kernel same page merging)
  • miscellaneous enhancements and upgrades
20/11/2015:
[201115]decipher
  • Linux version 3.4.110
  • many enhancements to cpu and mach-msm code
  • implement USB fast charge
  • many ARM updates
  • miscellaneous enhancements and upgrades
12/11/2015:
[121115]simple-CM
  • merge CM changes
[121115]decipher
  • merge CM changes
  • ARM updates
  • silent some log
  • VM updates
  • power: Disable IRQ wake-up when disabling the IRQ
31/10/2015:
[151031]simple-CM
  • merge CM changes
[151031]decipher
  • merge CM changes
  • various CPU and GPU improvements
  • disable smartmax/ Intellimm CPU govs
  • disable VR IO scheduler (ZEN is an improved version of VR)
  • Miscellaneous upgrades/fixes
22/10/2015:
[151022]simple-CM
  • update install scripts not nuking the new powerhal binary
[151022]decipher
  • update install scripts not nuking the new powerhal binary
  • bring back headphone_pa_gain
  • disabled advanced TCP congestion except westwood
  • disabled userspace/ondemand/conservative CPU governors
17/10/2015:
[151017]simple-CM
  • Miscellaneous upgrades
[151017]decipher
  • implement BioShock CPU governor
  • tune bricked hotplug once more
  • tune some CPU govs responsiveness (intellidemand/intellimm/zzmoove)
  • set default profile (8) zzperf for zzmoove
  • sound control: remove headphone_pa_gain (was not working)
  • Miscellaneous upgrades
10/10/2015:
[151010]simple-CM
  • Introduce NEW VERSION (simple-CM) details here.
  • UBER toolchain GCC 4.9.4
  • KCAL control
  • GPU UC/OC
  • KEXEC support
  • Permissive
[151010]decipher
  • merge CM changes
  • tune bricked hotplug to be more aggressive
  • tune some CPU governors
  • VM upgrades
04/10/2015:
[151004]decipher_v7
  • Merge CM changes
  • switch to UBER toolchain GCC 4.9.4
  • Bring back MSM hotplug (should not cause those extremely rare reboots now)
  • many ARM updates
  • Switch to -O3 flag (more optimizations in compilation)
  • implement RWSEM algorithm (experimental, may go away)
  • implement unaligned memory access capability for ARM
  • plus many more updates (check git)
[151004]simple_v6
  • ALL decipher_v7 updates (except MSM hotplug)
30/9/2015:
decipher_simple_v5.1 + decipher_kernel_v6.1
  • bump to Linux kernel v3.4.109
  • entropy tweaks
18/9/2015:
decipher_simple_v5
  • merge CM changes
  • new and improved BFQ IO
  • removed smartmax CPU gov (improved interactive is better)
  • removed SIO + ZEN (no longer necessary)
  • removed Intelliplug 4.0 (bricked hotplug can easily replace it)
  • as simple as it gets
decipher_kernel_v6
  • merged CM changes
  • new and improved BFQ IO
13/9/2015:
decipher_simple_v4
  • completely based on decipher_kernel now (many updates)
  • rebuilt from scratch
7/9/2015:
decipher_kernel_v5.3
  • stability improvements
  • disable simple_GPU (adreno idler is better)
  • disable Intellithermal (default thermal engine is more stable, intellithermal can cause some problems with frequency's)
1/9/2015:
decipher_simple_v3.2 + decipher_kernel_v5.2
23/8/2015:
decipher_simple_v3.1 + decipher_kernel_v5.1

  • merge CM changes (many)
16/8/2015:
decipher_simple_v3
  • switch toolchain to Linaro 5.1 optimized for cortex-a7 CPU
  • replace Intelliactive with newest ZZMoove 1.0 beta8 for SNAPDRAGON (tested)
decipher_kernel_v5
  • switch toolchain to Linaro 5.1 optimized for cortex-a7 CPU
  • add newest ZZMoove 1.0 beta8 for SNAPDRAGON (tested)
10/8/2015:
decipher_simple_v2.1
add KEXEC support
9/8/2015:
decipher_simple_v2
  • enable kernel mode:NEON
  • Headset in high performance
  • audio optimizations
  • ARM Cortex-A7 optimizations
decipher_kernel_v4
7/8/2015:
decipher_simple_v1 initial release
3/8/2015:
Add IntelliActive governor (tested)
Add IntelliDemand governor (tuned+tested)
Remove MSM hotplug (causing random reboots if wrong values were tampered with)
Add IntelliPlug 4.0 by faux123
1/8/2015:
Enable KEXEC support
Tripndroid IO scheduler
Optimized zen IO scheduler for android
Fixed battery draining even in deep sleep (former CM bug)
Merged CM changes
31/7/2015:
initial release v1


FAQ
  • what's the difference in this kernel?
    decipher_kernel will focus mainly on stability, before each update the kernel undergoes heavy testing to ensure the least errors possible, this means that features may come and go if they're potentially unstable.
  • Why no CPU underclocking?
    CPU underclocking tries to save power by reducing the cycles a CPU undergoes in one second (Hz) It's not available in decipher_kernel for one reason: Lower frequencys like 192MHz or 96MHz use the same voltage as 300MHz, so there is no apparent power saving.
  • Why no CPU overclocking?
    Implementing this feature in the source code can (and has) be done, nevertheless REAL overclocking is not possible due to hardware level limitations.
  • Can't flash the kernel? or kernel doesn't apply when flashing?
    Try placing the .zip file in the root of internal storage and flash from there, also rename the zip file to something that includes no special characters or spaces ( example: kernel.zip ), some users have reported this solves this issue. If you're getting an error executing updater binary, just wipe system and flash again. As a last resort, try wiping System partition and reflash ROM.
 
Last edited:

SuperSimian

Senior Member
Aug 22, 2012
807
1,077
Tuning The Settings​

Use kernel adiutor to tune the settings.
Iv'e included a few profiles oriented to: performance, battery, balanced.

Expand to see Profiles
My personal Settings

CPU governor: interactive
muticore power saving: off
CPU boost: off
Input boost: off

CPU hotplug: intelliplug
hysteresis: 8
touch boost: ON
max freq screen off: 787
threshold:350

GPU governor: msm-adreno-tz
max_freq: 533
adreno idler: on (defaults)

IO scheduler: bfq (both)
read_ahead: 512 (Internal)
read_ahead: 2048 (external 32GB class 10)

Virtual memory:
dirty ratio: 20
dirty bacground ratio: 10
dirty expire centicecs :200
dirty writeback centices: 500
min free kbytes: 4096
swappiness: 60
vfs cache pressure: 100
laptopmode: 2
minfree extra kb: 10800
swap: 250

Balanced

CPU governor: zzmoove
profile: zzrelax (11) or yankactive
muticore power saving: off
CPU boost: off
Input boost: off

CPU hotplug: MSM MPdecision (defaults)
or
IntelliPlug: Balanced
hysteresis: 8 - 12

GPU governor: msm-adreno-tz
max_freq: 533
adreno idler: on (defaults)

IO scheduler: bfq (int) & noop (ext)
read_ahead: 128 (Internal)
read_ahead: 2048 (external 32GB)

Virtual memory: defaults

Performance

CPU governor: bioshock
muticore power saving: off
CPU boost: on
touch boost: off

CPU hotplug: MSM MPdecision
idle freq: 384000
or
IntelliPlug performance
hysteresis value: 8

GPU governor: msm_adreno-tz
max_freq: 533
adreno idler: on (defaults)

IO scheduler: bfq (int) & deadline (ext)
read_ahead: 128 (Internal)
read_ahead: 2048 (external 32GB)

Virtual memory: defaults

Battery

CPU governor: zzmoove
profile: ybat (2) or ybatext (3) or zzrelax(11) <-- recommended
muticore power saving: agressive
CPU boost: off
Input boost: off

CPU hotplug: MSM MPdecision
max cores online: 2
or
IntelliPlug: Eco conservative
Hysteresis: 8 - 12

GPU governor: powersave
max_freq: 320

IO scheduler: fiops(internal) noop (external)
read_ahead: 512 (both)

Virtual memory (important settings)
dirty ratio: 80
dirty bacground ratio: 65
dirty expire centicecs :1500
dirty writeback centices: 3500
min free kbytes: 4096
swappiness: 100
vfs cache pressure: 40

These virtual memory settings are not for all users, it depends on how much multitasking you have going on on your phone, if you face some lag in any heavy app like FB just revert these VM changes and stick with the default ones altho they are a little bit more power hungry.

Explanation: dirty ratio is a value in percent that determines the max amount of system memory that can be filled with dirty pages untill they need to be writen to disk, when this limit is reached, system begins writing to disk (this is what may cause sligh lags) the value is high (80) because we don't want to write to disk very often, swappiness also plays an important role here, it is also set to high (100) to make the kernel swap agressively when dirty background ratio (60) is met. Then comes vfs cache pressure and it is set to low (30) this is also a percentage value and controls the tendency of the kernel to reclaim the memory which is used for caching (we don't want this to often). The centicec values are only timers for wrting actions. The min free kbytes value is the minimum memory the kernel will keep free at all times.

Iv'e written this for better understanding, you can visit this link for a more tecnical explanation.
 
Last edited:
V

Vatsal

Guest
How about adding kexec?
Running it with tesla, going good for now :)
 

Aulin86

Member
Nov 9, 2014
38
2
hi, i want try this kernel, but i can't install

i use the Euphoria rom unofficial, i try to install the kernel with twrp, but when i go to check the kernel is the same of Euphoria, don't change, i try to wipe system partition and flash the rom, but nothing

how can i resolve? thx!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 64
    disclaimer
    -- Your warranty is now void.
    *
    * I am not responsible for bricked devices, dead SD cards,
    * thermonuclear war, or you getting fired because the alarm app failed. Please
    * do some research if you have any concerns about features included in this KERNEL
    * before flashing it! YOU are choosing to make these modifications, and if
    * you point the finger at me for messing up your device, I will simply laugh at you.
    */

    I'm not a developer, I'm only contributing to the community with MY custom kernel, hope you enjoy it.
    iOTKtle.png



    decipher_kernel

    Introduction
    Based on stock CM 12.1 kernel and modified for a more IN CONTROL user experience, Kernel includes many features and upgrades not found in stock, Stability is the number one priority. Now, CM13 is supported (it's still the same as CM12 kernel, with new upgrades). Simple-CM kernel will be discontinued (it will remain in OP), decipher kernel is a lot more stable, especially MPB.

    Main features

    Hotplugs:

    • IntelliPlug 4.0
    • Bricked hotplug
    • MSM Hotplug
    • AutoSMP
    Governors:
    • Yankactive
    • Impulse
    • IntelliActive
    • IntelliDemand
    • ZZMoove
    • BioShock
    • + all CM defaults
    IO Schedulers:
    • bfq
    • sio
    • zen
    • tripndroid
    • + all CM defaults
    Other Features
    • Advanced TCP congestions
    • Sound Control
    • Frandom
    • KCAL control
    • Adreno idler
    • Dynamic Fsync toggle
    • Kernel mode: NEON
    • SElinux mode: Permissive
    • KEXEC support
    • Enable headset in high performance
    • Powersuspend modes
    • GPU UC/OC

    Simple-CM

    Introduction
    Ok, so here it is, this is probably the closest to stock CM kernel, I've included only the most essential features, this means no extra CPU governors/IO schedulers/Hotplugs. So it's basically stable CM stock kernel with a few added features to have a little more control. You can see github to view the changes.

    For those who are considered about battery life; this will give you same battery as stock CM and it's ok for two reasons:
    1. Under clocking to save power is useless below 787200.
    Remember when on stock kitkat your default "low" frequency was 787200? well it was for a reason.
    2. Frequency's below 787200 consume the same power as 787200. The same goes for frequency's above 787200, so ideally we would get optimal performance with just using 2 frequencys, 787200 and 1190400..


    Main features

    Hotplugs:

    • mpdecision
    Governors:
    • all CM defaults
    IO Schedulers:
    • all CM defaults
    Other Features
    • UBER toolchain GCC 4.9.4
    • KCAL control
    • GPU UC/OC
    • KEXEC support
    • Permissive


    Install Instructions

    • download latest version of the zip
    • reboot recovery
    • make sure you are on stock CM kernel before flashing for the first time, if not then proceed to wipe system partition and flash CM/AOSP ROM.
    • install ANY VERSION OF DECIPHER kernels
    • if upgrading, proceed to flash normal way.
    • wiping dalvik is not necessary in any case.

    Downloads

    GOOGLE DRIVE


    Thanks To/Credits
    Code:
    * CyanogenMod
    * osm0sis
    * savoca
    * faux123
    * neobuddy89
    * ZaneZam
    * Zakee94
    * Flashhhh
    * arter97
    * Hurtsky
    * mrg666
    * many more

    XDA:DevDB Information
    decipher_kernel, Kernel for the Moto G 2014

    Contributors
    -decipher-
    Source Code: https://github.com/decipher90

    Kernel Special Features: MSM Hotplug, Bricked Hotplug, Awesome Governors, IO schedulers, KCAL control, Neon mode, Sound control.

    Version Information
    Status:
    Stable
    Current Stable Version: [CM13][13.12.16]
    Stable Release Date: 2016-12-13

    Created 2015-07-31
    Last Updated 2017-01-29
    22
    Latest Change-logs

    13.12.16:
    [CM14.1][13.12.16]decipher // MPB
    • merge CM changes
    • Major tweak script changes
    • bioshock lag fix attempt #1

    Older Change-logs

    16.11.16:
    [CM13][CM14.1][16.11.16]decipher // MPB
    • merge CM changes
    • minor installer script changes
    • VM improvements
    06/11/16:
    [CM13][2016-11-06]decipher // MPB
    • merge CM changes
    • minor script changes for MPB
    24/10/16:
    [CM13][031016]decipher // MPB
    • merge CM changes
    03/10/16:
    [CM13][031016]decipher // MPB
    • installer script changes
    • back to msm mpdesicion hotplug as default
    • disable slice idle for BFQ and CFQ (this parameter is meant for rotational storage)
    • silence some logs
    • Linux patch-3.4.100 (skipped a few, LOL)
    • Added Auto SMP hotplug driver to both kernel versions (might be removed from MPB later)
    09/09/16:
    [CM13][240816]decipher // MPB
    • merge CM kernel updates
    • bioshock as default governor
    • Intelliplug as default Hotplugging driver
    • Installer script completely tweaks the kernel for a balanced profile
    24/08/16:
    [CM13][240816]decipher // MPB
    • merge CM changes
    • updated default configuration files as per CM.
    • yankactive is now more battery friendly
    • Installer script sets yankactive as default gov (for now)
    12/08/16:
    [CM13][120816]decipher // MPB
    • merge CM changes
    • New script sets 787200 Hz as the default frequency.
    • Reduced Bricked hotplug start delay + fewer checks + Idle frequency is now 787200
    • tuned Intelliplug hysteresis value for better battery.
    02/08/16:
    [CM13][020816]decipher // MPB
    • merge CM changes
    22/06/16:
    [CM13][220616]decipher // MPB
    • toolchain updated
    • compiled from scratch
    • merge CM changes
    11/06/16:
    [CM13][110616]decipher // MPB
    • merge CM changes
    23/05/16:
    [CM13][230516]decipher // MPB
    • fix low volume issue introduced in last update
    21/05/16:
    [CM13][210516]decipher // MPB
    • merge CM changes
    10/05/16:
    [CM13][100516]decipher // MPB
    • merge CM changes
    30/04/16:
    [CM13][300416]decipher // MPB
    • Update toolchains
    • Update defconfigs
    • merge CM changes
    03/04/16:
    [CM13][030416]decipher // MPB
    • merge CM changes
    26/03/16:
    [CM13][260316]decipher
    • merge CM changes
    20/03/16:
    [CM13][200316]decipher
    • merge CM changes
    • vibrator tweaks
    B]04/03/16: [/B]
    [CM13][040316]decipher
    • UBER TC updates
    14/02/16:
    [CM13][140216]decipher
    • incorporate new drivers for /drivers/staging/prima (wlan and WiFi)
    • merge cm changes
    10/02/16:
    [CM13][100216]decipher
    • updated defconfigs
    • TripNdroid IO is back
    • simple GPU algorithm (off by default)
    • headphone_pa_gain added to sound Control (only tunable with Faux sound APP)
    01/02/16:
    [CM13][010216]decipher
    • updated defconfigs
    • merge latest CM changes
    11/01/16:
    [CM13][110116]decipher
    • completely Rebuilt FROM SCRATCH (again)
    • debloated the kernel
    • update to latest CM sources (7 pages of 35 commits per page of updates)
    29/12/2015:
    [CM13][291215]decipher
    • completely Rebuilt FROM SCRATCH
    • Overhauled the custom defconfigs > applied Google recommended settings..
    • update to latest CM sources
    • tons of futex updates
    • Fix high load average from uninterruptible waits
    • Add current consumption values used by cpufreq_stats
    • VM fixes and updates
    • ARM updates
    • bring back old CPU governors.
    • selinux fixes and updates
    • TONS of enhancements and upgrades
    23/12/2015:
    [CM13][231215]decipher
    • Linux kernel version 3.4.42
    • merge CM13 updates to 22/12/15
    • Wiimote is now supported (thanks CM)
    • Enable CONFIG_UID_CPUTIME
    • The latest doze feature should now be supported (thanks Luk and luca)
    • ARM updates
    • TONS of enhancements and upgrades (not kidding)
    21/12/2015:
    [211215]decipher
    • ARM updates
    • miscellaneous enhancements and upgrades
    30/11/2015:
    [301115]decipher
    • merge CM changes
    • remove KSM (kernel same page merging)
    • miscellaneous enhancements and upgrades
    20/11/2015:
    [201115]decipher
    • Linux version 3.4.110
    • many enhancements to cpu and mach-msm code
    • implement USB fast charge
    • many ARM updates
    • miscellaneous enhancements and upgrades
    12/11/2015:
    [121115]simple-CM
    • merge CM changes
    [121115]decipher
    • merge CM changes
    • ARM updates
    • silent some log
    • VM updates
    • power: Disable IRQ wake-up when disabling the IRQ
    31/10/2015:
    [151031]simple-CM
    • merge CM changes
    [151031]decipher
    • merge CM changes
    • various CPU and GPU improvements
    • disable smartmax/ Intellimm CPU govs
    • disable VR IO scheduler (ZEN is an improved version of VR)
    • Miscellaneous upgrades/fixes
    22/10/2015:
    [151022]simple-CM
    • update install scripts not nuking the new powerhal binary
    [151022]decipher
    • update install scripts not nuking the new powerhal binary
    • bring back headphone_pa_gain
    • disabled advanced TCP congestion except westwood
    • disabled userspace/ondemand/conservative CPU governors
    17/10/2015:
    [151017]simple-CM
    • Miscellaneous upgrades
    [151017]decipher
    • implement BioShock CPU governor
    • tune bricked hotplug once more
    • tune some CPU govs responsiveness (intellidemand/intellimm/zzmoove)
    • set default profile (8) zzperf for zzmoove
    • sound control: remove headphone_pa_gain (was not working)
    • Miscellaneous upgrades
    10/10/2015:
    [151010]simple-CM
    • Introduce NEW VERSION (simple-CM) details here.
    • UBER toolchain GCC 4.9.4
    • KCAL control
    • GPU UC/OC
    • KEXEC support
    • Permissive
    [151010]decipher
    • merge CM changes
    • tune bricked hotplug to be more aggressive
    • tune some CPU governors
    • VM upgrades
    04/10/2015:
    [151004]decipher_v7
    • Merge CM changes
    • switch to UBER toolchain GCC 4.9.4
    • Bring back MSM hotplug (should not cause those extremely rare reboots now)
    • many ARM updates
    • Switch to -O3 flag (more optimizations in compilation)
    • implement RWSEM algorithm (experimental, may go away)
    • implement unaligned memory access capability for ARM
    • plus many more updates (check git)
    [151004]simple_v6
    • ALL decipher_v7 updates (except MSM hotplug)
    30/9/2015:
    decipher_simple_v5.1 + decipher_kernel_v6.1
    • bump to Linux kernel v3.4.109
    • entropy tweaks
    18/9/2015:
    decipher_simple_v5
    • merge CM changes
    • new and improved BFQ IO
    • removed smartmax CPU gov (improved interactive is better)
    • removed SIO + ZEN (no longer necessary)
    • removed Intelliplug 4.0 (bricked hotplug can easily replace it)
    • as simple as it gets
    decipher_kernel_v6
    • merged CM changes
    • new and improved BFQ IO
    13/9/2015:
    decipher_simple_v4
    • completely based on decipher_kernel now (many updates)
    • rebuilt from scratch
    7/9/2015:
    decipher_kernel_v5.3
    • stability improvements
    • disable simple_GPU (adreno idler is better)
    • disable Intellithermal (default thermal engine is more stable, intellithermal can cause some problems with frequency's)
    1/9/2015:
    decipher_simple_v3.2 + decipher_kernel_v5.2
    23/8/2015:
    decipher_simple_v3.1 + decipher_kernel_v5.1

    • merge CM changes (many)
    16/8/2015:
    decipher_simple_v3
    • switch toolchain to Linaro 5.1 optimized for cortex-a7 CPU
    • replace Intelliactive with newest ZZMoove 1.0 beta8 for SNAPDRAGON (tested)
    decipher_kernel_v5
    • switch toolchain to Linaro 5.1 optimized for cortex-a7 CPU
    • add newest ZZMoove 1.0 beta8 for SNAPDRAGON (tested)
    10/8/2015:
    decipher_simple_v2.1
    add KEXEC support
    9/8/2015:
    decipher_simple_v2
    • enable kernel mode:NEON
    • Headset in high performance
    • audio optimizations
    • ARM Cortex-A7 optimizations
    decipher_kernel_v4
    7/8/2015:
    decipher_simple_v1 initial release
    3/8/2015:
    Add IntelliActive governor (tested)
    Add IntelliDemand governor (tuned+tested)
    Remove MSM hotplug (causing random reboots if wrong values were tampered with)
    Add IntelliPlug 4.0 by faux123
    1/8/2015:
    Enable KEXEC support
    Tripndroid IO scheduler
    Optimized zen IO scheduler for android
    Fixed battery draining even in deep sleep (former CM bug)
    Merged CM changes
    31/7/2015:
    initial release v1


    FAQ
    • what's the difference in this kernel?
      decipher_kernel will focus mainly on stability, before each update the kernel undergoes heavy testing to ensure the least errors possible, this means that features may come and go if they're potentially unstable.
    • Why no CPU underclocking?
      CPU underclocking tries to save power by reducing the cycles a CPU undergoes in one second (Hz) It's not available in decipher_kernel for one reason: Lower frequencys like 192MHz or 96MHz use the same voltage as 300MHz, so there is no apparent power saving.
    • Why no CPU overclocking?
      Implementing this feature in the source code can (and has) be done, nevertheless REAL overclocking is not possible due to hardware level limitations.
    • Can't flash the kernel? or kernel doesn't apply when flashing?
      Try placing the .zip file in the root of internal storage and flash from there, also rename the zip file to something that includes no special characters or spaces ( example: kernel.zip ), some users have reported this solves this issue. If you're getting an error executing updater binary, just wipe system and flash again. As a last resort, try wiping System partition and reflash ROM.
    19
    Tuning The Settings​

    Use kernel adiutor to tune the settings.
    Iv'e included a few profiles oriented to: performance, battery, balanced.

    Expand to see Profiles
    My personal Settings

    CPU governor: interactive
    muticore power saving: off
    CPU boost: off
    Input boost: off

    CPU hotplug: intelliplug
    hysteresis: 8
    touch boost: ON
    max freq screen off: 787
    threshold:350

    GPU governor: msm-adreno-tz
    max_freq: 533
    adreno idler: on (defaults)

    IO scheduler: bfq (both)
    read_ahead: 512 (Internal)
    read_ahead: 2048 (external 32GB class 10)

    Virtual memory:
    dirty ratio: 20
    dirty bacground ratio: 10
    dirty expire centicecs :200
    dirty writeback centices: 500
    min free kbytes: 4096
    swappiness: 60
    vfs cache pressure: 100
    laptopmode: 2
    minfree extra kb: 10800
    swap: 250

    Balanced

    CPU governor: zzmoove
    profile: zzrelax (11) or yankactive
    muticore power saving: off
    CPU boost: off
    Input boost: off

    CPU hotplug: MSM MPdecision (defaults)
    or
    IntelliPlug: Balanced
    hysteresis: 8 - 12

    GPU governor: msm-adreno-tz
    max_freq: 533
    adreno idler: on (defaults)

    IO scheduler: bfq (int) & noop (ext)
    read_ahead: 128 (Internal)
    read_ahead: 2048 (external 32GB)

    Virtual memory: defaults

    Performance

    CPU governor: bioshock
    muticore power saving: off
    CPU boost: on
    touch boost: off

    CPU hotplug: MSM MPdecision
    idle freq: 384000
    or
    IntelliPlug performance
    hysteresis value: 8

    GPU governor: msm_adreno-tz
    max_freq: 533
    adreno idler: on (defaults)

    IO scheduler: bfq (int) & deadline (ext)
    read_ahead: 128 (Internal)
    read_ahead: 2048 (external 32GB)

    Virtual memory: defaults

    Battery

    CPU governor: zzmoove
    profile: ybat (2) or ybatext (3) or zzrelax(11) <-- recommended
    muticore power saving: agressive
    CPU boost: off
    Input boost: off

    CPU hotplug: MSM MPdecision
    max cores online: 2
    or
    IntelliPlug: Eco conservative
    Hysteresis: 8 - 12

    GPU governor: powersave
    max_freq: 320

    IO scheduler: fiops(internal) noop (external)
    read_ahead: 512 (both)

    Virtual memory (important settings)
    dirty ratio: 80
    dirty bacground ratio: 65
    dirty expire centicecs :1500
    dirty writeback centices: 3500
    min free kbytes: 4096
    swappiness: 100
    vfs cache pressure: 40

    These virtual memory settings are not for all users, it depends on how much multitasking you have going on on your phone, if you face some lag in any heavy app like FB just revert these VM changes and stick with the default ones altho they are a little bit more power hungry.

    Explanation: dirty ratio is a value in percent that determines the max amount of system memory that can be filled with dirty pages untill they need to be writen to disk, when this limit is reached, system begins writing to disk (this is what may cause sligh lags) the value is high (80) because we don't want to write to disk very often, swappiness also plays an important role here, it is also set to high (100) to make the kernel swap agressively when dirty background ratio (60) is met. Then comes vfs cache pressure and it is set to low (30) this is also a percentage value and controls the tendency of the kernel to reclaim the memory which is used for caching (we don't want this to often). The centicec values are only timers for wrting actions. The min free kbytes value is the minimum memory the kernel will keep free at all times.

    Iv'e written this for better understanding, you can visit this link for a more tecnical explanation.
    18
    UPDATE

    12/11/2015:
    [121115]simple-CM
    • merge CM changes
    [121115]decipher
    • merge CM changes
    • ARM updates
    • silent some logs
    • VM updates
    • power: Disable IRQ wake-up when disabling the IRQ
    15
    UPDATE

    20/11/2015:
    [201115]decipher
    • Linux version 3.4.110
    • many enhancements to cpu and mach-msm code
    • implement USB fast charge
    • many ARM updates
    • miscellaneous enhancements and upgrades