hello everyone. Some weeks ago i've started to build Roms, but somehow felt incomplete to get the experience I desired. Today i finally was able to finish compiling my first kernel which i'll share with you.
Download New Kernel
Features:
Voltage Control
Schedulers :CFQ/BFQ/DEADLINE/NOOP
Govenors: INTERACTIVE/ONDEMAMD/PERFORMANCE/POWERSAVE
TCP Congestions: WESTWOOD, CUBIC, RENO, BIC, HTCP
Fast Charge
Sound Control
Low memory optimizations from Motorola
Krait optimization code
HARD NEON
Linaro Optimizations
LCD KCAL by @savoca
Arch Power
Gentle Fair Sleepers
Crypto Sha Neon
Added improved glibc libs and many others which provide a more efficient kernel work.
Many patches added from the upstream kernel.
Fsync
Optimized ARM RWSEM algorithm
Optimized Random from the upstream code.
Compiled with a special toolchain for krait.
More to come
To control Kernel, flash this on recovery. and install Synapse from the play store.
There are two branches:
Stable - which has all proven and tested development
Beta - new features introductions. Remember if your chip fries... Was done with very good intentions.
To build this kernel i have to give a very big thank you to great dev @savoca as had alot of patience and shared his knowledge to build a kernel with a step by step guide, as also explaining what's each stuff for.
@ak @andi79 @franciscofranco @faux123 for commits of their kernels, as made life easier.
@DerRomtester to provide a example of how to create boot.img script.
All credits go to CyanogenMod team.
Source code
OnePlus Thread
Changelog:
26/12/2015
Very summarised to what was done on kernel:
full rebased where was removed all commits not related to Krait but cortex-A15
Reverted back to CAF cpu boost
changed intereactive configuration to be more battery friendly
Using only aligned access for best performance and stability, as unalignment has it's own bad costs. Read more here: http://www.alexonlinux.com/aligned-v...-memory-access
Added stable ondemand governor from CAF
Updated to latest wifidriver
Optimize kernel cfbfillrect function
Use of ALIGNED_STRUCT_PAGE
22/09/2015
Kernel with MPdecision and bricked hotplug
Alot of patches and enhancements
synced with cm
05/08/2015
Some low memory changes
Synced with CM
Changelog:
updated with Cm stuff
Some changes over low memory killer.
28/06/2015
Improved Low memory killer
Synced with CM code 19/07/2015
Rebased kernel with linux patches until 3.4.108
Improved MMC use
Synced with Kitkat values for battery and charger
While recording video doesn't vibrate
28/06/2015
Optimized toolchain for our chip with GCC 5.1
Optimized values of interactive to kill lag caused by the govenor
Synced with CM code
Alot of patches (180 linux patches)
08/06/2015
Rebased from scratch
NEON is ON
Ext4 bug fixing
Removed inteliplug (soon a proper Hotplug comming)
Alarm Wakelock battery drainer fixed
Removed alot of badstuff from old kernel (learned from my mistakes)
31/05/2015
Reverted mempatch
Reverted all changes with hotplug
Redesigned optimizations of kernel.
25/05/2015
added MSMlimiter
IntelliThermal
Bricked hotplug
MSM hotplug
New touchdriver by neobuddie
20/05/2015
Small important ajustments
Synced with CM 20/05/2015
18/05/2015
much less logs, and reverted firmware update until cm fixes battery drain suggested by @tiny4579
Added Inteliplug hotplug
Improved fairness efficiency
Removed powersuspend for now, until is completely improved battery life and review code of power suspend
synced with CM
28/04/2015
Fsync
Improved speed I/O
Optimized copy page
ArchPower ON by default
Option to control ArchPower and Gentle Fait Sleepers
Optimized Deadline for performance
Improved CPU use of voltage for better battery life
Avoid to many OOM dirty pages (better memory)
loadavg Moire values for our device (balances workload and keeps cpu cooler without losing performance power)
SELinux fixes and added missing features.
lib/int_sqrt.c: optimize square root algorithm
27/04/2015
New Toolchain Linaro 5.1
Improved Low Memory Killer
Improved powersyspend
Improved Lz4
New KCAL code merged
Synced with CM
Async I/O speed increased by 34%
Optimized for A15 Cortex
Less Logs
Latest linaro patch 3.4.107
Rebased and 5.0+ ready compiler
14/04/2015
Soundcontrol, powersuspend, fixes
11/04/2015
Linaro LT
10/04/2015
Tons of kernel fixes. Memleaks, Optimized ARM RWSEM algorithm, Improved memory access (tested this and worked much better!), frandom support, F2FS support 3.4 (latest patch will come on next update), Changed some configurations to improve on kernel resource handling and increased battery life while keeping MPDecision, Missing linux patches from 3.4.105 included, Removed entropy changes, as was proven to create more lags and consuming more resources.
07/04/2015
Alot of fixes: scheduler, fixed memory leaks, info leak, entropy depleting, sleep fixes, data loss fixes. Synced with CM : prima: Update to LA.BF.1.1.1_rb1.17 . Included linux patches from 3.4.105. selinux fixes and code cleanup. Raised entropy levels. Introduction of a new smart scheduler.
05/04/2015 - Linux patches 3.4.106 on a cleaned build based on cm 12.1
Important Notes:
There are two methods to have a kernel done by someone else on our phone. Trying not to complicate and to make you understand, when you create a kernel there are two strategies dev use to share their work.
Most of the devs have on each kernel has its own ram disk and create a boot.img zip file. The advantage is that, the boot.img will exchange the one we have in the phone. The disadvantage is that, it can be incompatible with some updates.
The strategy I use, is same of ak and render. We build kernel with any kernel. Basically the boot.img is created with the boot.img which is currently on you rom while on the recovery.
So now you can understand what happens. If you flash a kernel A, independently of the methods, we'll be using a ram disk not correspondent to the original rom and you'll have changes in ram disk . So while going to kernel B, ram disk is written again. Then going to kernel c ram disk is written again.
Can you tell me the advantage of having each kernel changes in same ram disk? Perhaps spontaneous reboot, to mess up our emotional stress will come in order in case not caring about this. [emoji14]
Now that you understood the importance, remember! !) reflash origin ROM 2)Flash kernel 3) Enjoy
@jgcaap
Awesome Work Mate! Really Impressed with all the Efforts you put into this! I'm sure you must have learnt a lot while developing these
Thanks. I learned quite alot... I. Missed programing. Without git hub would be very hard for me to create this kernel. I own alot of thanks to the great teacher and dev @savoca very soon, I'll be bringing his work to this kernel. He not only is a very smart guy as also a great friend with alot of patience HeHehe.
jgcaap said:
Thanks. I learned quite alot... I. Missed programing. Without git hub would be very hard for me to create this kernel. I own alot of thanks to the great teacher and dev @savoca very soon, I'll be bringing his work to this kernel. He not only is a very smart guy as also a great friend with alot of patience HeHehe.
Click to expand...
Click to collapse
Yep, I so miss @savoca Furnace Kernel. It was simply to the point and worked just fine! It'll truly be great if you would implement his work! All the very best Mate!
Very soon I'll add a small description of why I choose these features and what each of them do, in order to you guys understand the advantages.
Added right now an update. will create changelog at night.
compiled with uber 5.0 https://basketbuild.com/filedl/devs?dev=jgcaap&dl=jgcaap/jgcaap-kernel-uber.zip
have fun!
Is this for lollipop or kit kat?
mmurphmsu said:
Is this for lollipop or kit kat?
Click to expand...
Click to collapse
Lolipop...
Sent from my One using XDA Premium 4 mobile app
mmurphmsu said:
Is this for lollipop or kit kat?
Click to expand...
Click to collapse
For now only lollipop
Added to OnePlus One index thread:
[INDEX] OnePlus One Resources Compilation Roll-Up
Transmitted via Bacon
also a list of compatible roms in the OP would be a good idea as well maybe...!!!!
I'm gonna keep this thread subscribed.
It's looking like a good start and it's allways nice to see another PT dev around.
Good job.
Congrats man.. Good job!
Great work m8. Cant wait to flash this baby.
This will work on lollipop ROM on galaxy grand
Congratulations, You made it to the front page of xda-developers..
Good job, I personally recommend against using GCC 5 toolchains for the time being as it isn't much better than 4.9 and are not as stable.
DespairFactor said:
Good job, I personally recommend against using GCC 5 toolchains for the time being as it isn't much better than 4.9 and are not as stable.
Click to expand...
Click to collapse
I agree, its cool to play with but could cause unseen issues for people starting out with Kernel Development.
@jgcaap
Its good to see users start a new project! I started out doing Rom work too and found Kernel work to be much more enjoyable. If you run into a build error or have a question, feel free to PM me.
Regards,
Render
Related
MiRaGe is a lean and efficient kernel for the stock Nexus 4 ROM with the optimizations and updates that are not included in Google's stock kernel. MiRaGe kernel fits squarely in the stock Nexus 4 ROM; all of the modules are integrated in the kernel just like the stock kernel and it should work with all AOSP ROMs that work with the stock kernel and boot image. However, only the current stock ROM is tested. If you decide to use MiRaGe, just flash and forget it since I have avoided adding more sysfs parameters. It is not my goal to enable all possible tweaking options and add every possible feature to the kernel such as multitude of governors, io schedulers, sweep2wake, fastcharge, etc. This kernel is not intended as a tweaker's kernel. You can, of course, tweak it as much as you want since that is your phone and kernel. But please try removing your tweaks before posting any problems. I always test the latest builds with the current stock ROM before posting here.
I am sharing exactly what I have developed for myself and posting here so that I can return at least a small part of what I have received from the open source community. I thought the amount of time I have spent for MiRaGe could be useful for others as well. In short, take it if you want it, leave it if you don't. But comments, suggestions are always welcome when they make sense.
Source Code:
Source code is based on Google's msm kernel source (currently android-msm-mako-3.4-lollipop-mr1.1) and a summary of my changes are below. You can find the full details of my changes and the complete source code in my repo.
Changes:
- synced with mainline Linux 3.4.110
- cleaned up kernel configuration and removed many unnecessary options
- removed kernel debugging options
- built with the Linaro toolchain (gcc 4.9.4 - 15.06) using standard krait and -O2 optimization
- removed AOUT and OABI support
- disabled both user-space msm_mpdecision and kernel-space msm_mpdecision
- removed msm_run_queue_stats, dcvs, and stock msm_mpdecision in the kernel
- added autosmp, a simple and efficient (by me) multi-core cpu hotplug driver
- disabled the user-space thermald and switched to kernel-based msm_thermal
- replaced CFQ with the latest BFQ as the default IO scheduler
- backported random and prandom updates from Linux 3.13 (no entropy depletion anymore)
- backported workqueue from Linux 3.8 to include many important improvements
- backported rwsem from Linux 3.11 to include lock stealing improvements
- backported mutex and rcu locking from Linux 3.10 and 3.8, respectively
- backported slub memory allocator updates from Linux 3.8
- backported cpufreq driver, ondemand, and conservative governors from Linux 3.12
- updated interactive CPU governor from AOSP and CAF
- disabled userspace CPU governor,
- enabled callback-free CPUs (RCU_NOCB_CPU)
- backported TCP Small Queues and CODEL net scheduler from Linux mainline and set as default
- updated kernel scheduler, msm-hotplug, msm-idle, msm-pm code from CAF and Linux mainline
- applied patch [v4] binfmt_elf.c: use get_random_int() to help with entropy depleting
- enabled autogroup scheduler and applied patch per-uid task group for Android
- added optimized ARM RWSEM algorithm
- added optimized ARM SHA1/AES routines
- enabled CPU-supported unaligned accesses
- disabled gentle fair sleepers in scheduler
- updated Qualcomm HW RNG driver from CAF
- enabled BPF JIT compiler for packet filters
- applied glibc patch to improve the performance of memcpy and memmove
- applied word-at-a-time ARM API patches
- enabled CPU overclocking up to 1.728 GHz with user-space vdd control
- optimized vdd curves, L2 and bus speeds for better performance and efficiency
- removed unneeded a2xx and a4xx components from kgsl driver
- modified the prima wifi driver to disable debug code
- removed PMEM completely, MiRaGe is pure ION
- add support for kernel mode NEON and NEON acceleration
- add NEON optimized SHA1, SHA256, and SHA512 crypto code
- add LoUIS API for cache maintenance ops to improve cpu hotplug latency
- added and enabled power_efficient workqueue
- added and enabled msm memutils
- added screen gamma, user space cpu voltage control, and dt2w
- backported devfreq driver from CAF and switched kgsl 3d governor to simple_ondemand
- backported many other fixes/updates/optimizations from CAF and Linux mainline, see the repo for details
- init.d supported if /etc/init.d and busybox are available
- a diff file of changes to ramdisk is here
Downloads:
Boot image for stock ROM:
LMY standard kernel Built: 10/25/15 MD5sum: a315cc446499d60cb4b3a61ea7bfa8f8
LMY overclock kernel Built: 10/25/15 MD5sum: 7c72a66830f511b025968db2bb743429
Anykernel updater for custom ROM:
Revert back to stock kernel to restore the original ramdisk and flash anykernel package of MiRaGe after that. This is not needed in the next anykernel update.
LMY standard kernel Built: 10/25/15 MD5sum: 85b4136ac0ada793da7b80763193095a
LMY overclock kernel Built: 10/25/15 MD5sum: 2924fb6a963b40087c296a7b1abfc1d3
KTU standard kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
KTU overclock kernel Built: 10/31/14 MD5sum: dca7d06933eb43c8da3ba7941bb6ac88
The only difference between the standard and overclock builds is the ~100mV undervolt in the overclock build. Both kernels have maximum CPU_freq = 1.728 GHz, default CPU_freq = 1.512 GHz, overclocking, and user space cpu voltage control enabled. Since the CPU gets hot quickly in Nexus 4, I only recommend overclocking with the overclock build that has built-in undervolt. If the phone doesn't boot with overclock kernel, it means that your CPU is not able to handle the undervolt settings. In that case, you can just reboot into recovery and flash the standard kernel. No-frills CPU Control is recommended to set the max overclock frequency. Each CPU has different overclock/undervolt ability. Don't get disappointed if the OC build doesn't work for you.
Installation:
You can do one of the followings
- Flash the zip files in recovery, there is no need to wipe cache or dalvik-cache
- Flash the boot image in the zip file using either Flash Image GUI or fastboot
- Here is the original boot image for LMY48I build, in case needed for going back to stock. Either flash in the recovery or open the zip file to extract the boot image.
Credits:
- Special thanks to Linux, Google, CAF, Linaro developers in general.
- @tvall, @bedalus, @xboxfanj, @ihancioglu, @xenyz for collaboration
- @stratosk for the screen gamma interface and dt2w
- @defconoi for collaboration (see Unleashed Kernel Series)
- @mathkid95 for the any-kernel updater package
- @joeykrim for FlashImageGUI
- @Christopher83 for the optimized Linaro toolchain builds
- Other credits are given in the repo for each commit
Recommendations:
I am frequently receiving requests to add sound patches in the kernel. I agree that the sound is not very good but there are solutions. I am using the Viper4AndroidFX as a replacement sound processor. I recommend giving it a try. You need to go to the sound options and select ViPER4AndroidFX to use this sound processor or freeze MusicFX (I use Link2SD for this). There is plenty of information at the above link. With this available, I am not planning to add any sound patches.
Another frequent question is about choosing CPU governor and IO scheduler. In the earlier builds, interactive governor had the best balance of performance and battery life among other CPU governors and it is still available. In the latest builds, ondemand governor was backported from Linux 3.12 and replaced interactive as the default. The latest patches in the mainline Linux, especially stratosk's patch that optimized the load calculations made the new ondemand governor the better option regarding both power and performance. Regarding IO scheduler, BFQ scheduler has the best overall real-use performance and it is actively maintained/improved. You can use Nofrills CPU Control to change the governor and scheduler. But I would leave the defaults as BFQ scheduler and ondemand governor.
Since all of the cpu power control functions are contained in the kernel with MiRaGe, the userspace PowerHAL library will be giving the following messages in the logcat.
Code:
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
E/PowerHAL( 511): touch_boost: failed to send: No such file or directory
These are harmless but if you want to eliminate them, just make a backup and delete/rename /system/lib/hw/power.msm8960.so and power.mako.so. The single purpose of touch_boost is to enhance the system response to the user interaction. But using a service in the user space to send a touch boost signal to the kernel via slow sysfs file system is the wrong way of trying to achieve lower latency. In addition, every touch input doesn't need a CPU frequency boost which wastes battery power. The best way of achieving the low-latency system response to user interaction is improving the efficiency of existing CPU governor which raises the CPU frequency and hotplug driver which enables off-line cpu cores when needed. In MiRaGe, CPU freq is only controlled by the CPU governor based solely on the CPU load and the latency is low since efficiency is improved by reducing such unnecessary bloat. Additionally, highly-efficient autosmp hotplug driver works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.
With some of the custom ROMs, root is lost after flashing MiRaGe because of using the init scripts in the ramdisk for starting the su daemon. SuperSU is the recommended solution. I might switch to any-kernel-updater to address this problem but as written in the OP, MiRaGe is primarily for the stock ROM. Also, having the full boot image in the zip file is more reliable than expanding/processing/repacking the boot image.
MiRaGe supports init.d if it is setup. To setup init.d do the followings either within ES File Explorer or terminal .
- install busybox (I use busybox on rails)
- create /system/etc/init.d and chmod to 755 (rwxr-xr-x)
- create your init scripts in the /system/etc/init.d directory. Name them 01yourscriptname (e.g. 01mysettings) and chmod 755. Make sure they are UNIX format (not in DOS/Windows).
example:
Code:
#!/system/bin/sh
echo 1 > /sys/devices/virtual/input/lge_touch/dt_wake_enabled
- reboot
Here is how to add multiROM support
How to build:
If you are going to distribute your builds, please don't build your binaries with the same name (i.e. MiRaGe) and distribute in this thread. I would recommend you to start an alternative thread. Otherwise the problem reports will be too confusing for everyone.
First requirement is an ARM toolchain for cross compiling, i.e. using an X86 computer to generate ARM binary. I use Linaro tool chain for cross compiling like many others since Linaro specifically develops tool chains that produce optimized binary for ARM architecture.
Linaro toolchains can be downloaded from Linaro binary page. Christopher83 has built the latest Linaro-14.08 toolchain based on gcc-4.8.4 which is stable/reliable and I recommend starting the development with this toolchain.
The binary Linaro toolchain for Linux package needs to be expanded in a certain directory, probably inside the home directory. The source code for kernel is available in my Github repo, You can either download the kernel source as a compressed package or you can git-clone it with the following command (you will need git installed in your Linux computer)
Code:
git clone https://github.com/mrg666/android_kernel_mako.git
The kernel source can again be in a specific home directory.
After the source and toolchain are prepared, copy the configuration file for shooter, arch/arm/configs/mako_config, as .config to the root of the kernel source and use the following command to build the kernel
Code:
make ARCH=arm CROSS_COMPILE=~/untarred-toolchain-dir/bin/arm-linux-gnueabihf- zImage -j8
Replace j8 in the above command according to the number of cpus you have on your computer.
Also set CROSS_COMPILE based on the directory you have expanded the binary toolchain package in your home directory.
I always use the latest version of Xubuntu x64 (with custom built kernel) on my Linux workstation that has a AMD FX-8320 (overclocked to 4.2 GHz), 8 GB RAM, 500 GB HD. The compile time is about 2 minutes for me using all 8 cores. I have been using Ubuntu since version 10.04 to build Gingerbread, Jellybean, and Linux kernel and updated the OS to each and every new version, all of them worked just fine. There is no magic version of Ubuntu. The build problems arise from the package requirements not the OS version.
The flash package is easy. Just use any-kernel updater package in the OP as a template and replace zImage in /kernel directory with your build. If you want to create a boot image, see this post
Now that you have source and can build the kernel, you can add all the features you want to your own kernel
Woww greatt, thanks mirage
many thanks Mirage!
Does JSS come with caf video driver or it can be flashed on non-cm roms without problems?
Inviato dal mio Nexus 4 con Tapatalk
Good to see new kernel which goal is simplicity, not many of them are here. ill try it when clean instal comes to repertoar. just one question, you didnt mention -O3 and gcc 4.8.2, so i asume you didnt use them? Thanks.
Poslano sa mog Nexus 4 koristeći Tapatalk
I haven't updated the video driver from CAF ... yet. I will do after the 4.4 update if Google hasn't done yet.
Kernel is compiled with gcc 4.7.4 using -O2 optimization. gcc 4.8 was not giving me reliable builds yet. I will switch when 4.8 becomes stable. I have tried O3 optimization in the past and I didn't see any benefit of it. Plus, O3 optimization caused reliability issues especially with the latest gcc compilers.
MiRaGe should be compatible all AOSP-based ROMs, as long as the same user-space libraries are used with the stock 4.3 ROM. I can't claim universal compatibility since even stock JSS and JWR builds need different kernels.
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
C.T.Richter said:
Would you consider making a ZIP?
I found your kernel to be quite interesting, but I don't really like flashing via IMG file.
Click to expand...
Click to collapse
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
anarkia1976 said:
you can download one of 1000 kernels around here and replace the kernel.img ... and wholà you have a zip version.
Click to expand...
Click to collapse
Can't agree with you more but the problem with so many people on xda is that they rarely even open up a zip file to see how it operates. Guarantee most of the people will shy away simply because of the lack of a zip. Again I agree its not that hard to do but lets be honest here most have problems searching so taking a boot.img and putting it in a zip probably aint happening
I have just uploaded the alternative flashable zip files. I will remove the image files since they are in the zip files now.
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
anarkia1976 said:
you can download one of 1000 kernels around here
Click to expand...
Click to collapse
LOL that's right!
QUIETLYloud said:
Just flashed on slim and lost root... Just a heads up
Sent from my Nexus 4 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
That can't happen due to flashing the zip files in the OP since there is nothing in the zip file that touches /system, it is not even mounted.
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
Gonna give it a go on Vanir. I'll report back of my root gets effected. Happened a lot with 4.3 when it first came out
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it; root is not lost. SuperSU, su keep working. Actually, I am losing my patience with CWMT lately. Maybe it is time to switch to TWRP.
mrg666 said:
I am using CWM 6.0.4.4. It is constantly suggesting to restore my root although it is not lost. If this is what is mentioned here, just ignore it. Root is not lost. SuperSU, su keeps working. Actually, I am loosing my patience with CWMT lately. Maybe it is time to switch to TWRP.
Click to expand...
Click to collapse
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
DontPushButtons said:
I'd say it's long overdue to switch to twrp lol. Ever since I switched to twrp back on my rezound, I have NEVER looked back to cwm. Not to say cwm isnt/wasn't great.. But you know how it is lol.
Sent from my Nexus 4 using Tapatalk
Click to expand...
Click to collapse
I just don't like the "overdesigned" interface of TWRP. It is too fancy for my taste. But as long as it works when needed, it would be fine with me. I don't boot into recovery so frequently anyway since I flash the kernel in fastboot or Flash Image GUI.
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
C.T.Richter said:
Oddly enough, I lost root. I'm currently running the latest version of Paranoid Saberdroid.
Click to expand...
Click to collapse
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
mrg666 said:
Is it just what the recovery says? I use the stock JWR ROM and root is preserved when I flash although CWMT falsely complains about it.
Edit: I just tested with TWRP as well. Root is still preserved.
Click to expand...
Click to collapse
Using TWRP there is no error message, it just says it was installed successfully.
I just tried it on a clean install, and the same thing happened.
Build compiled from our CM branch sources with various optimizations / kernel features
Final build for 4.4.4 released (20th April 2015)
Many of the new features can be configured by kernel tools like Synapse. Install synapse app from market and UKM zip from downloads section.
We have moved on to Lollipop thread.
V7 [Changelog]
KERNEL:
- New hotplugs - ALUCARD, MSM
- MSM_limiter
- Fix synapse stuff - GPU etc..
- Governor tweaks
ROM
- Latest CM 11 sources.
- Fix chrome issues
- Fix button lighting-up when screen is off
Recommeded: Alucard governor with Alucard hotplug.
This is my synapse profile: http://goo.gl/3EbMUS
Note: For V6 and above (and specially for governors like zzmoove / alucard) , using Trickster/Synapse:
1. Disable MP-Decision
2. Enable intelli-plug
3. Enable intelli-thermal
4. And set to restore kernel settings on boot.
Old changelogs
V6 [Changelog]
- ROM sources updated to 20th November.
- Switch from O3 to Ofast [Even more compiler optimizations] and Re-enable Justarchi compiler optimizations [We have given up on exfat]
- GPU should now idle to 27MHz [instead of earlier 200Mhz]
- GPU overclocked to 535Mhz [earlier 500Mhz]
- CPU should now idle to 268Mhz (instead of earlier 300Mhz)
- Port few of my favorite governors from Oneplus one kernel these days - zzmoove and alucard: Both have been awesome for me (credits go to Oneplus one kernel developers - @Lord Boeffla, @ZaneZam, @alucard_24) - I will eventually start removing some of the older CPU governors. Looks like we have lots of them now.
- Various kernel patches - arch power, cpu boost, gentle fair sleepers, software crc is off
- Upgrade BFQ scheduler to BFQ-v7r6
V5.1 [Changelog]
- Newer sources from 20141107
- fsync is now disabled (Defers file writes but risk of data loss with crashes etc. Can be enabled in trickster)
- tweak intelliactive (hispeed freq was 2457, calm it down to 1985)
- voltage tweaks for speed 1 pvs 2
- default IO schd BFQ
- Frequency throttle limit increased slightly (Thermal policies can now be controlled through Trickster)
V5 [Changelog]
- Newer sources from 20141102 and use SaberMOD Toolchain, GCC 4.8.2 for kernel as well as entire build.
- Add a new hotplug engine - IntelliPlug (developed and used in famous Franco's Kernel) - I recommend to use this one, and switch off MP-Decision. (Enable in Trickster)
- Add a new thermal engine - Intellithermal (again from Franco) - Recommend to use this one. (Enable in Trickster)
- Add USB Fast charge (Enable in Trickster)
- Add another performance centric governor - SmartMAX (Combines features of OnDemand and SmartASSv2), Use it as gaming driver.
- Tweak intelliactive - Recommend to use this as default (Interactive is battery friendly but a bit laggy)
- Add powersuspend
- Reduce VM Swappiness to 10 (We have enough RAM)
- Some GPU tweaks
Other features
- CPU Overclocks of upto - 2457Mhz
- GPU overclocks of upto - 500Mhz
- Voltage control (UV)
- Additional CPU governors - Intelliactive, Intellidemand, InteractiveX
- Additional IO Schedulers - SIO, FIOPS, ZEN, VR
- Tweaked thermal policies (aggressive by default)
- Lower GPU clocks by default
- Reduced logging
- Net tweaks - Lock initial TCP window size to 64k
- FS tweaks disable atime and diratime
- Some mixer_paths patches (for higher audio) and button light fixes (to not glow on screen touch)
- Compiler optimizations
Branches(Github):
GCC4.8/Linaro/O3 related fixes/tweaks:
https://github.com/vikrant82/android_build
https://github.com/vikrant82/android_external_valgrind
https://github.com/vikrant82/android_external_fuse
https://github.com/vikrant82/android_external_exfat
https://github.com/vikrant82/android_art
Device tweaks
https://github.com/vikrant82/android_device_samsung_mondrianwifi
Kernel
https://github.com/vikrant82/android_kernel_samsung_mondrianwifi
Buttons Fix
https://github.com/vikrant82/android_frameworks_base
Downloads
Final release for 4.4.4
V444Final-20150419-SM482-Ofast-mondrianwifi.zip
UKM zip - UKM 3.6.1
Old releases
V6 ROM - V6-ROM-20141120-SM482-Ofast-mondrianwifi.zip
V6 Kernel - V6-Kernel-20141120-SM482-Ofast-mondrianwifi.zip
V5.1 ROM - V5.1-cm-11-20141107-SaberMOD-mondrianwifi.zip
V5.1 Kernel - V5.1-Kernel-20141107-Kernel-SaberMOD-mondrianwifi.zip
V5 ROM - V5-cm-11-20141102-SaberMOD-mondrianwifi.zip
V5 Kernel - V5-Kernel-20141102-Kernel-SaberMOD-mondrianwifi.zip
V4.1 (CPU 2457Mhz, GPU 500Mhz) - V4.1-cm-11-20140803-Linaro-O3-OC-mondrianwifi.zip
V4.1 Kernel (CPU 2457Mhz, GPU 500Mhz) - V4.1-cm-11-20140803-Kernel-Linaro-O3-OC-mondrianwifi.zip
V4.2 (CPU 2457Mhz, GPU 500Mhz) - V4.2-cm-11-20140809-Linaro-O3-OC-mondrianwifi.zip
V4.2 Kernel (CPU 2457Mhz, GPU 500Mhz) - V4.2-cm-11-20140809-Kernel-Linaro-O3-OC-mondrianwifi.zip
V4.3 (CPU 2457Mhz, GPU 500Mhz) - V4.3-cm-11-20140829-Linaro-O3-OC-mondrianwifi.zip
V4.3 Kernel (CPU 2457Mhz, GPU 500Mhz) - V4.3-cm-11-20140829-Kernel-Linaro-O3-OC-mondrianwifi.zip
Thanks @crpalmer @franciscofranco
XDA:DevDB Information
[SM-T320][ROM][KERNEL][4.4.4][-Ofast][SaberMod]CM11 [OC UV], ROM for the Samsung Galaxy Tab Pro 12.2, 10.1, 8.4
Contributors
vikrant82
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 3.4.x
Based On: CyanogenMod
Version Information
Status: Testing
Created 2014-07-17
Last Updated 2015-04-19
excellent!
I'll try it later.
I always flash PurePerformances™X mod after every nightlie and it feels somewhat faster after it. I did flashed it on all my devices.
Maybe you can insert it in your future builds.
Keep them coming !
LE: mod link fixed
Thanks for this... Will give it a shot!
For anyone wanting to try this.. So far so good here. Hasn't been running long enough to make any major comparisons yet. Clean flashed, so not sure about dirty flashing.
I installed it over nightly and it runs pretty well but the playstore icons bug is pretty bad.
For now I moved on to the next nightly but if you can fix that bug I will surely flash it again.
csjneek said:
I installed it over nightly and it runs pretty well but the playstore icons bug is pretty bad.
For now I moved on to the next nightly but if you can fix that bug I will surely flash it again.
Click to expand...
Click to collapse
Should be fixed with Linaro 4.9 (thats next). Trying out a few more optimizations for next build (expect to post one on weekend).
vikrant82 said:
Should be fixed with Linaro 4.9 (thats next). Trying out a few more optimizations for next build (expect to post one on weekend). Target is to beat benchmark scores from stock.
Click to expand...
Click to collapse
Don't pay attention to benchmarks....
If you want to meet or beat stock, just turn off thermal throttling, enable all 4 cores and set performance as the governor. Make it a fair comparison...
Finally a linaro build!! Keep up the great work! Could you modify the kernel too? Overclock cpu and gpu would be awesome...
Gesendet von meinem SM-T320 mit Tapatalk
crpalmer said:
Don't pay attention to benchmarks....
If you want to meet or beat stock, just turn off thermal throttling, enable all 4 cores and set performance as the governor. Make it a fair comparison...
Click to expand...
Click to collapse
@crpalmer
I suppose we are talking about /etc/thermal-engine-8974.conf, /etc/thermal-engine.conf (symlinked to thermal-engine-8960.conf) and /etc/thermald.conf (symlinked to thermal-8960.conf) on cm builds. They seem to be using different set of values from stock.
Can't we not use these values/files directly-from/similar-to stock builds ? As the thermal engine libs and binaries we are directly picking from stocks ?
Is stock too aggressive or CM too defensive ?
Also noticed that these linked files are broken as well. (no thermal-engine-8960.conf and thermal-8960.conf). Some build script issues ?
vikrant82 said:
@crpalmer
I suppose we are talking about /etc/thermal-engine-8974.conf, /etc/thermal-engine.conf (symlinked to thermal-engine-8960.conf) and /etc/thermald.conf (symlinked to thermal-8960.conf) on cm builds. They seem to be using different set of values from stock.
Can't we not using these values/files directly-from/similar-to stock builds ? As the thermal engine libs and binaries we are directly picking from stocks ?
Is stock too aggressive or CM too defensive ?
Click to expand...
Click to collapse
I wasn't suggesting that you turn that off permanently, that's just what the stock ROM is most likely (automatically) doing when you run a benchmark. That's how you get a higher score, not how you have a better ROM...
My point being, don't worry about whether or not the scores are better, worry about the whole experience being better (which is very much is). On a phone of mine, CM was way more performant even though it scored less than half of stock's Quadrant score.
vikrant82 said:
@crpalmer
I suppose we are talking about /etc/thermal-engine-8974.conf, /etc/thermal-engine.conf (symlinked to thermal-engine-8960.conf) and /etc/thermald.conf (symlinked to thermal-8960.conf) on cm builds. They seem to be using different set of values from stock.
Can't we not using these values/files directly-from/similar-to stock builds ? As the thermal engine libs and binaries we are directly picking from stocks ?
Is stock too aggressive or CM too defensive ?
Also noticed that these linked files are broken as well. (no thermal-engine-8960.conf and thermal-8960.conf). Some build script issues ?
Click to expand...
Click to collapse
How is the new build? Linaro 4.9?
Gesendet von meinem SM-T320 mit Tapatalk
crpalmer said:
I wasn't suggesting that you turn that off permanently, that's just what the stock ROM is most likely (automatically) doing when you run a benchmark. That's how you get a higher score, not how you have a better ROM...
My point being, don't worry about whether or not the scores are better, worry about the whole experience being better (which is very much is). On a phone of mine, CM was way more performant even though it scored less than half of stock's Quadrant score.
Click to expand...
Click to collapse
I agree benchmarks are just academic (and just nice-to-have). I was just suggesting that we could use same thermal configuration files as found in stock builds. Are these even the files that would affect benchmarks (thermal-engine*.conf and thermald*.conf) ? Are you suggesting that stock build just shuts off any kind of throttling as soon as it detects benchmark tests ? I thought only some devices did that and they got caught.
I am building with linaro 4.9 and have swapped out those conf files from stock. Lets see how it goes.
vikrant82 said:
I agree benchmarks are just academic (and just nice-to-have). I was just suggesting that we could use same thermal configuration files as found in stock builds. Are these even the files that would affect benchmarks ?
I am building with linaro 4.9 and have swapped out those conf files from stock. Lets see how it goes.
Click to expand...
Click to collapse
Are the messed up icons fixed in play store?
iamnotkurtcobain said:
Are the messed up icons fixed in play store?
Click to expand...
Click to collapse
Expecting them to get fixed with this build. Lets see.
vikrant82 said:
Expecting them to get fixed with this build. Lets see.
Click to expand...
Click to collapse
I'll test as soon as it is available
iamnotkurtcobain said:
I'll test as soon as it is available
Click to expand...
Click to collapse
Unfortunately, Linaro 4.9 is breaking stuff. Getting into a bootloop n all. Need more time.
vikrant82 said:
Unfortunately, Linaro 4.9 is breaking stuff. Getting into a bootlock n all. Need more time.
Click to expand...
Click to collapse
Hope you can fix it!
iamnotkurtcobain said:
Hope you can fix it!
Click to expand...
Click to collapse
Been struggling with some adreno crashes on boot when using 4.9 toolchain. Earlier I thought it's the compiler optimizations not playing well with 4.9. But I run into same without any customizations -
Here's the logcat if anyone wants to take a look.
http://pastebin.com/eS0eHvzL
If I can't get around these in a day or two, we'll come back to 4.8 and carry on with other optimizations. I read somewhere the gibberish icons are fixed on newer play store.
vikrant82 said:
Been struggling with some adreno crashes on boot when using 4.9 toolchain. Earlier I thought it's the compiler optimizations not playing well with 4.9. But I run into same without any customizations -
Here's the logcat if anyone wants to take a look.
http://pastebin.com/eS0eHvzL
If I can't get around these in a day or two, we'll come back to 4.8 and carry on with other optimizations. I read somewhere the gibberish icons are fixed on newer play store.
Click to expand...
Click to collapse
Its probably the adreno libs built using older tool chains.
vikrant82 said:
Its probably the adreno libs built using older tool chains.
Click to expand...
Click to collapse
Just posted another build with today's sources with both CPU and GPU overclocks. Had to go back to older 4.8 toolchain. The overclocks are running surprisingly stable on device.
The playstore icons issue is still not resolved. Its being discussed here. However, I am not too worried by it.
Features:
Based on Chroma Kernel (special credit for TomorrowLand_Ace work)
Blu_active Default Governor
Blu_plug - CPU Hotplug (removed Franco hotplug)
FIOPS I/O Scheduler
Enabled Overclocking CPU & GPU
Undervolted GPU
Build on Ubuntu 14.10
Kernel is secure
Compiled with lastest UBERTC 4.9.3, -O3 flags (GPU included), Graphite, hardfloat, and many other otimizations
FauxSound
PowerSuspend Driver
MSM Sleeper
Battery Life eXtender
LCD KCAL (Last version from @savoca, can't be tuned from any kernel manager for now)
Init.d Support
USB OTG
LZ4 (for a faster boot)
S2W / DT2W
Wake Gestures (huge thanks to @flar2)
Stereo Call Recording
Removed a lot of debug
Some Features from 3.7+ linux kernel
Upstream with Linux kernel .00
Full F2FS support (need to mod ramdisk to make it work, will make it automatic later)
Lots of optimizations from CAF, CM, and other kernels around xda
Main idea: Greatly patched kernel with the best governor, I/O scheduler and hotplug built with UBER toolchain.
Download for Lollipop 5.1
MOD EDIT, Download removed, rule 12 @gregbradley
Credits:
@TomorrowLand_Ace
@eng.stk
@franciscofranco
@faux123
@flar2
@show-p1984
@neobuddy89
@savoca
@RIPng
Source
If you want to support student and his work:
XDA:DevDB Information
Crystal Kernel, Kernel for the Google Nexus 5
Contributors
mastero9017
Source Code: https://github.com/mastero9017/hammerhead
Kernel Special Features:
Version Information
Status: Stable
Created 2015-04-03
Last Updated 2015-04-03
Reserved.
Where is the download link.? Can't open
Zonkoprince said:
Where is the download link.? Can't open
Click to expand...
Click to collapse
Fixed, link is under clickable Mediafire.
What app i should use to customise?
Zonkoprince said:
What app i should use to customise?
Click to expand...
Click to collapse
I suggest Kernel Auditor.
Kinda wondering could you maybe add some features from this kernel thread?
http://forum.xda-developers.com/showthread.php?t=2845768
It has nexus 5 kernel too but the devs mainly focused on n4 so maybe you could make the n5 version of it especially the 5.1 version. If it is allowed by the devs. Since the last commit is 2 months old and no new updates for 2 months
JJsevol said:
Ah makes sense now.
@mastero9017 are there any other changes you made from chroma besides the blu changes and toolchain? Liking the kernal so far :good:
Click to expand...
Click to collapse
Everything is listed in OP. I'm not sure yet about future of this kernel. TomorrowLand_Ace will provide great patches for kernel itself and i will try to port changes to blu modules from shamu and tweaks some values, flags, etc
Thread temporarily closed whilst I look in to the multiple reports made
@eng.stk has explicitly said that you have not got permission to share his work.
Download removed, thread remains closed
Argon kernel, for Android 8.1 & 9.0 ROM's (bacon).
Disclaimer:
use this kernel at your own risk. Flashing it without any knowledge of what you're doing may brick your device. I'm not responsible for any software/hardware damage.
Argon v11 is the last version for Oreo! Starting from v12 only Pie is supported.
Changelog:
v16.1 (August 11th)
support for OTG Y cables
minor bug fixes and security patches
Previous releases:
v16 (August 2nd)
kernel code base synced with LineageOS
lots of misc. bug fixes and small improvements
sdfat driver now replaces both vfat and exfat
some f2fs backports
v14 (April 24th)
built with the newest GCC toolchain for ARM
dynamic management of dirty page writebacks
some useless drivers have been removed (this might give us a few additional MB's of RAM)
a couple of improvements for the random number generator driver
IRQ threading is enabled by default (as suggested by Con Kolivas)
v13 (March 31st)
memory bandwidth overclock
lots of small updates and improvements (mainly for the assembly memory routines)
a few updates for the impulse CPU governor
new TCP congestion control algorithm: 'ascarex'
v12 (March 10th)
official Pie support (LineageOS 16 & Lineage-based ROMs)
small bug fixes and misc. tweaks
a few updates for the "impulse" CPU gov
memory management backports from Linux 3.8
lighter kernel (some debugging options have been turned off)
v11 (January 27th)
built with the newest ARM toolchain
power-efficient workqueues have been implemented in a couple of places
minor source updates & fixes
DDR bandwidth boost has been fixed
important updates for Sultan's CPU boost driver
v10.2 (January 19th)
synced with our LineageOS kernel (mainly bug fixes and security patches)
v10.1 (January 12th)
some source updates and bug fixes
v10 (December 29th)
built with the latest GCC 8 toolchain by Arm
some debugging options are disabled (this might slightly improve performance)
lots of small bug fixes and source updates
v9 (December 11th)
zzmoove governor updated to the latest version
boosted L2 cache frequencies
Spectrum support
Sultanxda's simple thermal driver (replaces Intellithermal)
miscellaneous kernel updates, backports and fixes
dynamic fsync has been (temporarily?) removed
v8.1 (November 23rd)
lots of kernel source updates & fixes
exFAT/sdFAT support
new CPU governors: intellimm, yankactive, zzmoove and impulse
dynamix fsync (disabled by default)
v8 (November 4th) - diff against v6:
built with GCC 8
old charging drivers (these are stable and work properly for everybody)
several improvements for the audio drivers, the memory management libraries, the CPU boosting driver, f2fs, zram, etc.
latest sdcardfs fixes from Google
Intellithermal (with configurable throttling threshold)
latest security fixes
CPU overclocking (disabled by default)
updated bricked hotplug
UKSM with automatic toggling (wip, it's not fully working as of now)
async fsync for ext4 and f2fs
v7.7 (October 23rd)
rebased on top of v7 + all the extra changes of v7.6
msm_hotplug removed (bricked is the default hotplug)
v7.6 (October 23rd)
completely rebased on top of Argon v6.1 (which seems to be the latest stable release) + the following changes
built with GCC 8.2
MSM hotplug enabled by default
cpu_input_boost improvements
latest sdcardfs updates
several other security fixes and improvements
v7.1, v7.2, v7.3, v7.4, v7.5 (October 10th - 11th - 15th - 16th - 17th)
stability fixes
v7 (October 9th)
msm_hotplug replaces bricked as the default hotplug
optimizations for msm8974 boards
older charging drivers from LineageOS 14.1 (they seem to fix all charging problems)
some more minor tweaks, fixes and optimizations
v6.1 (September 30th)
mpdecision is replaced by bricked hotplug by default
v6 (September 27th)
stability fixes
AIO optimizations reverted (this fixes filesystem errors for ext4 users)
slimbus overclock
several improvements and updates (for the ext4 fs, the LMK and many other drivers)
charging current interface
cpu_input_boost by Sultanxda (it replaces CAF's cpu_boost)
v5 (September 19th)
zram is supported
AIO optimizations & backports
minor tweaks and updates
v4 (September 15th)
Per-process reclaim
minor updates and improvements (including security fixes)
v3 (September 8th)
DDR bandwidth boost on screen unlock
misc. kernel updates, fixes and improvements
v2 (August 31st)
several secuirty fixes and kernel source updates
f2fs driver updates
new CPU hotplug: bricked hotplug
power-efficient workqueues are implemented in more drivers
v1 (August 24th)
based on idprophecy's kernel, thus it should be compatible with any Oreo ROM
built using QUVNTNM-TC, based on GCC 7.3.x
CPU underclocking (268,8 MHz)
several compiler optimizations enabled
sound contol by franciscofranco
lots of miscellaneous fixes and improvements
sysfs interface for Gentle Fair Sleepers and Arch power
power-efficient workqueues
Downloads
Latest version: here.
Argon kernel on MEGA
Argon kernel on AndroidFileHost
Thanks to:
@idprophecy
@dorimanx
@faux123
@Sultanxda
@CertifiedBlyndGuy
@osm0sis
@franciscofranco
@GalaticStryder
@nikhil18
the LineageOS team
and all the other authors of the hundreds of commits in Argon's github repo!
XDA:DevDB Information
Argon kernel for Oneplus One, Kernel for the OnePlus One
Contributors
Tomoms
Source Code: https://github.com/Tomoms/argon_kernel
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 16.1
Stable Release Date: 2019-08-11
Created 2018-08-24
Last Updated 2019-08-11
Reserved
How to set up the charging speed interface in Kernel Adiutor?
First thing, download the attached zip and decompress it. You'll find two .json files in it, place them in your internal storage and open KA. Go in the "Custom controls" tab, tap on the "+" button, choose "Import" and select the first of the files you downloaded, then import the second one too. Done! You can now delete the two files.
Keep in mind that the "0" value means that the standard charging logic will be used, and that the AC charging speed cannot be set to a value lower than 200 mAh, even though the slider allows you to set any value. If you set any value between 1 and 199, the driver will fallback to 200.
working fine with AEX 5.7.
is it compatible with oxygen os blobs or sultan blobs?
Running well for me on AEX 5.7.
antfior93 said:
is it compatible with oxygen os blobs or sultan blobs?
Click to expand...
Click to collapse
Starting from Oreo, all ROMs implement Sultan's camera, thus this kernel only supports Sultan's camera HAL.
New version is available
It's an important updates that brings lots of improvements (mainly "under the hood"), for more info I suggest you to check my Github repo!
Really nice work. Don't want to sound rude or something but is there a chance of getting a Pie build? ?
rolarocka said:
Really nice work. Don't want to sound rude or something but is there a chance of getting a Pie build?
Click to expand...
Click to collapse
Most probably, this kernel already works on Pie
You just need to flash it, then flash the Kernel Permissive Patcher (link - needed to set SELinux to Permissive before booting the OS) and you should be good to go. If you try, let me know the result!
What is the stock setting this kernel comes in? I want to try it but don't want to use root (for now). So I'm wondering what settings are default. Would kinda make this a flash and forget kinda kernel
twowheeler said:
What is the stock setting this kernel comes in? I want to try it but don't want to use root (for now). So I'm wondering what settings are default. Would kinda make this a flash and forget kinda kernel
Click to expand...
Click to collapse
The stock settings are kind of good. Not the best you could get, but close (I'll tweak the default configuration a little more in the future). If you're using idprophecy's ROM you will end up having maple as the default I/O scheduler, while if you're using other ROMs, I'm pretty sure you won't. Anyway, if you flash this kernel, I'm sure you'll benefit from the general improvements I implemented, which do not need any tweak to be enabled.
Works well on following ROMs;
-AOSiP 20180825( Argon v1 )
-TugaPower O25 ( Argon v2 )
Hi i installed it over AEX 5.7 . it works but charging is buggy. Keeps disconnecting and connecting .
tamboli007 said:
Hi i installed it over AEX 5.7 . it works but charging is buggy. Keeps disconnecting and connecting .
Click to expand...
Click to collapse
I have the same thing on all ROMs based on the LOS core. And this kernel is based, as I understand it, on the LOS core ... For example, with FranoKernel there are no such problems.
tamboli007 said:
Hi i installed it over AEX 5.7 . it works but charging is buggy. Keeps disconnecting and connecting .
Click to expand...
Click to collapse
MrYuraB said:
I have the same thing on all ROMs based on the LOS core. And this kernel is based, as I understand it, on the LOS core ... For example, with FranoKernel there are no such problems.
Click to expand...
Click to collapse
I experience the same issue when using a certain non-original (yet good-quality) cable. The weird thing is that if I charge the phone while it's turned off, it charges perfectly. Anyway, I can try to fix this issue. It shouldn't be difficult. I'll keep you informed.
Good to see you're still contributing for Bacon.
Tomoms said:
I experience the same issue when using a certain non-original (yet good-quality) cable. The weird thing is that if I charge the phone while it's turned off, it charges perfectly. Anyway, I can try to fix this issue. It shouldn't be difficult. I'll keep you informed.
Click to expand...
Click to collapse
Yesterday I tried to send you message, but it is why it is not sent... I agree
I've uploaded a new kernel!
Argon v3 is a small yet important update: it brings DDR bandwidth boost on screen unlock (basically, the RAM bandwidth is boosted when you unlock your phone so that opening an app immediately after waking the device from idle takes less time) and some general fixes & improvements for the kernel. More details are available on Github, as usual
Tomoms said:
I've uploaded a new kernel!
Argon v3 is a small yet important update: it brings DDR bandwidth boost on screen unlock (basically, the RAM bandwidth is boosted when you unlock your phone so that opening an app immediately after waking the device from idle takes less time) and some general fixes & improvements for the kernel. More details are available on Github, as usual
Click to expand...
Click to collapse
I've been loving the Kernel on AEX 5.7, but I've needed to reboot a few times because the screen won't turn on, or the screen has frozen.
Do you think that could be from the default underclock?
@Ruggerxpunk Same issue on my side since V2 version, but I don't have any logs cause I'm not using it at this moment.
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
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 bull****!
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.
Type 'su'
Type 'props'
Type '1' to edit the device fingerprint
Type 'f'
Type '13' to select Samsung
Type '24'
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.
OneUI Current Build Changelog
V2.0.27
Linux 4.9.190
CSG5 kernel source and ramdisk
Converted GPU workqueues to kthreads (thanks farovitus)
Previous Changelogs
V2.0.26
Linux 4.9.186
CSFC source and ramdisk
Removed various unneeded drivers
Disabled swap on AOSP
AOSP 2.0 build works again
V2.0.25
Linux 4.9.185
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
Oreo and GSI Current Build Changelog
V1.2.33
Linux 4.9.190
Previous Changelogs
V1.2.32
Linux 4.9.186
Removed various unneeded drivers
V1.2.31
Linux 4.9.185
Reverted Simple LMK on AOSP builds as it doesn't appear to be making reclaims correctly atm.
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
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.
Type 'su'
Type 'props'
Type '1' to edit the device fingerprint
Type 'f'
Type '13' to select Samsung
Type '23' or '24'
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.
Bluetooth connections does not stick. Latest oreo.
Edit: Install libsecure from magisk and the issue fixed.
burakgon said:
Can't connect to wifi. Bluetooth connections does not stick. Latest oreo.
Click to expand...
Click to collapse
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?
Eamo5 said:
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?
Click to expand...
Click to collapse
After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
burakgon said:
After connecting a different network, I could reconnect my old wifi. But after reboot bluetooth connections does not stick. Check with s pen.
Click to expand...
Click to collapse
You might need to use the libsecure_storage companion Magisk module to fix Bluetooth pairing on some ROMs.
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
Nice to see this here! Kudos
Good job man, this kernel working very good and Good battery life.. on my N9 TW keep going bro
Da-BOSS said:
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
Click to expand...
Click to collapse
The conservative scaling of frequencies should already return some battery life, but slightly worsen the scores of some synthetic benchmarks. This is counterbalanced by the introduction of 16ms PELT which will in return improve real world performance.
The OC build will be much more performance centred.
The UC build should reduce peak power drain, but most battery savings will occur in the standard build. As stated in the FAQ, undervolting is mostly irrelevant with EAS.
Trying to work out the script ATM with a talented Note 9 tester. Hopefully should be introduced soon
Eamo5 said:
The conservative scaling of frequencies should already return some battery life, but slightly worsen the scores of some synthetic benchmarks. This is counterbalanced by the introduction of 16ms PELT which will in return improve real world performance.
The OC build will be much more performance centred.
The UC build should reduce peak power drain, but most battery savings will occur in the standard build. As stated in the FAQ, undervolting is mostly irrelevant with EAS.
Trying to work out the script ATM with a talented Note 9 tester. Hopefully should be introduced soon
Click to expand...
Click to collapse
I'm really happy to hear that :victory: this is like a new year gift to my ears !:victory:
But I'm really sorry for not being specific... I know what you mean for the CPU undervolting is irrelevant I have readed the FAQ ....
But what about the GPU? Is undervolting is irrelevant for the GPU too? it is an achievement when maximizing GPU OC with undervolting since the GPU is the weakest part on the Exynos... a significant OC pump frequency with tweaking voltage will bring some performance pump on heavy graphics performance :fingers-crossed: see what I mean?
Waiting for your reply.... as your opinion matters to me alot
Again Thank you.. Thank you!
Da-BOSS said:
I'm really happy to hear that :victory: this is like a new year gift to my ears !:victory:
But I'm really sorry for not being specific... I know what you mean for the CPU undervolting is irrelevant I have readed the FAQ ....
But what about the GPU? Is undervolting is irrelevant for the GPU too? it is an achievement when maximizing GPU OC with undervolting since the GPU is the weakest part on the Exynos... a significant OC pump frequency with tweaking voltage will bring some performance pump on heavy graphics performance :fingers-crossed: see what I mean?
Waiting for your reply.... as your opinion matters to me alot
Again Thank you.. Thank you!
Click to expand...
Click to collapse
GPU Voltage control was originally ported over to the Exynos 9810 but the voltage control was seemingly broken. When GPU voltage control is working, I'll introduce it again. Underclocking the GPU and allowing to run at a lower minimum frequency is something I may eventually investigate and measure if there are any benefits.
Eamo5 said:
GPU Voltage control was originally ported over to the Exynos 9810 but the voltage control was seemingly broken. When GPU voltage control is working, I'll introduce it again. Underclocking the GPU and allowing to run at a lower minimum frequency is something I may eventually investigate and measure if there are any benefits.
Click to expand...
Click to collapse
Thank you :fingers-crossed::good:
Running this kernel for 24 hours. Battery life & smoothness improved. No problem yet. Stock latest oreo S2ARL3 Thank you.
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Eamo5 said:
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Click to expand...
Click to collapse
thank you sir.
to you and yours aswell
Eamo5 said:
Endurance Kernel V1.1.8
Happy New Years!
Linux 4.9.148
Fixed GPU minimum frequency on TW build
Download links updated in OP!
Click to expand...
Click to collapse
Nice! Happy New year to all XDA! Cheers :highfive:
Will see version for pie soon?