[X Style (Pure) Android Development] dirtyhank:
Introduction

This is a kernel for XT1572/XT1575 built from stock sources (marshmallow-6.0.0-release branch) with cherry picks from other kernels and some ports/mods done by me. It started as a personal build tailored to my preferences but just thought I'd share in case somebody might find it useful.

My main goal is building the smoothest kernel I can get so performance is top priority

.

This kernel is for stock ROM MPH24.49-18*

Disclaimer

Although I have experience with Linux kernels on desktops and servers this is my first Android kernel. I've been running this kernel on my XT1572 for a few days and seems pretty stable but that doesn't mean it's risk free. In fact I wouldn't dare to install it if you don't have a proper backup and some basic skills to deal with unexpected situations.

Features

Aroma Installer

CPU profile scripts (see this)

Color control (KCAL)

Frandom

Updated to kernel version 3.10.101

Overclocking (a53: 1536MHz a57:2016MHz)

Underclocking (302MHz)

Additional CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley, InteractiveX/Interactive, Impulse, Zzmoove)

Additional I/O schedulers (SIO, FIOPS, Zen, BFQ, SIOPLUS)

Bricked Hotplug

Updated ZRAM driver

Updated Lowmemorykill driver

Basic init.d support

KSM and UKSM

Voltage readings

Fsync on/off

Touchboost on/off

Vibration control

KEXEC Hardboot (MultiROM support)

Patched cdrom code (DriveDroid support)

DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (EXPERIMENTAL)

Power efficient workqueues

Support for additional FS: NTFS, NFS, CIFS

Additional Xpad drivers (read this)

Device as USB trackpad/keyboard driver (read this)

WiFi module optimizations

Many minor optimizations

Optimization flags

UBER Toolchain 4.9

Installation instructions

Download ZIP and flash from TWRP/Flashify. Read the following notes carefully before flashing.

Important notes:

This kernel is still experimental, make a proper backup first

You need to be rooted

DO NOT play with DT2W/S2W before reading the release notes and the update

In case you want to tune some parameters (ie: CPU frecuencies) I recommend you install EX Kernel Manager, Kernel Adiutor or Kernel Adiutor-Mod.

If you're using Kernel Adiutor to control vibration or TCP congestion read this.

Questions? Read the FAQ before posting.

Download

Latest version is v0.14

(see release notes)

https://www.androidfilehost.com/?w=files&flid=49225
​

Donations

Although quite a deal of the important work has been done by the developers mentioned in the Credits section I spend many hours working on this. If you feel like helping me out I'd appreciate some tiny donations to cover some minor expenses.

[IMG="Paypal"]https://www.paypalobjects.com/en_US/i/btn/btn_donate_LG.gif[/IMG]
​

Thanks to all of you who have donated, it's very much appreciated.​

Profiles

One of the FAQ in most kernel related threads is "What are the best settings for .....?". This is the 10 million question since the usage pattern can be very different for each user. However, I understand less experienced users will appreciate some hints in this department, so that's why I'm posting some basic settings you can use as a starting point.

It's your job to further tune them to suit your needs. You should be able to modify these settings with whatever Kernel Control App you like the best, although not all settings are available in every app, in such a case tune those you can. The list is not complete (just the most importante settings) and is loosely based on Kernel Adiutor arrangement.

Please, keep in mind these are subjective values (based of personal preferences or popularity) and some people might like other settings for whatever reasons.

Performance Profile: Very smooth and responsive but average battery life

CPU

LITTLE Cluster

CPU Governor: bluactive

CPU Max Frequency: 1536MHz

CPU Min Frequency: 302MHz​

BIG Cluster

CPU Governor: bluactive

CPU Max Frequency: 2016MHz

CPU Min Frequency: 302MHz

NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​

CPU Boost

Input Boost Frequency Core 1: 960MHz​

Hotplug

MSM MPDecision

Minimum CPU online: 2

Maximum CPU online: 6

Max Cores Screen Off: 2

Idle Frequency: 384MHz
​

Thermal

Core Control: Off

VDD Restriction: Off

Temperature Throttle: On
​

GPU

Max Frequency: 600MHz

Min Frequency: 180MHz

Govenor: cpufreq
​

I/O

Scheduler: noop

Read-ahead: 1024KB
​

Balanced Profile: Above average battery life with good performance on most situations

CPU

LITTLE Cluster

CPU Governor: interactive

CPU Max Frequency: 1440MHz

CPU Min Frequency: 302MHz​

BIG Cluster

CPU Governor: interactive

CPU Max Frequency: 1632MHz

CPU Min Frequency: 302MHz

NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​

CPU Boost

Input Boost Frequency Core 1: 960MHz​

Hotplug

MSM MPDecision

Minimum CPU online: 2

Maximum CPU online: 5

Max Cores Screen Off: 2

Idle Frequency: 768MHz
​

Thermal

Core Control: Off

VDD Restriction: Off

Temperature Throttle: On
​

GPU

Max Frequency: 600MHz

Min Frequency: 180MHz

Govenor: msm-adreno-tz
​

I/O

Scheduler: noop

Read-ahead: 1024KB
​

Battery Profile: Good battery life at the expense of somewhat limited performance

CPU

LITTLE Cluster

CPU Governor: ondemand

CPU Max Frequency: 1440MHz

CPU Min Frequency: 302MHz​

BIG Cluster

CPU Governor: ondemand

CPU Max Frequency: 1632MHz

CPU Min Frequency: 302MHz

NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​

CPU Boost

Input Boost Frequency Core 1: 960MHz​

Hotplug

MSM MPDecision

Minimum CPU online: 1

Maximum CPU online: 3

Max Cores Screen Off: 2

Idle Frequency: 960MHz
​

Thermal

Core Control: Off

VDD Restriction: Off

Temperature Throttle: On
​

GPU

Max Frequency: 450MHz

Min Frequency: 180MHz

Govenor: simple_ondemand
​

I/O

Scheduler: noop

Read-ahead: 1024KB
​

Thanks To/Credits

vadimtk

flar2

franciscofranco

nimrodsv

anarkia1976

savoca

myfluxi

AudioGod

osm0sis

nychitman1

jollaman999

imoseyon

showp1984

HashBang173

neobuddy89

rehpyc

Alcolawl

soniCron

Spasticdroid

XDA:DevDB Information

Frankenclark, Kernel for the Moto X Style (Pure)

Contributors

dirtyhank

Source Code: https://github.com/dirty-hank/frankenclark/

Kernel Special Features:

Version Information

Status: Beta

Current Beta Version: 0.14

Created 2016-01-10

Last Updated 2016-10-11