[Moto G Android Development] BryanByteZ:
READ ALL BEFORE ANYTHING!

ATTENTION

/*
I'm not (yet) a developer , I'm taking effort to put more choices of kernel for our great community.
This kernel is tweaked for best balance possible, if you want a feature quote me and i will see what i can do,
I will build this kernel when possible on my free time and because of it is a nightly and I will use this thread as a worklog too.
Thank you for using this kernel.
*/

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 laugh at you.
*/

Adapt, improve and evolve!​

Info:

Guys I created this kernel to Moto G 2013 (Falcon/Peregrine) and Moto G 2014 (Titan/Thea) in other words MSM8226 Motorola SoC baseds to learn, adapt some "unstable and unsafe" things as well to give a new life to my device, the plan is to support all Android versions avaliable for our device, I plan to do a better kernel with time and help of the comunity. This kernel is a nightly I will do it when I have a freetime or LineageOS update their sources or I add new features, it aims to be a rich feature kernel and a "perfection balance" between battery life and performance, this can be a UNSTABLE kernel, my routine will be build,upload and test, so stay tuned! I am open to suggestions. This is a kernel that don't work out-of-the-box the objetive of this kernel is give power to the user.

This kernel DO NOT WORK WITH STOCK MOTOROLA/GOOGLE PLAY EDITION ROM or IDCRISIS or AOSPARADOX.

On post 1:

#1 - Features and installation instructions

#2 - Downloads and kernel Source

#3 - Buglist and to do's

On post 2:

#1 - Changelog

​

Features (By now and latest one):

Based on 3.4.113 LTS Linux kernel and latest LOS/AOSP/CM/Motorola sources

Kexec hardboot patch (MultiROM support)

Governors: Interactive,Ondemand,Performance,Userspace,Conservative,Powersave

Hotplugs: AutoSMP and Alucard Hotplug

Overclocks and Underclocks (Attention this can be dangerous to your device! you have been warned!):

Overclocked CPU (up to 1.6Ghz),Overclocked GPU (up to 600Mhz) Overclocked RAM and Overclocked Slimbus for better audio

Intellithermal v2 to protect our device from heating

Sound: High performance Headset,Low latency playback Support,24 bits Playback Support,Enabled additional Moto G Exclusive Audio Channels TPA-a6165a2

Screen: DT2W and S2W/S2S, KCAL

GPU:Simple GPU Algorithm and AdrenoIdler

Misc: Init.d support, Fsync on/off, ARCH_Power, Gentle Fair Sleepers, Toggle for some wakelocks, Stereo Call Recording Support, Reclaim RAM from loggers, Powersuspend, State Notifier .

For full features list check my github.

Compiled with Arch Linux up-to-date and UBER Toolchain 4.9 and optimize flags[/COLOR]

Bootlogos

PREVIEWS ONLY CHECK DOWNLOADS SECTION FOR LINKS

Created by me and the others two by @Mattwmaster58:

Silver

Blue

Red

Downloads

(Folder on AFH) (Please DO NOT MIRROR, if one is down just post in the thread or pm me and i will repair!):

Cyanogenmod/AOSP for Falcon:

CM14.1 (UNIFIED WITH CM13 BY NOW) - CM14.1

CM12.1 - CM12.1

CM11 - NOT YET

Cyanogenmod/AOSP for Peregrine:

CM14.1 (UNIFIED WITH CM13 BY NOW) - CM14.1

CM12.1 - CM12.1

CM11 - NOT YET

Cyanogenmod/AOSP for Titan/Thean (Same defconfig):

CM14.1 (UNIFIED WITH CM13 BY NOW) - CM14.1

CM12.1 - CM12.1

CM11 - NOT YET

NOTE:ALWAYS CHECK LAST PAGES TO SEE WHAT IS GOING ON!!!

LSpeed Profiles (OLD! LSpeed envolved too fast!) - Balance

Bootlogos: ZER0 Byte Bootlogo

Old releases of ZER0 and ZER0 Byte (Reborn) Kernel : AFH

Mirror: Github mirror and how to download

​

How to install

If you're on other kernel please at least DIRTY FLASH you ROM, thanks.

The kernel:

By recovery:

Using TWRP (Please use the latest one)

1. Put the zip at /sdcard > Reboot to recovery > Install > Chose the kernel zip > Confirm to flash > (optional) Wipe caches > Reboot.

or

By app:

2. Flash it using Flashify or similar app from Playstore.

The kernel scripts backup your current boot.img so if you want to restore just use Flashify or TWRP.

The Bootlogo:

Using TWRP (Please use the latest one)

1. Reboot to recovery > Install > Chose the bootlogo zip > Confirm to flash > Reboot and enjoy.

2. Flash it using Flashify or similar app from Playstore.

3. Extract the zip and on mfastboot (or just fastboot) enter this command: fastboot flash logo logo.bin

Recommendations/Tweaking

Gov Tuner a mod to tune govs based on profiles for better battery life, better performance, or a balance., I have added a lot of sound patchs but A.R.I.S.E. will blow your mind! so if you want a better sound on your Moto G I suggest you A.R.I.S.E the best one in my opinion or just Viper+Dolby. And the best of the best tweaks app LSpeed just download and select a profile from main screen and fell it! or tune it by yourself!

To tweak use Kernel Adiutor from Playstore (or XDA Link), the Kernel Adiutor-Mod (fork with more experimental features) at XDA or Synapse You will need this zip and download Synapse app from Playstore.

Info about tweaking kernel The best guide to it!

Better RAM management for FALCON/PEREGRINE/TITAN/THEA thanks to @Pupet_Master

-Download "Kernel Auditor" from the "Play Store" and open it

-Once inside, Swipe from left to right to show the side menu.

-Tap on "Low Memory Killer"

-Change to these custom settings:

Foreground Applications: 29mb
Visible applications: 61mb
Secondary Server: 157mb
Hidden Applications 227mb
Content Providers: 87mb
Empty Applications 191mb

-Swipe from left to right again and tap at the option "Virtual Memory"

-Change those settings from there:

dirty_ratio: 20
dirty_background_ratio: 5
dirty_expire_centisecs: 100
dirty_writeback_centisecs: 300
min_free_kbytes: 4096
oom_kill_allocating_task: 1
overcommit_ratio: 100
swappiness: 100
vsf_cache_pressure: 53
laptop_mode: 0
extra_free_kbytes: 24576
Z-RAM Disksize: 470mb

-Swipe from left to right again and tap at the "Profile" section

-Click at the "+" button and save the current settings on a new profile

-Holdon the new profile and choose the option "apply on boot"[/QUOTE]

This kernel does not ships with a default config, so here it is how to config (an example) a profile for battery/balance/performance:

Battery

On CPU
CPU Gov - Interactive
Max freq. - 1190Mhz or 1094Mhz
Multicore power save - Aggressive
Alucard Hotplug - ON
On GPU
GPU max freq. - 450Mhz or 320Mhz (if dont play use 320Mhz)
GPU Gov - simple_ondemand or msm_adreno_tz with tweaked adreno idler
On I/O Scheduler
Scheduler - ROW or SIO

-

Balance

On CPU
CPU Gov - Interactive
Max freq. - 1190Mhz
Multicore power save - Enabled
AutoSMP - ON
On GPU
GPU max freq. - 450Mhz
GPU Gov - msm-adreno-tz
On I/O Scheduler
Scheduler - ROW or ZEN

-

Performance

On CPU
CPU Gov - Interactive
Max freq. - 1593Mhz
Multicore power save - Disabled
AutoSMP - ON
On GPU
GPU max freq. - 600Mhz
GPU Gov - msm-adreno-tz
On I/O Scheduler
Scheduler - ZEN

Note about some features

Display types WORKING with DT2W/S2S/S2W:

mdss_dsi_mot_inx_720p_video_v0 (TITAN/THEA)

mdss_dsi_mot_cmi_720p_video_v2 (FALCON/PEREGRINE)

Display types NOT WORKING with DT2W/S2S/S2W:

mdss_dsi_mot_jdi_720p_video_v1 (TITAN/THEA)

mdss_dsi_mot_jdi_720p_video_v0 (TITAN/THEA)

mdss_dsi_mot_lgd_720p_video_v0 (FALCON/PEREGRINE)

If you don't have a working DT2W/S2S/S2W or don't like it you can disable it and/or use AcDisplay app or Anbient Display of your ROM instead.

To check which display type you have by going into terminal and type:

su

cat /proc/cmdline

Bugs

None by now, if you encounter one please make a post in this thread with steps to reproduce and if possible a LOGCAT and DMESG. A simple how to help me debug.

To do

Undervolt and Userspace Voltage Controller

OC of 1.8Ghz

More Hotplugs

More Govs

More I/O's (SIOplus,FIFO)

Added all features to all variants

Vibrator Intensity Control

Ram Underclock

Sched & Mutex Tweaks

Stock and GPE variants

WQ_POWER_EFFICIENT

LZO Compression image (Fast boot)

DOLBY_DAP dependency fix

Frandom

Filesystems support:

NTFS Support / EXT 2/3/4 support / F2FS (Most roms only support it at /data)

Optimized ARM RWSEM algorithm

Silence some logs

NEON in kernel mode

Misc Crypt tweaks

LMK tweaks and adaptive

More Security Patchs

Yankactive (Cause reboot at the moment),Yankdemand,Smartmax,Lionhert,Impulse,DanceDance,Bioshock

I/O's: ROW,NOOP,Deadline,CFQ,FIOPS,BFQ,SIO,VR,ZEN

All avaliable TCPs congestions on Android

How to git and build

Setting up and building

Basics of GIT

- How to build my kernel:

export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=/path/to/toolchain/bin/arm-eabi-
make mrproper (cleans config files)
make clean (cleans already builded files)
make falcon_defconfig (or you device_defconfig)
make menuconfig (if you want to tweak the config)
make (I use this too -o2 -j4 CONFIG_DEBUG_SECTION_MISMATCH=y CONFIG_NO_ERROR_ON_MISMATCH=y)

How to cherry pick commits

Basically to cherry pick a commit you have to have it source and branch, this is a simple how to do it

First of all you need to set your upstream since it is a fork of CM/LOS or STOCK source:

git remote add upstream linkingithub.git

For example

git remote add upstream https://github.com/CyanogenMod/android_kernel_motorola_msm8226.git

so if you want to cherry pick a commit from me

git remote add bryanbytez mysourcelink.git

and after that you need to have my source locally but stay calm this wont mess you source

git fetch -all

To merge upstream changes (From CM/LOS or Motorola)

git merge upstream/cm-13.0

This will merge upstream cm branch cm-13.0 in your source code.

Misc help:

http://xdaforums.com/showthread.php?t=2319018 (about boot.img, ramdisk and others)

https://stackoverflow.com/questions/2816715/branch-from-a-previous-commit-using-git (Unlike me you can just revert or create another branch based on the commit and not delete the whole source code :p)

https://stackoverflow.com/questions/4410091/github-import-upstream-branch-into-fork (Import a upstream branch on your fork)

And to revert a git: git revert sha1, example git revert eab5c8fef098548f0f00085196bbf40f41bf8ba1

​

Source/Credits

If you want to post this on your site or other forum it's okay just post a link to this thread too and the correct credits and if you can, pm me with link so i can see it too, thanks.

The GNU General Public License is a free, copyleft license for software and other kinds of works.

The GPL permits use, share, study and modify.

But this does not mean you should not give the deserved credit to the previous author.

So if you use my source code under GPL you must share with GPL too and quote me in the credits.

CM/LOS/AOSP Based Source

Stock/GPE Based Source

Thanks to:

GOD

The Real Dev's:

Motorola/Lenovo

LineageOS/CyanogenMod/AOSP/CAF Teams

A special thank you to [MENTION=5736790]Kamin4ri[/MENTION] to be answering questions from a noob :p

[MENTION=4723408]hurtsky[/MENTION] @pinkflozd @zakee94 @TeamMex (not a team :P) @RenderBroken @alin.p @Flashhhh @Shivam Kuchhal @RolanDroid @attack11 @DC07 @frap129 @-decipher- @bedalus @MetalPhoenix45 @srisurya95 @para94 @chijure @Aayushya @neonkat and @faux123 for inspiration and commits (i guess that everyone that i pick a single commit is here... since i don't know yet to pick commits (picking commits automatically add the credits) a big thanks to all !)

[MENTION=5284595]kwoktopus[/MENTION], for the tutorial how to build

And you the user!

If I forget someone please contact me and I will add here! [/FONT]​

XDA:DevDB Information

[Kernel][GPL][K-N][Falcon][UBER TC]ZER0 Byte Kernel[Nightlys][CM/AOSP], Kernel for the Moto G

Contributors

BryanByteZ

Source Code: https://github.com/BryanByteZero/android_kernel_motorola_msm8226

Kernel Special Features: OC/UC/DT2W/S2W/S2S/Sound Patchs and a lot more, check it!

Version Information

Status: Nightly

Current Stable Version: R3

Stable Release Date: 2017-02-22

Current Beta Version: R4

Beta Release Date: 2017-04-29

Created 2016-08-01

Last Updated 2017-05-01