Skip to content

chickernel: stable-2 release

Compare
Choose a tag to compare
@chickendrop89 chickendrop89 released this 26 Aug 23:49
· 50 commits to android13-5.15-lts since this release
216596a
/*
* Your warranty is no longer valid, unless you lie.
*
* I am not responsible for bricked devices, strained relationships,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this kernel
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*
*/

A kernel carefully optimized for

  • low-memory, cpu, f2fs and scheduling performance
  • battery and power savings
Speciifically crafted for 4GB variant in mind ❤️
  • Supports tapas/topaz/sapphire/sapphiren

XDA Forums thread
SourceForge mirror

📋 Click here to see new changes introduced in this release
compilation: 
- tune our compiler specifically for sm6225-AD to achieve bigger performance improvements
- bump clang from 18.0.1 -> 19.0.0

sched:
- update the Capacity Aware Superset Scheduler (CASS) implementation

mm:
- stop kswapd when it is not needed to save resources.
- various performance improvements

cpuidle:
- revert teo util-awareness to reduce power usage
- various performance improvements
- various power usage improvements

kernel: 
- disable profiling support so we can reduce the kernel size
- unselect unrelated platform support to reduce kernel size 
- unselect unneeded errata workarounds not affecting our SoC to improve performance
- build `ZRAM` and `ZSMALLOC` modules into the kernel image, as most of the time, the external modules are outdated

merge:
- CAF (Qualcomm) changes
- Xiaomi changes
📋 Click here to see changelog from previous release(s)
mm: 
- mlgru: enable mlgru by default to reduce app killings in background

usb:
- fix usb tethering - stop system from panicking upon enabling usb-tethering in android settings

wakelocks:
- add timeout to wakelocks to stop system from not entering deep-sleep at all
- alarmtimer: minimize wakeup time to reduce power consumption
- avoid excessive and unnecessary wakeup attempts

sched:
- cass: add capacity aware superset scheduler (CASS) to improve single-core performance and latency
- fair: reduce PELT half-life time to increase interactivity
- core: reduce overhead and latency

net:
- set google's 'BBR' as the default TCP congestion algorithm to improve network performance
- add 'westwood' TCP congestion algorithm for users who prefer it
- use fq_codel by default

freezer: 
- reduce freeze timeout to avoid draining battery unnecessarily

governor: 
- make 'performance' the default CPU governor to improve boot performance - this will be reverted once boot completes anyway

mm:
- reduce swappiness to 35 since we have mlgru enabled to reduce aggressive swapping and reduce power consumption
- disable watermark boosting as it's a mess, and hurts performance on low-memory devices
- don't hog the CPU and zone lock in rmqueue_bulk to reduce system latency
- lower the non-hugetlbpage pageblock size to reduce scheduling delays
- micro-optimize PID maps
- reduce measurable overhead

cpuidle: 
- introduce teo util-awareness to reduce wakeup latency from deep-sleep and such
- add timer to stop wi-fi from staying idle to reduce power consumption
- prioritize 'teo' over 'menu' scheduler
- minor optimizations

f2fs:
- force fsync for better data integrity and lower data corruption risk
- reduce timeout for uncongestion to lower I/O latency
- reduce GC thread urgent sleep time to 50ms to improve performance on unencrypted system
- enlarge min_fsync_blocks to 20 to improve fsync performance
- enable ATGC and GC_MERGE by default to improve efficiency of garbage collection

rcu:
- enable lazy-rcu by default to increase battery savings on idle or low system load
- panic on RCU stall so we don't have to restart on deadlock manually
- minor optimizations

arm: 
- assign unbound workqueues to little CPU cluster by default to reduce power consumption
- import new optimized strcmp from ARM (manufacturer)
- disable legacy 16-bit calls support to reduce kernel image size

anykernel3: 
- support sapphire/sapphiren 

compilation: 
- compile with clang -O3 optimizations for maximal performance

debug: 
- binder: disable debugging and logging prints to reduce wasted cycles
- arm64: disable self-hosted debug by default

This is a stable 5.15.148 release built with latest clang-19.0.0 (-O3 optimization)

Installation guide:

  1. Download the kernel zip below
  2. Reboot to recovery and install it
  3. Enjoy

What about KernelSU?

  • This kernel is not built with kernelsu, and i suggest using LKM (loadable kernel module) variant of KernelSU instead
  • And also so you can use magisk without any conflict, or unnecessarily having/loading two superuser managers

Credits

⚠️ Report any bugs and problems here

Please, if you Ctrl-C + Ctrl-V my kernel, at least provide some credit for my efforts

GitHub Releases SourceForge