FORUMS
Remove All Ads from XDA

[KERNEL] [8.1.0/9.0] Endurance Kernel V2.0.25 / V1.2.31 [Linux 4.9.185] [CSF9 / ASB1]

546 posts
Thanks Meter: 1,801
 
By Eamo5, Senior Member on 28th December 2018, 12:51 PM
Post Reply Email Thread

Endurance Kernel • Galaxy Note 9

Endurance Kernel was designed by me with the goal of providing a much more responsive user experience whilst simultaneously conserving the devices battery as much as possible. This kernel is a port of Endurance Kernel, recreated for the Galaxy Note 9. The kernel is largely adjustable in the paid app EX Kernel Manager (EXKM) by flar2 or in the free app MTweaks by Morogoku. Please note, I don't actually own a Note 9!

DISCLAIMER - I am not responsible for any harm that may come to your device as a result of flashing this kernel. I am however happy to provide support if required.

Downloads

I am trialing GitHub and Mega releases only for now in order to simplify and speed up the release process. 1.x.x indicates the kernel should be used with an Oreo based firmware. 2.x.x indicates the kernel should be used with a Pie based firmware.

Latest GitHub Release
MEGA Repository

Key Features
  • Latest ELS (almost) always merged in
  • Implemented AndreiLux’s custom scheduling, EAS backports, 16ms PELT half-life, and migration hysteresis filter
  • Hotplugging enabled
  • Boeffla wakelock blocker supported (default list tweaked for improved deep sleep)
  • Support GPU overclocking up to 598MHz on all builds
  • Adapted notification LED fade support from NX Kernel from the Galaxy S8
  • Enabled fsync on / off support (on is default and recommended)
  • DoubleTap2Wake, Sweep2Wake, Sweep2Sleep & RGB colour control
  • CFQ (stock and kernel default), deadline, noop, FIOPS, SIO, Zen, Maple and BFQ support
  • Westwood (kernel default), bic (stock), cubic, reno, htcp, lia, veno and olia TCP congestion algorithms enabled
  • 9.0 AOSP support
  • Several kernel optimizations from Notorious Kernel
  • WireGuard Support
  • DriveDroid Support
  • SELinux set to enforcing
  • F2FS support
  • Unofficially supported adjustable SELinux status through the 'Magisk SELinux Manager' module or # setenforce 1 or 0
  • Disabled irrelevant or unused Samsung security and features
  • Disabled almost all logging, debugging and tracing
  • Various patches to improve performance and battery
  • No bullshit!

Detailed Overview

The PELT half-life has been reduced from 32ms (stock) to 16ms which greatly improves device responsiveness, alongside the use of updated custom scheduling, both thanks to Andrei Frumusanu’s amazing work on the kernel. For a more up to date reference on the performance of the Exynos 9810, look at Andrei's investigation comparing the Exynos Note 9 to the Snapdragon Note 9.

This kernel supports overclocking. In order to use overclocking, simply flash the OC zip from the Android File Host folder.

The overclock build will now use big cluster (M3) quad / triple frequencies up to 2106MHz, dual frequencies up to 2416MHz and single frequencies up to 2964MHz. The small cluster has now also been overclocked to 2002MHz. The overclock build also modifies Andrei's conservative frequencies in order to utilise the higher frequencies more. There is no guarantee that your battery will perform well with overclocking, nor your device will be safe running above stock frequencies. Use at your own risk.

Notification LED fade support has also been added and enabled by default. The fade can be turned on and off and have fade in and out speed adjusted in EXKM or MTweaks. Additionally, in both EXKM and MTweaks such as fsync on / off support, DoubleTap2Wake, Sweep2Wake, Sweep2Sleep & RGB colour control.

This kernel unofficially supports (but I typically strongly advise against the use of) a permissive SELinux status through the 'Magisk SELinux Manager' module.

GSI / AOSP Kernel

The kernel supports 9.0 AOSP GSIs. These builds are entire ports of Endurance Kernel that have been adapted for AOSP, hence any changes that are made to the base kernel will almost always also be included in the AOSP kernels.

If SafetyNet is failing, this can be worked around to allow SafetyNet to pass. You will need the 'MagiskHideProps' module installed. After rebooting, using a Terminal Emulator app enter the following commands in the order listed without quotation marks.
  1. Type 'su'
  2. Type 'props'
  3. Type '1' to edit the device fingerprint
  4. Type 'f'
  5. Type '13' to select Samsung
  6. Type '24'
  7. Reboot

Due to the sheer diversity of AOSP GSIs, it is important to ensure you are concise when reporting an issue. Before you report an issue ensure you explicitly state the variant of the kernel you are using, as well as the ROM, firmware and vendor once you have ensured the ROM is compatible with the kernel. If these requirements are not met, you may receive support for the wrong platform or no response at all. It is preferred that you ask in the relevant telegram group prior to publishing on the XDA thread if possible.


Telegram Groups

If you're joining the Telegram group for support, please read the FAQ first!

Endurance Kernel Discussion / Support Group - https://t.me/endurancekernel

Endurance Kernel News Channel - https://t.me/endurancekernelnews

Credits


A huge thank you to everyone involved in the production of this kernel. Particularly a few names I would like to mention.
ianmacd - For creating A Pretty Good Kernel and doing all the hard work for me, as well as being a fantastic mentor who has assisted me through every stage of this kernel. My words understate my appreciation for your efforts.

AndreiLux - For pushing the device to its limits in many regards and paving the pathway from which many other devs, myself included rely on, and for assisting me in the production of the kernel.

farovitus - For his vast efforts included in the development of Notorious Kernel and for providing inspiration of changes and commits to include in the kernel as well as making another great kernel before the production of Endurance Kernel. Also thanks for maintaining ELS and keeping it simple for me!

flar2- For his fantastic EXKM app, and all his work from ElementalX included in APGK such as wake / sleep gestures and RGB colour control.

djb77 - For inspiring a few additions to the ramdisk and for being another fellow Aussie.

Freeza - For allowing the use of his installation script and for aiding in the issues faced in the early stages of kernel development.

Chrisaw - For being an exceptionally thorough and generous beta tester and for basically doing the hard troubleshooting for me. I can't say thanks enough for the time and effort you put into the kernel.
Huge thanks to everyone else who was involved in development of the kernel, and helped me during the stages of instability in the early phases of this kernel. You know who you are!

And of course, everyone involved in mainline Linux development!

Additonally
  • Lord Boeffla for Boeffla Wakelock Blocker
  • franciscofranco for fsync on / off support
  • Ktoonsez for initially introducing Notification LED fade support.
  • Noxxxious for making it easier to adapt Notification LED fade to the S9!
  • osm0sis for Android Image Kitchen

If I included your work and forgot you, let me know and I’ll add you to the credits list!


Source - https://github.com/eamo5/crownlte-endurance

Click here to donate! I used to not accept donations but while I'm undertaking my degree, a small donation could go a long way.
The Following 40 Users Say Thank You to Eamo5 For This Useful Post: [ View ] Gift Eamo5 Ad-Free
 
 
28th December 2018, 01:23 PM |#2  
Eamo5's Avatar
OP Senior Member
Flag Melbourne
Thanks Meter: 1,801
 
Donate to Me
More
OneUI Current Build Changelog
V2.0.25
  • Linux 4.9.185

Previous Changelogs

V2.0.24
  • Linux 4.9.184
  • AOSP 2.0 based kernel appears to be broken for now, I will try to address this ASAP

V2.0.23
  • Linux 4.9.183
  • Addressed some regressions from the previous build
  • I forgot to update the kernel version lol

V2.0.22
  • Linux 4.9.182
  • CSF9 kernel source and ramdisk
  • Several improvements to ashmem, binder, SELinux dynamic memory allocation, IRQs & qos from Sultanxda

V2.0.21
  • Linux 4.9.180

V2.0.20
  • Linux 4.9.179
  • Cross compiled with GCC 9.1
  • Fixed instability in 4.9.178

V2.0.19
  • Linux 4.9.177
  • CSDJ ramdisk (kernel source is identical to CSDE)

V2.0.18
  • Linux 4.9.176
  • Cleaned up defconfig

V2.0.17-1
  • CSDE kernel source and ramdisk
  • Unset CONFIG_DEBUG_KERNEL (and it's dependencies)
  • Optimised F2FS configuration

V2.0.17
  • Linux 4.9.175
  • Fixed F2FS

V2.0.16
  • Linux 4.9.174
  • F2FS support

V2.0.15
  • Linux 4.9.173

V2.0.14
  • Linux 4.9.172
  • Updated Gator driver to v6.9
V2.0.13
  • Linux 4.9.171
  • Unset CONFIG_AUDIT (reduce SELinux overhead)
  • Updated Gator driver to 6.8

V2.0.12
  • Linux 4.9.170

V2.0.11
  • Linux 4.9.169

V2.0.10
  • Linux 4.9.168

V2.0.9
  • Linux 4.9.166
  • Fixed 4.9.165 performance regression

V2.0.8
  • Linux 4.9.165
  • Reduced kernel size
  • Unset CONFIG_ION_EXYNOS_STAT_LOG

V2.0.7
  • CSC1 kernel sources
  • Linux 4.9.164

V2.0.6-1
  • Fixed lockscreen issue on CSC1 ROMs

V2.0.6
  • Linux 4.9.163
  • CSB3 kernel sources

V2.0.5
  • Linux 4.9.162
  • Unset approximately 15 CONFIG_TRACE & CONFIG_EXYNOS_SNAPSHOT related options
  • Linux 4.9.161
  • Set CONFIG_STRIP_ASM_SYMS
  • Unset CONFIG_BT_DEBUGFS
  • Unset CONFIG_USB_DEBUG_DETAILED_LOG
  • Unset CONFIG_DEBUG_ATOMIC_SLEEP
  • Unset CONFIG_SEC_BOOTSTAT
  • Unset CONFIG_SEC_UPLOAD
  • Unset CONFIG_SEC_DEBUG_PPMPU
  • Fixed an issue with the r8152 ethernet driver & updated the driver.


V2.0.3
  • Linux 4.9.160
  • Unset CONFIG_EXYNOS_CORESIGHT (and everything it unsets)
  • Unset CONFIG_DEBUG_LIST
  • Unset CONFIG_DEBUG_EXCEPTION_STACK
  • Unset CONFIG_TIMER_STATS
  • Unset CONFIG_DEBUG_NOTIFIERS_PRINT_ELAPSED_TIME
  • Suppressed additional minor logging

V2.0.2
  • Linux 4.9.159
  • Unset CONFIG_KSM
  • Unset CONFIG_SDFAT_DEBUG
  • Unset CONFIG_SCHED_DEBUG

V2.0.1-1
  • CSB3 ramdisk (fixes lockscreen loop on CSB3)
  • Kernel now requires CSB3 ROM

V2.0.1
  • Linux 4.9.158

V2.0
  • Linux 4.9.156
  • Minor tweaks to scheduling

V2.0 RC 4
  • Linux 4.9.155

V2.0 RC 3
  • Rebased on ELS 4.9.154
  • Tweaked conservative scheduling a bit more for a slightly better user experience.

V2.0 RC 2
  • Tweaked conservative scheduling for an improved user experience

V2.0 RC 1
  • Support Android 9.0 OneUI
  • Linux 4.9.59
  • CSA2 kernel sources
  • Can boot with and without Magisk
  • Full OC implementation
  • DriveDroid support
  • Conservative scheduling
The Following 12 Users Say Thank You to Eamo5 For This Useful Post: [ View ] Gift Eamo5 Ad-Free
28th December 2018, 01:24 PM |#3  
Eamo5's Avatar
OP Senior Member
Flag Melbourne
Thanks Meter: 1,801
 
Donate to Me
More
Oreo and GSI Current Build Changelog
V1.2.31
  • Linux 4.9.185
  • Reverted Simple LMK on AOSP builds as it doesn't appear to be making reclaims correctly atm.

Previous Changelogs

V1.2.30
  • Linux 4.9.184
  • Introduced the latest stable Simple LMK from Sultanxda in AOSP kernels

V1.2.29
  • Linux 4.9.183
  • Addressed some regressions from the previous build
  • I forgot to update the kernel version lol

V1.2.28
  • Linux 4.9.182
  • Several improvements to ashmem, binder, SELinux dynamic memory allocation, IRQs & qos from Sultanxda

V1.2.27
  • Linux 4.9.180

V1.2.26
  • Linux 4.9.179
  • Cross compiled with GCC 9.1
  • Fixed instability in 4.9.178

V1.2.25
  • Linux 4.9.177

V1.2.24
  • Linux 4.9.176
  • Cleaned up defconfig

V1.2.23
  • Linux 4.9.175
  • Fixed F2FS

V1.2.22
  • Linux 4.9.174
  • F2FS support

V1.2.21
  • Linux 4.9.173

V1.2.20
  • Linux 4.9.172
  • Updated Gator driver to v6.9

V1.2.19
  • Linux 4.9.171
  • Unset CONFIG_AUDIT (reduce SELinux overhead)
  • Updated Gator driver to 6.8

V1.2.18
  • Linux 4.9.170

V1.2.17
  • Linux 4.9.169

V1.2.16
  • Linux 4.9.168

V1.2.15
  • Linux 4.9.166
  • Fixed 4.9.165 performance regression

V1.2.14
  • Linux 4.9.165
  • Unset CONFIG_ION_EXYNOS_STAT_LOG

V1.2.13
  • Linux 4.9.164

V1.2.12
  • Linux 4.9.163

V1.2.11
  • Linux 4.9.162
  • Unset approximately 15 CONFIG_TRACE & CONFIG_EXYNOS_SNAPSHOT related options

V1.2.10
  • Linux 4.9.161
  • Set CONFIG_STRIP_ASM_SYMS
  • Unset CONFIG_BT_DEBUGFS
  • Unset CONFIG_USB_DEBUG_DETAILED_LOG
  • Unset CONFIG_DEBUG_ATOMIC_SLEEP
  • Unset CONFIG_SEC_BOOTSTAT
  • Unset CONFIG_SEC_UPLOAD
  • Unset CONFIG_SEC_DEBUG_PPMPU

V1.2.9
  • Linux 4.9.160
  • Optimised scheduling
  • Unset CONFIG_MODULES
  • Unset CONFIG_EXYNOS_CORESIGHT (and everything it unsets)
  • Unset CONFIG_DEBUG_LIST
  • Unset CONFIG_DEBUG_EXCEPTION_STACK
  • Unset CONFIG_TIMER_STATS
  • Unset CONFIG_DEBUG_NOTIFIERS_PRINT_ELAPSED_TIME
  • Suppressed additional minor logging

V1.2.8
  • Linux 4.9.159
  • Unset CONFIG_SDFAT_DEBUG
  • Unset CONFIG_SCHED_DEBUG

V1.2.7
  • Linux 4.9.158
  • ARL4 Kernel Source

V1.2.6
  • Linux 4.9.156

V1.2.5
  • Linux 4.9.155

V1.2.4
  • Linux 4.9.154
  • DriveDroid support
  • Fixed Android System warning on boot on GSI and AOSP kernels

V1.2.3
  • Linux 4.9.153
  • Fixed several weird bugs related to booting including requiring Magisk to boot!

V1.2.2
  • Linux 4.9.152

V1.2.1
  • Linux 4.9.151

V1.2.0
  • Linux 4.9.150
  • Realigned defconfig closer with ELS to hopefully fix some issues

V1.1.9
  • Linux 4.9.149
  • Updated WireGuard importer
The Following 7 Users Say Thank You to Eamo5 For This Useful Post: [ View ] Gift Eamo5 Ad-Free
28th December 2018, 01:25 PM |#4  
Eamo5's Avatar
OP Senior Member
Flag Melbourne
Thanks Meter: 1,801
 
Donate to Me
More
FAQ

A FAQ section will be established as kernel development progresses. If you have any explicit unanswered questions, feel free to ask away. If you must contact me due to an issue, please report your device variant, ROM, firmware, vendor and previous kernel.



1. I can’t unlock / boot my phone! What do I do?
If you're stuck in a lockscreen loop, make sure you're on a firmware with a matching ramdisk to the kernel. Do not mix a CSC1 kernel ramdisk with a CSA2 ROM for example. Anytime the ramdisk is changed, it will be listed in the changelog. Are you on the correct firmware and vendor? If not, you can always flash this zip or revert back to previous versions through the Android File Host folder. Can anyone else successfully flash the kernel? If yes, verify the MD5 sum by referencing and ensuring a matching MD5 sum between the local file and the Android File Host file. Did I just push an update? If yes, contact me on Telegram in the Endurance Kernel group for a faster response, and XDA for an eventual response. Does your ROM require a permissive SELinux status to boot? If yes, use the 'Magisk SELinux Manager' module to adjust your SELinux status. If none of this can solve your problem, contact me through the Endurance Kernel group.
2. Why doesn't my camera work after flashing the kernel?
Verify that you are on the correct firmware, vendor and a ROM that supports the current kernels sources. If you are still encountering issues after verifying this is correct, then let me know! If you do not wish to update, you can maintain a version of the kernel that does support your ROM by reading the changelog and downloading the previous versions from the Android File Host folder
3. Why doesn't my Bluetooth work after flashing the kernel?
Are you on a ROM that does not patch libsecure_storage, such as DevBase? If your Bluetooth is broken, the answer is probably. Instead you can use ianmacd's Magisk module 'libsecure_storage companion for rooted Samsung devices' or you can manually flash a zip to patch it yourself, without the need for Magisk.
4. Why doesn't my WiFi work after flashing the kernel?
Make sure you have forgotten and rejoined all WiFi networks after installing the kernel if the device won't connect to the network. If the devices WiFi won't turn on at all, make sure you do not have ianmacd's 'libsecure_storage companion for rooted Samsung (Oreo) devices' installed. If you're still encountering issues, please contact me in the Telegram group or on XDA.
5. Should I use the permissive or enforcing SELinux status?
The decision is yours. There is plenty of documentation available online outlining their differences. I strongly recommend enforcing, hence why permissive is not officially supported. Permissive is far less secure, and hence I do not condone the use of permissive. If you are using permissive, you should either have to due to a dependency or have another specific reason for doing so. eg. ROM requires disabled signature check. For most users, unless directed otherwise, use the default enforcing build.
6. When will you update the kernel?
Once ELS is updated and the kernel is ready! This is just a side hobby and I do have a life outside of kernel development. Be patient, the update will arrive within a few days if not ASAP.
7. Will you add CPU / GPU undervolting?
No, EAS (Energy Aware Scheduling) has mostly made CPU undervolting mostly irrelevant. Google EAS if you would like it find out more information as to why it is the case. I've included a detailed YouTube video outlining the scheduling mechanisms of EAS here. Currently, any GPU voltage control for Exynos 9810 devices does not work, hence I will not be including it in my kernel.
8. Do I need to install Magisk?
Magisk is entirely optional with this kernel.
9. Why does this kernel offer no additional governors?
Because most of them are unstable and cause the device to crash, as well as EAS' integration with schedutil and EHMP.
10. Why does this kernel makes my device crash / battery poor / performance poor?
Because this kernel is still in beta. Since I can't personally verify anything with the kernel, it's possible there may be issues. If this is the case, report it on the XDA thread or Telegram group.
11. Why is my WiFi performance worse when using this kernel?
This may be the case for some people. This kernel uses the Westwood+ TCP algorithm for enhanced WiFi speeds on certain networks. However there may be scenarios on poor signal networks, this TCP algorithm may cause packet loss at a greater rate than is default. This should hopefully not be an issue for anyone, however if it is, try using bic as default and contact me.
12. Why is my battery still terrible?
Are you in an area with poor signal reception? Unfortunately that is one thing a custom kernel cannot compensate for due to the device modem having restricted access and also legal issues. That leaves us with optimizations that can only be done to the SOC of the device. How you use your device can also greatly lead to variation in battery stats. If you are in need of further battery, 'underclocking' is available and is explained in OP. If you want the best battery life, I advise you try out that build.
13. Why does SafetyNet fail on the AOSP kernels?
This is a minor issue I don't believe I can address on my end. This can be worked around however to allow SafetyNet to pass. You will need the 'MagiskHideProps' module installed. After rebooting, using a Terminal Emulator app enter the following commands in the order listed without quotation marks.
  1. Type 'su'
  2. Type 'props'
  3. Type '1' to edit the device fingerprint
  4. Type 'f'
  5. Type '13' to select Samsung
  6. Type '23' or '24'
  7. Reboot
14. How can I use F2FS?
To use F2FS, you must erase your data and format your data partition (and optionally cache partition) to F2FS using the N9 TWRP available here, even if you are on S9. From there you should be able to reboot your device and restore your data through a backup.
15. Where can I donate?
I used to not accept donations but while I'm undertaking my degree, a small donation could go a long way. You can donate through my PayPal link here.
The Following 5 Users Say Thank You to Eamo5 For This Useful Post: [ View ] Gift Eamo5 Ad-Free
28th December 2018, 02:27 PM |#5  
burakgon's Avatar
Senior Member
Thanks Meter: 3,811
 
More
Bluetooth connections does not stick. Latest oreo.

Edit: Install libsecure from magisk and the issue fixed.
The Following User Says Thank You to burakgon For This Useful Post: [ View ] Gift burakgon Ad-Free
28th December 2018, 02:36 PM |#6  
Eamo5's Avatar
OP Senior Member
Flag Melbourne
Thanks Meter: 1,801
 
Donate to Me
More
Quote:
Originally Posted by burakgon

Can't connect to wifi. Bluetooth connections does not stick. Latest oreo.

Hmmmm the kernel is using the latest ramdisk. This wasn't an issue in any of my beta tests. What device model are you on? Anyone else?
28th December 2018, 02:47 PM |#7  
burakgon's Avatar
Senior Member
Thanks Meter: 3,811
 
More
Quote:
Originally Posted by Eamo5

Hmmmm the kernel is using the latest ramdisk. This wasn't an issue in any of my beta tests. What device model are you on? Anyone else?

After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
28th December 2018, 02:49 PM |#8  
Eamo5's Avatar
OP Senior Member
Flag Melbourne
Thanks Meter: 1,801
 
Donate to Me
More
Quote:
Originally Posted by burakgon

After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.

You might need to use the libsecure_storage companion Magisk module to fix Bluetooth pairing on some ROMs.
The Following User Says Thank You to Eamo5 For This Useful Post: [ View ] Gift Eamo5 Ad-Free
28th December 2018, 03:28 PM |#9  
Da-BOSS's Avatar
Senior Member
Flag Riyadh
Thanks Meter: 184
 
More
Amazing!!! Bring Exynos back to the glory again... Golden Age is coming again for Exynos I knew there's alot of sh*t happening on kernel level with Exynos.... I'm glad you got it all sorted (nearly)

But... I will wait till you add or support GPU & CPU undervolt , CPU Overclocking as undervolting CPU will further increase battery life it is obvious

Thank you! For providing this kernel!! I will keep watching it till at least have an undervolting CPU & GPU support (I'm not asking for any ETA'S) Thank you again!

#Exynos is back
The Following 4 Users Say Thank You to Da-BOSS For This Useful Post: [ View ] Gift Da-BOSS Ad-Free
28th December 2018, 05:50 PM |#10  
galaxys's Avatar
Senior Member
Flag Cosmos
Thanks Meter: 1,981
 
More
Nice to see this here! Kudos
The Following User Says Thank You to galaxys For This Useful Post: [ View ] Gift galaxys Ad-Free
28th December 2018, 07:54 PM |#11  
Gabe2014's Avatar
Senior Member
Thanks Meter: 174
 
More
Good job man, this kernel working very good and Good battery life.. on my N9 TW keep going bro
The Following User Says Thank You to Gabe2014 For This Useful Post: [ View ] Gift Gabe2014 Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes