[Galaxy S6 / S6 Edge Unified Development] arter97:
/* Changelog */

22.0 - EOL

Support for future firmwares are not guaranteed!

Fixed support for systemless SuperSU

Latest G920FXXU4DPGW sources merged

Linux 4.8 random drivers merged(12 times faster)

- Please remove Seeder if installed as it's completely unnecessary

TWRP rebuilt with latest f2fs-tools v1.7.0

I/O scheduler optimization for UFS(nr_requests)

Added support for Note 7(Grace UI) ROMs

- Please download the right kernel; it's in another directory

- Incomplete support. Few features might be broken as Samsung have not released the sources.

21.1 - EOL

Support for future firmwares are not guaranteed!

Added support for systemless SuperSU

ADB daemon replaced to stock ones

ADB switched to secure mode

TWRP rebuilt with stock adbd for better compatibility

Galaxy S6 flat - LDU correction disabled

21.0

Memory managements sources related to compression merged with Galaxy S7

Swappiness set to 190 for Galaxy S6

Reverted HMP scheduler commits that causes random kernel panic

Enabled HW accelerated SHA2, GHASH, AES_CCM, AES_NEON_BLK

Reverted cpuidle commits to improve performance

Recovery rebuilt to fix adb sideload, f2fs conversion

Fixed Synapse error for Galaxy Note 5, S6 edge Plus

Support added for Xbox game controller

20.0

Major memory leak fixed

Implemented new feature that moves background applications to LITTLE cores automatically to save power

- Default is set to move unimportant apps to 1 LITTLE core(cpu0)

- You can use Synapse to make it more aggressive - move all background apps(including apps like music player) to LITTLE cores(cpu0~3)

Applied upstream f2fs bug fixes

Revamped CPU governor to fix misc issues due to improper merges

ren_max_freq renamed to scaling_max_freq to fix apps like Kernel Aduitor

DVFS auto resetter implemented to workaround ROM's DVFS race-condition resulting in 1200 MHz clock stuck

Removed dynamic fsync for better reliability and memory efficiency

Re-applied previous Mali GPU commits (by AndreiLux)

- Fixes voltage control

- Adjusts throttling threshold

Merged latest memory management behaviors from Nexus 6P Android N and Galaxy S6 stock ROM

Latest Samsung kernel sources merged

Re-introduced sound-control by AndreiLux as a separate release for Galaxy S6

- You may encounter in-call audio issues with this

- Install the regular version if you don't need this

SysV IPC removed

LOAD_FREQ adjustment hack removed

Kernel tick clock changed from 100 Hz to 300 Hz for better performance

Memory management commits from Nexus 6P Android N merged

Few commits and hacks attempted to reduce resume time

Stand-by ARP and multicast packet filters enabled on Wi-Fi drivers (by AndreiLux)

Built with Linaro GCC 6.1

Binder replaced with CodeAurora sources used with Snapdragon 810

ADB updated

Support added for SM-G920T/W8

Support added for SM-G925T/W8

Support added for SM-N920C/I/G/S/K/L/T/W8

Support added for SM-G928F/C/I/G/S/K/L/T/W8

13.1

Updated to Linux 3.10.101

f2fs updated to Linux 4.7 merge window

Music studderings while screen-off fixed

DriveDroid support added

Synapse fixed

Few memory optimizations

TWRP recovery updated to 3.0.2-0

13.0

Updated to Linux 3.10.100

f2fs updated to Linux 4.6 merge window

Removed improper OOM operations resulting in lags

Merged some optimizations from Liquorix kernel

vnswap updated to Galaxy S7 kernel

Few arm64 optimizations added from upstream Linux kernel

Re-merged HMP scheduler updates from Linaro LSK kernel

Fixed OTG and MTP on TWRP recovery

12.0

Updated to Linux 3.10.98

Support for Android 6.0 added

Support for Android 5.1 dropped

- You will encounter boot issues if you're not properly on Marshmallow firmware

Switched to TWRP recovery

- Make sure to use SuperSU v2.68+ if you want to root your device

Switched to Linaro toolchain 5.3 with GNU linker 2.26

f2fs updated to Linux 4.5 merge window

Adaptive LMK disabled by default

SLUB memory allocator performance improved

Insecure ADB from Android N merged

- Make sure to disable USB debugging if you don't use that feature

zswap, zsmalloc(used with vnswap) merged from latest upstream Linux

Memory managements tweaked

interactive CPU governor tweaked for better responsiveness

Note 5 - used GPU configurations from the S6

11.0

Updated to Linux 3.10.94

Latest Note 5, S6 kernel sources merged

Latest ramdisk, dtb.img merged

Slow Wi-Fi turn-on issue fixed with memory tweaks

X (10.0)

https://en.wikipedia.org/wiki/Roman_numerals

Few possible binder errors fixed

Minor compiler optimizations done to binder

New linker used with compilation (hg-binutils 2.25.51.0.4)

10.0-beta2

Samsung framework's automatic application killer(SPCM) re-enabled

Adaptive LMK re-enabled

scaling_max_freq renamed to ren_max_freq

- Please use Synapse to change CPU max frequency

Core limit on screen-off removed

- Careful observation shows there's not much of a difference

Responsiveness and power consumption tweaks made to hotplugging driver

10.0-beta1

Stand-by ARP and multicast packet filters enabled on Wi-Fi drivers

- This may potentially help battery drain on Wi-Fi connected

CPU max frequency override blocked

Samsung framework's automatic application killer(SPCM) disabled

All A53 cores are now allowed to be turned on during screen-off

Few commits reverted to fix screen-on delay

Adaptive LMK disabled to improve multitasking and potentially increase battery life

Fixed an issue with bottom keys unusable when external output is connected

9.4

Updated to Linux 3.10.93

10.0-alpha discontinued after confirming zram's performance is worse than zswap+vnswap

10.0's display color switcher implemented

- Original code from gokhanmoral's Siyah kernel for i9300

- Toggle by quadruply tapping the multitasking button

- This may not work on edge variants

Added option to allow A57 cores to be turned on during screen-off

(Check the OP's reserved post for details)

Possible race-condition during boot fixed

Memory reclaiming function completely removed to fix performance degradation as time goes on

10.0-alpha3

9.3 changes merged

A new display's color switcher implemented

- Original code from gokhanmoral's Siyah kernel for i9300

- Toggle by quadruply tapping the multitasking button

9.3

Switched back to Samsung's CPU governor to fix performance weirdness

CPU governor patched to be more responsiveness

Boot time decreased

10.0-alpha2

9.2 changes merged

CPU frequency boosts on hotplugging to improve responsiveness

9.2

CPU governor downgraded to LA.BR.1.3.2 to improve performance

Kernel panics related to process reclaim fixed

10.0-alpha1

f2fs updated to Linux 4.4 merge window

Process reclaiming code from LG G4 added to LowMemoryKiller

Adaptive LMK disabled for better multitasking

zram and its dependencies updated to the mainline Linux

Replaced zswap+vnswap with zram

Swap size reduced from 1280MB to 1024MB

zram can be potentially faster than zswap with parallelized compression - max_comp_streams

If testing doesn't show improved memory managements, zram will be removed

This kernel is unstable and regular end-user should avoid it.

Try this only if you're brave and back-up before you proceed.

9.1

Kies, Smart-Switch issue fixed

Added proploader for customizing kernel parameters

9.0

Major performance degradation issue fixed

9.0-beta7

DT2W(Knock-On) removed for saving CPU cycles

FAST mode on vnswap disabled to fix random reboots(kernel panic)

CPU governor updated to LA.BF64.1.2.2_rb4.6

9.0-beta5

IRQ, CPU hotplug commits reverted to reduce screen-on delay

Hotplugging reconfigured to drastically reduce screen-on delay

Cortex-A53 errata 843419 fix re-enabled to fix invalid instructions

Possible no-deep-sleep issue fixed

9.0-beta4

"CPU cores boosted on screen-on request" reverted to fix screen-on delay

Exynos 7420 IPA and PMU changes applied to CodeAurora's CPU governor

9.0-beta3

Hotplugging properly disabled during screen-on for saving few CPU cycles

Only 2 A53 cores are allowed to be turned on during screen-off

- This significantly helps saving battery life during screen-off

more than just lowering CPU frequency

CPU cores boosted on screen-on request earlier than stock kernel by hundreds of milliseconds

for reduced screen-on delay

Interactive CPU governor replaced with CodeAurora(Qualcomm)'s one

- This version has many advancements compared to stock version

(Benchmark)

8.1

RCU, IRQ, topology merged with CodeAurora(Qualcomm)

ION: system heap allocation time reduced

Korean Wi-Fi firmware installation removed for S6, S6 edge variants

8.0

Updated to Linux 3.10.92

8.0-alpha2

Hundreds of file-system drivers, memory-management commits ported from CodeAurora(Qualcomm)

This kernel is unstable and regular end-user should avoid it.

Try this only if you're brave and back-up before you proceed.

8.0-alpha1

Scheduler, workqueue, network drivers, power-managements commits backported from mainline Linux and CodeAurora(Qualcomm)

for better performance, responsiveness and power consumption

(Thanks to XileForce)

This kernel is unstable and regular end-user should avoid it.

Try this only if you're brave and back-up before you proceed.

7.2

Bluetooth fixed for S6, S6 edge variants

7.1

Wi-Fi drivers updated for S6, S6 edge variants

Unnecessary blobs removed for S6, S6 edge variants

- Reinstalling ROM is recommended before installing 7.1 kernel

7.0

Updated to Linux 3.10.91

Graphics drivers updated

PhilZ Touch recovery updated

- Fixes USB storage unusable after first eject

- Fixes kernel, recovery, EFS backups

7.0-beta2

SELinux completely disabled

- This should greatly increase available memory, however might decrease stability as Touchwiz Android 5.1 is full of hardcoded SELinux stuffs

Dual-Sim model support dropped due to development inconsistencies

7.0-beta1

LowMemoryKiller minfree, vmpressure adjusted for better multitasking

Latest Note 5, S6 kernel sources merged

Latest ramdisk, dtb.img merged

Input booster issue fixed for S6, S6 edge variants

CONFIG_EXYNOS5_DYNAMIC_CPU_HOTPLUG_SLEEP_PREPARE set to 1 for better stand-by battery life

Support for G9208, G9200, G920FD, N9208, N9200, N920CD added (untested)

- Please read the 'Supported devices' section

- These variants are untested, please report if it's not working as intended

7.0-alpha2

LowMemoryKiller durp fixed

Kernel panic log shortened to prevent truncation

This kernel is unstable and regular end-user should avoid it.

Try this only if you're brave and back-up before you proceed.

7.0-alpha1

LowMemoryKiller replaced with CodeAurora(Qualcomm)'s version

LowMemoryKiller optimizations(via RBTREE) by Motorola merged

Adaptive LMK enabled

LMK values updated from Nexus 6

f2fs and other drivers updated to use new shrinker API

Automatic process-based memory reclaim method added and enabled

"Drop file-system caches on screen-off to reduce screen-on delay" reverted

This kernel is unstable and regular end-user should avoid it.

Try this only if you're brave and back-up before you proceed.

6.0

f2fs updated to Linux 4.3-rc4

ROW I/O Scheduler by Qualcomm added and set as the default

5.1

Updated to Linux 3.10.90

TCP Congestion Control set to westwood

N920G and G928G support added

5.0

Updated to Linux 3.10.88

Major memory managements changes for better responsiveness

- Reverted vfs_cache_pressure back to 100

- Dirty writeback adjusted(reduced)

- dirty_expire_centisecs and user_reserve_kbytes tweaked

- Drop file-system caches on screen-off to reduce screen-on delay

- S6 & S6 edge - LowMemoryKiller values tweaked

- Note 5 & S6 edge Plus - LowMemoryKiller values reverted back to stock

- Replaced FHA with DHA

- swap-on-disk disabled by default(/system/swapfile)

4.3

Power efficient workqueues enabled by default

Few optimizations to storage performance

Added option to revert back to stock memory managements

- This will give you even better responsiveness at the cost of vastly reduced multitasking performance and increased chance of background services malfunctioning

- Install use_stock_memory_managements.zip from the recovery to enable

- Remove /system/bin/lmktweak to disable

- This will only work on 4.3+ versions

- This is not enabled by default

4.2

Sound-control temporarily removed for fixing in-call volume

4.1

Potential performance degradation issue fixed

VPNCLIENT_SECURITY enabled

(Fixes Wi-Fi calling on T-Mobile)

4.0

G920FXXU2COH2 source drop merged (S6/S6 edge only)

- Wi-Fi drivers updated

- Sensor drivers updated

- Touch firmware updated

- Modem drivers updated

- Charger/battery drivers updated

G928F,T,W8 support added

Sound-control by AndreiLux added

Synapse loading fixed

Serious malfunction related to LowMemoryKiller issue fixed

Attempt made to fix T-Mobile Wi-Fi calling (Note 5/S6 edge Plus only, untested)

3.5

Boot issues with G925F, G925I fixed

Source codes related to charging has been reverted back to Galaxy S6 ones

(Should fix charging weirdness)

3.4

Reverted - NVIDIA power saving commits extended by AndreiLux

3.3

Attempted to fix durped 3.0 release #2

Accelerometer error fixed

MP3, AAC(M4A) playback error fixed

N920SKSU1AOH4 kernel sources merged

TCP Congestion Control set to bic

3.1

Attempted to fix durped 3.0 release

NVIDIA power saving commits extended by AndreiLux

3.0

Base changed to G928CXXU1AOGF (Galaxy S6 edge +)

- This introduces all sorts of internal improvements including performance, power consumption and compatibility for ROMs like back-to-n0t3 -

- Installing this will switch your ROM's Graphics drivers to the Note 5 ones! -

NVIDIA's power-efficiency improvement commits merged

Potential installation failure fixed

2.4

io_is_busy enabled for better responsiveness

Disabled unnecessary daemons

Fixed I/O scheduler settings

2.3

Updated to Linux 3.10.87

Revert and set overcommit_memory to 1 (Android default)

Renamed G920F, G925F release for G920I, G925I compatibility clarification

2.2

Added Note 5 firmware support

2.1

Fixed potential freezes and performance bottlenecks at the cost of higher app kills(lmk) in the background

2.0

Updated to Linux 3.10.86

G920I,S,K,L,T,W8 and G925F,I,S,K,L,T,W8 support added

(untested)

Exhaustive, periodic freeze fixed

Memory managements improvements

- overcommit_memory set to 0 (heuristic overcommit handling)

- vnswap size decreased back to stock (1536MB to 1280MB)

- vfs cache pressure set to 10000 for more memory reclaims

f2fs updated to Linux 4.2-rc6

Hotplugging scheduler improved by AndreiLux on screen-off

Erratum fixes removed - Exynos 7420 doesn't suffer from this

General installation durp fixed including TWRP

Ramdisk updated for maximum compatibility

HDCP protection disabled

Experimental Synapse support added

(untested, manual installation required)

1.0

Initial release