[Galaxy Grand Duos i9082 Android Development] neves4:
​

What is it?

DatKernel is a fully customizable Kernel, with lots of new options that our Grand was never supposed to have. Have you ever thought of the perfect balance between battery life and craze performance? Here we go.

I first started compiling in October this year, inspired by @codekidX kernel and decided to build my own Kernel. I struggled some time to learn how to and implement my first functionalities and my first toolchain was Linaro 4.9 from @Christopher83. Since then, I've built hundreds of times with dozens of toolchains and, since everything is pretty much stable and different from other kernels around SGGD development, I had to share with you guys to further improve this kernel.

For me, the biggest problem were related to constant reboots caused by overflow in RAM or by incorrect execution when I started many apps. Couldn't open my maps with bluetooth playing music on my car and *BUM*, rebooted. Also, the performance was a little laggy sometimes, due to lack of upstreamed source. So let's waste no more time:

List of features​

Toolchain and Compiling

Compiled with ArchiDroid's 5.2 toolchain, thanks to @JustArchi for his amazing job. GCC5.2 is very very stable.

Most of the kernel compiled with -O3 flags, but a lot of parts are compiled using -Ofast (goodbye O2 and Os hehe).

Using all the graphite optimizations that were possible to our phone, along with cortex-a9 tweaks.

Kernel Features

Dynamic management of dirty page writebacks, thanks to @faux123

Asynchronous file sync, thanks to @faux123

Dynamic filesync, thanks to @faux123

zram is enabled. It was backported also from @faux123 mako Kernel, and I did some commits to adapt it to 3.0.101, to lz4 support and to Zsmalloc.

Optimized ARM RWSEM / CRC32 algorithms, thanks to @coderdoid

Implemented frandom, thanks to @Ryuninferno

Updated Kernel Freezer and implemented Input Touchboost, thanks to @franciscofranco

Backport LMK RB trees from Motorola, thanks to @faux123

Lots of commits from 3.4.x and 3.12.x which came from CM's repos and @DespairFactor and @myfluxi. Some of them were crucial and obviously 3.0.101 lacked support of it.

Drivers like thermal, staging (LMK, binder, logger, gpio) and others were updated to last on CM-13.0, with some backports.

Ultra KSM implemented and enabled (UKSM)

vmpressure updated to CAF.

Boeffla-sound, thanks to @Andip71

cgroup_timer_slack and also dynamic cgroup_timer_slack management.

Boottime (it's useful for viewing boot time, implemented just because...). Thanks to @k2wl !!

oom_kill.c from @faux123 mako Kernel. This was a little hard to backport, but now I see how big the changes are until 3.4.xx

Zsmalloc which proved to be very useful when replacing Xvmalloc (the latter seems to be depracated).

Check my GitHub for much more awesome stuff...

Governors and I/O Schedulers

Updated and tweaked BFQ, SIO and DEADLINE. Also comes with CFQ, Noop, ROW and Sioplus.

Governors updated to @dorimanx version: ondemand, alucard, darkness, impulse, intelliactive, performance and zzmoove.

Interactive governor was updated according to @myfluxi repo and blu_active is the same used on @eng.stk kernel.

Do you want to see any governor here? Please request and I'll try to implement it!

CPU Hotplug drivers

intelliplug (aka intelli_plug) is implementes and working fine with intelliactive, with default options enabled.

zzmoove also offer lots of hotplugging options which are VERY stable, not a single random reboot or freezing during my usage with it.

Do you want any other CPU HOTPLUG driver? There are lots of options, if you want any of them, request it.

Attention

I'm not experienced as a Android Dev, as you can see most of features here were backported or upstreamed.

You can request features, but don't expect them to be implemented asap, because there are lots of tests to do. Please don't request DT2W and S2W, because they do not work properly on our phones (too much waste of battery for small benefits).

Also, if I have to backport or Upstream anything, be sure that is not as easy as it seems, cause 3.0.101 is pretty outdated nowadays, but we can't go much further than this.

Disclaimer​

If your phone is bricked, exploded, vanished or something like this after installing this kernel, it's not my responsability. I'm sharing with you my personal builds and you're using at your own risk.

Be sure that I'll help you as I can, but this is supposed to be a kernel adapted to my usage and may not work for yours. Follow the instructions correctly and don't forget to hit thanks if you liked the initiative.

DO YOU WANT TO CUSTOMIZE YOUR EXPERIENCE? GO TO POST #2.

DO YOU WANT TO DOWNLOAD IT? GO TO POST #3.

Please, be kind on the comment section. I'll try to help you as much as I can :)

XDA:DevDB Information

DatKernel, Kernel for the Samsung Galaxy Grand Duos i9082

Contributors

neves4

Source Code: http://github.com/Neves4/DatKernel/

Kernel Special Features: This kernel is built with -O3 and -Ofast flags, with an optimized toolchain from GCC5.2. Lots of upstream code, new govs, zram, hotplug and a whole new experience in smoothness.

Version Information

Status: Beta

Current Beta Version: r20

Beta Release Date: 2015-11-27

Created 2015-11-27

Last Updated 2015-12-02