[Galaxy S 4 i9506 Android Development] kitakami:
What is this?

This is a custom kernel that you can use with Marshmallow based TouchWiz Rom.

What device does it support?

SHV-E330S, SHV-E330K, GT-I9506

This is tested with SHV-E330S, and working at SHV-E330S/K with marshmallow touchwiz rom.

I'm using this kernel with NXTeam's Magma Rom.

Update// It works fine with GT-I9506 with marshmallow Touchwiz ROM

What's the feature?

This Kernel is based on gugu0das's Custom Kernel.

I'll introduce you some features.

Add Some CPU Governers like Intelliactive, Arteractive..etc).

Rework Adreno Idler made by @arter97

Compiled with Linaro Toolchain

Upstream to Linux 3.4.113

Support BFQ,SIO,FIOPS,ROW...etc)

Support F2FS

Support to Quick WakeUP Driver. (From Motorola)

Support to Asynchronous Fsync Driver. (From HTC)

Support to Fast Pseudo-Random Generator. (FRandom)

Support to init.d

Support to Power Suspend Driver

Support KSM&UKSM

Support Fast Charge when USB connects.(Not AC Charging)

Support Bricked Hotplug

Backport Random Driver @arter97)

Use VNSWAP

Extra.. Please look Changelog!

What's the ChangeLog?

Release 1

I revert adreno-idler that gugu0das added and rework.

Release 2

Support KSM&UKSM

Optimize entering HS400 mode

Optimize Kernel

Release 3

Add Yankactive

Optimization

Add MSM Limiter

Release 4

Improve memory usage.

Optimize CFQ I/O Scheduler & Kernel.

Set ROW as default I/O Scheduler

Improve performance. PCMark Work 2.0 score is 3288, 3.14% better than Galaxy S5, also about 1% better than Galaxy S5(Snapdragon 805)

Release 5

Fix Memory Leak with MSM(Thanks to @lsswizard)

Enable Fast Charging when Phone is Charged by USB, not AC.(You can turn on at Kernel Adiutor)

Add Google's Snappy Compresion

Add Smarter Wake-affine logic by @googynas

Release 6

Merge with latest @gugu0das kernel

Add Bricked Hotplug

Fix some bugs at Release 5

Update Powersuspand driver to 1.7.1

Release7

Disable IntelliPlug because of using Bricked Hotplug as default.

Merge with gugu0das kernel beta 2017.02.12

Merge some commits from kyasu's LOS 14.1 commit.

Release 7.1(Minor fix)

Fix Thermal Monitor is off at defconfig

Fix DMB is not working with SHV-E330S/K

Fix Vibration Feedback code miss

Set Hybrid as default Powersuspend Mode

Release 7.2

Improve Performance

Merge with gugu0das kernel Release 1

Disable ZRAM & Use VNSWAP (Thanks to @arter97)

VNSwap is new technology that replace ZRAM.

It tries compress Memory 50%, which means you can use your Galaxy S4 LTE-A

as 4GB RAM. If you want to check Vnswap is working, type cat /proc/swaps at terminal.

Release 8.0

Fix Conflict between MPDecision & Bricked_Hotplug by deleting MPDecision

Backport Random Driver from Linux 4.0 (Thanks to arter97)

Improve CFQ Scheduler

Remove SysV IPC from kernel

Release 8.1

A little bit of Optimization.

(Not a necessary update)

Release 8.2

Merge with gugu0das kernel 0308 beta except S4 Driver

Release 8.3

Merge with gugu0das kernel 0318

Thanks to @gugu0das, fix delay after using Camera, backlight

Improve multitasking(Thanks to @gugu0das)

Release 8.4

Merge with gugu0das kernel 0324

Optimized Kernel Source.

Revert I9506XXUDOJ2 Drivers.

* sensor and char drivers reverted.

Maximum charge current to 1800mAh

Release 8.5

Merge with gugu0das kernel Release-2

Changelog from gugu0das blog:

'Optimized Kernel Source

* For details, Refer to the github Kernel commits.

Revert I9506XXUDOJ2 Drivers.

* GUD and GPU drivers reverted.'

Release 10.0

It may not be stable

Port chacha20 &poly1035 from Linux 4.8(Thanks to @arter97 )

Release 10.1

Optimize Kernel (SHA-256, SHA-512, AES etc..)

If you are using Release 10.0, I recommend to update to Release 10.1

Release 10.2

Micro-Optimize Kernel

Release 11

Change default Bricked_Hotplug Setting (Max CPU when Screen off : 1→2)

Merge some commits from kyasu's Lineage OS 14.1 Kernel

Release 11.1

Fix bug at 11.0(Phone becomes slow)

Revert Sdcardfs to samsung stock

Revert Net driver to I9506(Thanks to @gugu0das)

Revert some other drivers to I9506 (Thanks to @gugu0das)

Release 11.2

Rework with F2FS & Fix 'set dentry bits on random location in memory'

Backport posix_acl: Clear SGID bit when setting file permissions

Optimize Kernel

Release 12.0

Merge with gugu0das kernel Release 3

(A lot of commits are uploaded).

Build with Linaro 6.3.1 Toolchain

Release 12.1

Merge with @gugu0das kernel Release 3.1

Update default sets.

Merge Lowmemorykiller with caf/LA.BF.1.1.1_rb1.26

Backport ZCache from QCKernel 3.18

f2fs: posix_acl: Clear SGID bit when setting file permissions

Release 12.2

Revert Merge Lowmemorykiller with caf/LA.BF.1.1.1_rb1.26

drivers,mm : Sync LMK with arter97/android_kernel_samsung_exynos7420 (Exclude adoptive LMK, nul parameter excluded, Motorola's RBTREE excluded)

Tweak Lowmemorykiller

Update Yankactive governor

12.2.1

Fix External SD card doesn't work.

Merge with gugu0das release 4.

Release 12.4

Fix some security Problem with Kernel.

Set WQ_PowerEfficiency on to make battery goes more longer.

Release 12.4-GPU_OC

Overclocked Adreno 330 GPU to 600mHz.

Its testing version. I'm testing with Resurrection_Remix Rom right now.

GPU Clock steps become 200mHz/320mHz/450mHz/487mHz/533mHz/600mHz

At Release 13.0, GPU Step will be 100mHz~578mHz.

GFX Bench mark score is almost same as SD801, 3.4% improved when comparing to Non-GPU-OC I9506 (TRex-OpenGL ES 2.0)

Release 13.0

GPU OC/CPU OC is not working. (3lambda and I am thinking that it is caused by DVFS, as we share our idea by PM.)

L2 Cache bump.

Release 13.0N(NougatROM-device source code based on Gugu0das which is included at my RR Build)

CPU Overclocked to 2.46Ghz(Same as GS5(MSM8974AC)).

GPU Freq step is changed to 100/200/320/450/487/533/578mhz.

Release 13.0N is included at RR_ROM 20170701 which will be uploaded as soon as possible.

Release 14.0

Change Kernel's name from Krait Kernel to Lightning Kernel

Add RAM-Console

Optimize Kernel

Built with Linaro 7.1.1

Release 16.0

Fix Some Kernel Security Bug.

Backport some F2FS Source code.

Fully Merged with Gugu0das-Release 5, Which means: Call delay fixed&Fix Game Frame drop.

Import some commits from Lineage OS Galaxy S5 Kernel Source.

Fully using Adaptive LMK

Improve Virtual Memory

Fix net bcmhd driver's security problem.

Enable QCOM Crypto Engine Device (Beta)

Release 16.1

Change some default sets with Virtual Memory

for example, swappiness changed 130 to 40, dirty_ratio changed 50 to 40.

Disable Adaptive LMK default because it makes multi tasking performance even worse

for example, LMKcount was 230 when disabling Adaptive LMK while internet surfing for 4hours,

LMKCount was 410 when enabling Adaptive LMK while internet surfing for 4 hours.

Also, improve Virtual memory performance by using VM Tweaks.

Release 16.2

Fix your phone become laggy by reverting Virtual Memory tweaks.

Built with Linaro 7.1.1-201708 Toolchain

If you are using 16.1, you must update it!

Release 16.3

Merge with Lineage OS klte kernel's latest commits.

Delete gud driver

Import NFC&Bluetooth associated commit from Klte.

cdev: Check the digest length during the SHA operations

cpu: fix section mismatch warnings with __hotcpu_register

etc..)

If you want to see more detailed changelog, please watch my bitbucket.

What's the default status of kernel, and How can I tweak?

You can tweak with Kernel Adiutor application.

Default Status of Kernel is

CPU Governer: Interactive

GPU Governer:msm-adreno-tz & adreno-idler on

CPU Hotplug: Bricked Hotplug

I/O Scheduler:ROW

TCP:Westwood

VNSWAP: ON

Powersuspend: HYBRID

How can I install?

Download kernel.

Flash Kernel and reboot.

*If you are using Magisk, follow this instruction.

Flash magisk uninstaller→install kernel→flash magisk

Warning

When you boot your phone, it may take a while at boot logo. Please wait and take some coffee until it boots!

Announcement

Unfortunately, I failed to OverClock with my Kernel Source at Touchwiz ROM like Magma ROM.

I tried to install Gugu0das Release 5-OC, but my phone doesn't pass bootlogo and it loops at bootlogo.

I'll try to find way how to Overclock at Touchwiz Marshmallow ROM.

I'm so sorry to announce my failure with Touchwiz Marhsmallow Rom.

I'm especially sorry to my kernel's fan that my working speed will be slower.

I'm preparing Korean SAT to go to College of Medicine, so I can't work as fast as before because Korean SAT is at Nov.16, and it's D-92.

I'll do my best with both Kernel, and Korean SAT.

Download

Release 1

Release 2

Release 3

Release 4

Release 5 has some bug. Fixing rightnow. I'll upload as soon as I fix bug.

Release 6

Release 7

Release 7.1

Release 7.2

Release 8.0

Release 8.1

Release 8.2

Release 8.3

Release 8.4

Release 8.5

Release 10.0

Release 10.1

Release 10.2

Release 11.0

Release 11.1

Release 11.2

Release 12.0

Release 12.2

Release 12.2.1

Release 12.4

Release 12.4-GPU-OC

Release 13.0

Release 14.0

Release 16.0

Release 16.1

Release 16.2

Release 16.3

Source https://bitbucket.org/Kitakami/android_kernel_samsung_msm8974

Credit

Thanks to

@gugu0das

@arter97

@dorimanx

@lsswizard

@googynas

@SerenityS

All Developers in my bitbucket
​