arter97 kernel for Galaxy S6

Search This thread

arter97

Recognized Developer
Oct 14, 2012
3,881
34,635
26
Seoul
arter97.png

arter97 kernel for Galaxy S6 / S6 edge / Note 5 / S6 edge Plus​

/* Details */

Upgraded to the latest Linux 3.10
Latest Linaro LSK kernel fully merged
Based on the latest Galaxy S6 / Note 5 kernel sources
Fading LED by AndreiLux and other Note 4 developers
Proper, full support for f2fs & backported from latest stable Linux
CPU undervolt support with Synapse
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
Sound-control by AndreiLux offered for Galaxy S6
- Download soundcontrol zip file
- Control available at Synapse app
- You may encounter in-call audio issues with this
- Install the regular version if you don't need this

--- Performance & responsiveness improvements ---
UI lags fixed with binder patch
Full unaligned access enabled
Processor scheduler improvements from AndreiLux
Uses LZ4 with zswap
Dynamic fsync from faux123
Networking speed improvements
Random driver backported from mainline Linux
Westwood as default TCP network congestion control
Built with latest Linaro GCC toolchain with latest GNU linker
Entropy hook on storage removed
Default file-system mount option with noatime
ROW I/O scheduler added and set to default
Scheduler, workqueue, network drivers, file-system drivers, commits properly ported from mainline Linux and CodeAurora(Qualcomm)
Interactive CPU governor replaced with CodeAurora(Qualcomm)'s one
Reduced screen-on delay with boosted CPU cores on resume

--- Memory efficiency & management improvements ---
LowMemoryKiller source-code revamped
Various memory tweaks applied
Memory-management commits properly ported from mainline Linux and CodeAurora(Qualcomm)

--- Battery life improvements ---
Intelligently moves apps to LITTLE cores
Power-efficient workqueues from Linaro enabled
Interactive CPU governor patched for better battery life
NVIDIA's power-efficiency improvement commits applied
Power-managements commits properly ported from mainline Linux and CodeAurora(Qualcomm)

And many others... please read the changelog

/* Switch to f2fs */

As mentioned above, this kernel fully supports f2fs.
However, you are completely free to choose not to use f2fs.
You can selectively convert partitions to f2fs using TWRP provided in the downloads.
You should use the provided TWRP at all times after you switched to f2fs.

/* 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. Hard. A lot.

/* Supported devices */

--- Galaxy S6---
SM-G920F
SM-G920I
SM-G920S
SM-G920K
SM-G920L
SM-G920T
SM-G920W8

--- Galaxy S6 edge---
SM-G925F
SM-G925I
SM-G925S
SM-G925K
SM-G925L
SM-G925T
SM-G925W8

--- Galaxy Note 5 ---
SM-N920C
SM-N920I
SM-N920G
SM-N920S
SM-N920K
SM-N920L
SM-N920T
SM-N920W8

--- Galaxy S6 edge Plus ---
SM-G928F
SM-G928C
SM-G928I
SM-G928G
SM-G928S
SM-G928K
SM-G928L
SM-G928T
SM-G928W8

/* Warning */

Redistribution, modifying files used within this project's file or integrating with other projects are prohibited with no exceptions other than my projects.
Making mirrors, re-uploading to another servers are also prohibited with no exceptions.

/* Downloads and links */

I cannot test this kernel with TWRP.
Switching to the provided PhilZ Touch recovery is highly recommended for all users.


arter97.com

/* Thanks to */

AndreiLux
faux123
Linaro
MinL(xens0117)
hsk from Matcl
CodeAurora

/* Contact */

Email : qkrwngud825@gmail.com
Twitter : @arter97_dev

/* Known issues */

None

/* Installation */

1. Put the downloaded kernel on your internal storage
2. Enter ClockworkMod(or PhilZ) recovery
3. Flash kernel

XDA:DevDB Information
arter97 kernel for Galaxy S6, Kernel for the Samsung Galaxy S6

Contributors
arter97, AndreiLux
Source Code: https://bitbucket.org/arter97/android_kernel_samsung_exynos7420

Kernel Special Features:

Version Information
Status: Stable

Created 2015-08-03
Last Updated 2016-06-19
 

arter97

Recognized Developer
Oct 14, 2012
3,881
34,635
26
Seoul
/* 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
 
Last edited:

arter97

Recognized Developer
Oct 14, 2012
3,881
34,635
26
Seoul
/* Customizing kernel */

You can install Synapse from the Play store to control voltage and other frequencies.
To control some core kernel parameters, create /sdcard/arter97 as a directory and do the followings

--- Enable Adaptive LMK ---
Enabling Adaptive LMK will increase responsiveness at the cost of reduced multitasking capabilities and battery life.
Create a text file with 1 letter "0" under /sdcard/arter97 named "adaptive_lmk" and reboot

--- Disable LED fade ---
If you have issues with other 3rd-party LED controlling apps, try disabling it.
Create a text file with 1 letter "0" under /sdcard/arter97 named "fade_led" and reboot
 
Last edited:

arter97

Recognized Developer
Oct 14, 2012
3,881
34,635
26
Seoul
/* To kang or not to kang */

I prefer "open" to all stuffs, explicitly except for my personal kernels.

I've once used to use private Git repository for my kernels and just release the source-codes as a tarball,
which means that other developers who are interested in my kernel's changes would not get the specific changes they want while not violating XDA forum rules or GPL.

That was almost 3 years ago which by then, I was a newbie developer on XDA.
I was afraid other big developers merging all of my changes and I'll get buried down.
However, I've changed my mind and opened up my Git access to everyone after thinking my previous actions did not belongs to XDA's spirit.
That was a big move for myself of re-thinking what should be open.

Later down on the road as I gained more development skills, I've contributed into CyanogenMod and other's custom kernel and ROMs for fixing stuffs, introducing new concepts or improving performance.
During such process, there were quite a lot of occurrences where I was actually the first one to do those things.
For those who're familiar with "temasek ROM", you may know that after I became a contributor, temasek rose even more into the center of other AOSP ROMs' attention, as I was the first to introduce new exciting stuffs such as compiler changes or f2fs. And I quickly gained dozens of followers on my GitHub account.
And eventually, people *kang*ed my changes. Sometimes invalidating my authorship.
It surely is not a right thing to do, but I let it slide as it didn't matter that much. I believed that if my changes are good enough, it'd be better to end up with a larger user base rather than being a **** trying to hunt down every ROM developers who're doing it wrong.


Same story goes to my ROMs.

My real first popular ROM was back-to-n00t, which is a ported ROM from Galaxy S3 LTE to provide stable Touchwiz KitKat experience to the Galaxy S3 3G users.
I opened up everything to GitHub. And I even encouraged that other ROM developers to use my ROM as a base to work on their own ROM as I knew there are a lot of Touchwiz ROM cookers who're way better than me on modifying SystemUI or frameworks(via smali) BUT aren't too good on porting ROMs. I hoped that my ports can be a great base for others to work on their own modifications.
Now those spirits repeated on the Galaxy S6, I opened up everything about back-to-n0t3.


However, I do not do or believe those same things with the kernels.
There are far less kernel developers on XDA compared to ROM developers. ROMs are much more appealing for an "Android newbie" to go tweak. You can modify UI, enable some hidden settings and even port features from another devices.
So when ROMs gets copied off, users can easily distinguish if that was stolen or not.
Let’s say a well-known developer A ported S6 designs and features to the S4. Next day, less-known developer B uploads a ROM on XDA that claims to do the same thing. First thing that comes to the users’ mind would be ‘Is that guy a thief?’.
However, same thing cannot be said on the kernels as they work on a much lower level. You can’t distinguish individual custom kernels just by staring at your phone.
If a ROM developer choose to go use other’s custom kernel and integrate it into their ROM, it’s most likely that users won’t appreciate that custom kernel developer whose work powers that ROM. Let’s face it, not all users care about “Thanks to”, “Credits” sections, and let me tell you, those are the majority. Now some custom kernel developers might be OK with that. However, I’m not. Unlike most developers on XDA, I got fascinated to Android because it runs on Linux kernel. Modifying Linux kernel was the first thing I’ve done on my Android device, not modifying ROM. And I spent years and years on gaining information on Linux/Android kernels and tweaking, coding myself. While I don’t necessarily care users choosing to NOT use my kernel, I cannot stand that my kernel would be installed on one’s device which its owner don’t even know which kernel, which developer who made that kernel is. That is why I’m against with the idea of integrating custom kernels into custom ROMs. If you want your users to have a custom kernel, let them learn themselves what that kernel really is, what does it offers, and who developed it. “For the ease of flashing/installation” is not an excuse for me. Take yourself a few more minutes to download a kernel from the web, and a few more seconds to flash a secondary ZIP file from the recovery. Is that hard? Time-consuming? Absolutely not.

I hope everyone gets the idea why I'm sticking with the idea of "don't integrate my kernel into others".

Cheers.
 
Last edited:

thecrab93

Senior Member
May 21, 2010
202
60
Awesome

Just installed on XtreStoLite DeoModEdition 2.1 and the first thing I noticed was how much faster my s6 boooted up, oh my! Thank you so much! Double Tap 2 Wake doesn't seem to be working for me, any suggestions?
 

jabawarkie

Member
Jun 3, 2015
39
7
tried to flash recovery on g925f and once its flashed and you try to boot into recovery the screen just flashes and then stays black.
 

arter97

Recognized Developer
Oct 14, 2012
3,881
34,635
26
Seoul
Just installed on XtreStoLite DeoModEdition 2.1 and the first thing I noticed was how much faster my s6 boooted up, oh my! Thank you so much! Double Tap 2 Wake doesn't seem to be working for me, any suggestions?

It's disabled by default.
Enable it with TricksterMod or something.

Sent from my SM-G920F using XDA Free mobile app
 
  • Like
Reactions: thecrab93

Vis1on

Member
Jul 21, 2011
38
6
Glad to see you here. Loved your previous work, and hope I can check out your future work if it comes to the G920i.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 239
    arter97.png

    arter97 kernel for Galaxy S6 / S6 edge / Note 5 / S6 edge Plus​

    /* Details */

    Upgraded to the latest Linux 3.10
    Latest Linaro LSK kernel fully merged
    Based on the latest Galaxy S6 / Note 5 kernel sources
    Fading LED by AndreiLux and other Note 4 developers
    Proper, full support for f2fs & backported from latest stable Linux
    CPU undervolt support with Synapse
    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
    Sound-control by AndreiLux offered for Galaxy S6
    - Download soundcontrol zip file
    - Control available at Synapse app
    - You may encounter in-call audio issues with this
    - Install the regular version if you don't need this

    --- Performance & responsiveness improvements ---
    UI lags fixed with binder patch
    Full unaligned access enabled
    Processor scheduler improvements from AndreiLux
    Uses LZ4 with zswap
    Dynamic fsync from faux123
    Networking speed improvements
    Random driver backported from mainline Linux
    Westwood as default TCP network congestion control
    Built with latest Linaro GCC toolchain with latest GNU linker
    Entropy hook on storage removed
    Default file-system mount option with noatime
    ROW I/O scheduler added and set to default
    Scheduler, workqueue, network drivers, file-system drivers, commits properly ported from mainline Linux and CodeAurora(Qualcomm)
    Interactive CPU governor replaced with CodeAurora(Qualcomm)'s one
    Reduced screen-on delay with boosted CPU cores on resume

    --- Memory efficiency & management improvements ---
    LowMemoryKiller source-code revamped
    Various memory tweaks applied
    Memory-management commits properly ported from mainline Linux and CodeAurora(Qualcomm)

    --- Battery life improvements ---
    Intelligently moves apps to LITTLE cores
    Power-efficient workqueues from Linaro enabled
    Interactive CPU governor patched for better battery life
    NVIDIA's power-efficiency improvement commits applied
    Power-managements commits properly ported from mainline Linux and CodeAurora(Qualcomm)

    And many others... please read the changelog

    /* Switch to f2fs */

    As mentioned above, this kernel fully supports f2fs.
    However, you are completely free to choose not to use f2fs.
    You can selectively convert partitions to f2fs using TWRP provided in the downloads.
    You should use the provided TWRP at all times after you switched to f2fs.

    /* 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. Hard. A lot.

    /* Supported devices */

    --- Galaxy S6---
    SM-G920F
    SM-G920I
    SM-G920S
    SM-G920K
    SM-G920L
    SM-G920T
    SM-G920W8

    --- Galaxy S6 edge---
    SM-G925F
    SM-G925I
    SM-G925S
    SM-G925K
    SM-G925L
    SM-G925T
    SM-G925W8

    --- Galaxy Note 5 ---
    SM-N920C
    SM-N920I
    SM-N920G
    SM-N920S
    SM-N920K
    SM-N920L
    SM-N920T
    SM-N920W8

    --- Galaxy S6 edge Plus ---
    SM-G928F
    SM-G928C
    SM-G928I
    SM-G928G
    SM-G928S
    SM-G928K
    SM-G928L
    SM-G928T
    SM-G928W8

    /* Warning */

    Redistribution, modifying files used within this project's file or integrating with other projects are prohibited with no exceptions other than my projects.
    Making mirrors, re-uploading to another servers are also prohibited with no exceptions.

    /* Downloads and links */

    I cannot test this kernel with TWRP.
    Switching to the provided PhilZ Touch recovery is highly recommended for all users.


    arter97.com

    /* Thanks to */

    AndreiLux
    faux123
    Linaro
    MinL(xens0117)
    hsk from Matcl
    CodeAurora

    /* Contact */

    Email : qkrwngud825@gmail.com
    Twitter : @arter97_dev

    /* Known issues */

    None

    /* Installation */

    1. Put the downloaded kernel on your internal storage
    2. Enter ClockworkMod(or PhilZ) recovery
    3. Flash kernel

    XDA:DevDB Information
    arter97 kernel for Galaxy S6, Kernel for the Samsung Galaxy S6

    Contributors
    arter97, AndreiLux
    Source Code: https://bitbucket.org/arter97/android_kernel_samsung_exynos7420

    Kernel Special Features:

    Version Information
    Status: Stable

    Created 2015-08-03
    Last Updated 2016-06-19
    124
    Give me some break here.
    I'm so tired of what's going on here.

    I'll re-open the thread after I finish testing 14.0 branch.
    102
    Finally solved the massive memory leak issue.
    The culprit was on HMP scheduler, which I originally suspected the least likely place to durp.
    Version 13.0 and up has this issue.

    This issue was serious enough to make me consider retiring the kernel development altogether.
    Kernel stack was eating a whooping 700MB of RAM after about 72 hrs of uptime.

    I was drawing blank for 18 hrs, debugging and reverting hundreds of commits, then finally got the culprit commits on 5AM this morning.

    c6ec07acba126c1a11b63a95c385b845095fbad9a74de2e8168637dcbe28ede2.jpg


    And to the CPU big cores frequency reduction issue:
    To those who don't know this dreadful issue, some race-conditions with user-space DVFS and kernel-space DVFS(yes, both) was causing big CPU cores' max frequency to stuck at some level.
    This obviously drops the performance to a noticeable level.
    This issue was present on Android 5.1 : it was getting stuck on 1704 MHz, and I workarounded it by renaming scaling_max_freq to ren_max_freq, which seems to work. But it also broke many CPU config applications such as Kernel Adiutor.
    Fast forward to today, I also noticed kernel-space was causing race condition. It was getting stuck on 1300 MHz, this time.
    This issue is less likely to be noticed with stock kernel since turning the screen off and back on will reset the frequency settings and set proper min/max frequencies for big CPU cores on the stock kernel.
    But because custom kernels like mine offers users to manually set the CPU frequency, we had to fix the aforementioned "reset frequency" stuff on stock kernel, but it also introduces an issue where because frequency don't get reset periodically, users are stuck with the particular frequency forever.

    I think I finally got a proper way to workaround this.
    Users' min/max frequency settings will be stored separately and it will be used as the reset frequency instead whenever screen goes off and back on.
    You will still notice this issue from time to time, if you're leaving the screen on for a very long time, but at least it would be much less noticeable.
    Not to mention, this will also solve the app compatibility issues such as Kernel Adiutor.

    I'll drop beta 10 within few days.
    And also, https://twitter.com/arter97/status/726738340347711488
    89
    /* 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
    80
    Final to all those 14.0 tests/alphas/betas are up as version 20.0
    I was not able to reproduce any of the deadlocks on 20.0 for a week of usage.

    Why 20.0?
    Because 13.1 -> 14.0 doesn't seem that major.
    And I wanted to name it that way, damn it.


    I will now slowly retire from the Exynos 7420 development and prepare to switch to the OnePlus 3.
    Don't expect any new major feature(big perf/battery improvements).
    Minor bug fixes will be taking place for future versions(if there will be any).


    http://arter97.com/browse/exynos7420/kernel/20.0

    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