[KERNEL][4.9] Dark Ages Último


Recognized Developer
Aug 7, 2014
kuala Lumpur

Designed to give better battery life without compromising performance or features


- Latest Linux-stable and caf tags
- New profiles applied automatically on boot
- OC GPU to 725
- Klapse 5.0
- BFQ IO scheduler
- westwood TCP
- Advanced TCP congestion algorithms
- state notifier driver
- pixel_smurfutil governor (from pixel 3 and smurf kernel)
- Dynamic stune sched boost
- DS Boost
- Dynamic fsync
- CPU input boost
- Adreno GPU input boost
- Enable 19MHz idle GPU Frequency
- adaptive low memory killer
- Sound control
- USB fast-charge up to 900mAh
- Power-efficient workqueue enabled by default
- F2FS and sdcardFS support
- Latest wireguard
- Boeffla wakelock blocker
- Various IO Optimizations
- Check 3rd post for full changelogs


- Reboot to recovery
- Backup your current kernel(boot.img)
- Go to install
- Flash kernel zip
- Reboot
- Enjoy!!

- Website
- Beta builds Channel


- mdeejay for kernel base
- manolorey for old display drivers commits
- MOVZX for darkness control (and Reffanism for recommending it)
- Luan Halalko fro base build script
- all the people i cherry-picked from
- xda and google for having best tutorials/guides for everything

XDA:DevDB Information
Dark Ages, Kernel for the Xiaomi Redmi Note 5 / 5 Plus

blacksuan19, mdeejay, manolorey, rama892
Source Code: https://github.com/Blacksuan19/android_kernel_dark_ages

Kernel Special Features: focused on stability and battery

Version Information
Status: Stable
Current Stable Version: Último
Stable Release Date: 2020-11-15

Created 2018-06-28
Last Updated 2020-11-14
Last edited:


Recognized Developer
Aug 7, 2014
kuala Lumpur
starting from el octavo a balanced profile is included in the ramdisk by default.
if you want to override it use any app like Ex kernel manager or darkness or you could extract the zip, edit the profile script and zip it again and flash it
you can find some custom profiles in Ken's channel
and as from the beginning, the main focus was never gaming cuz games are a waste of time. if you want to game try and if you don't get the experience you expected to modify the settings, just don't expect me to make any gaming specific changes.
for normal folks, the default profile is as stable and efficient as it could ever get

To apply a profile import it in Darkness Control Profile Manager, also don't forget to set it to apply on boot

Download Darkness Control
Download Old Profiles (Dont use old profiles with new releases )

Balanced: Good for daily casual usage
Electron: same as balanced but with electron governor which I find more stable
Power saving electron: underclocked and balanced electron for a more battery saving approach
Last edited:


Recognized Developer
Aug 7, 2014
kuala Lumpur

Último 13/11/2020:
• Supports Android 11
• Upstream to latest Linux kernel tag
• Upstream wireguard to the latest release
• Fix Ramdisk overlay not applying
• Fix left headphone sound gain being 1 by default
• Fix top-app boosting issue
• Improved DStune boost
• General scheduler improvements
• Add support for speaker gain
• Many more changes I can't remember

Decimo 01/11:
Release Post

El Noveno 13/09:
Release Post

El Octavo 28/06:
Release Post

Séptimo 13/03:

* Latest Linux-stable and caf tags
* Compiled with dark-engine 2.0
* Add Electron governor
* Add BFQ IO scheduler (set as default)
* Enable power efficient work queue
* Add fingerprint boost drive
* Add state notifier driver
* TTL fixation
* Increase charging up to 2300mAh
* Enable lz4 zram compression
* Set default zram size to 510mb
* enable AutoSMP by default
* Disable LMK debugging by default
* Upstream CPU boost drive
* Tweak CPU boost values
* Overall better ram management
* Better frequency scaling (switch governor to electron)
* Default read ahead as 2048(better for 32GB+ devices)
* Add klpase drive(LiveDisplay Like)
* this release is more focused on better ram management and smoother experience on default settings if you want to game switch governor to performance, etc

Sexto 07/02:

- support for non treble has been dropped because we're moving to pie now (fully treble)
- Now based on the latest CAF pie tag for msm8953
- support for all display's
- merged latest 3.18 and CAF tags
- disable CPU boost by default
- AutoSMP hotplug
- Adreno idler
- MSM thermal control 3.0
- Kcal Controls
- sound control
- adaptive LMK and LMK process reclaim from Android GO devices
- Dynamic Fsync
- westwood TCP
- other fixes/ improvements etc
- this is a new kernel so not all features will be there, features will be added again gradually

Dark Santa Edition(Quinto) 25/12:

- Fix audio on roms with MIUI10 blobs
- tweaked for better stability and battery(no need for profiles)
- merge latest Linux-android-stable tags and changes
- Merge latest CAF tags
- Disable Gentle Fair Sleepers (more responsive UI)
- Kernel can be built inline with rom now (use darky-inline branch)

Cuarto 14/10:
- merged latest linux-stable tags and patches
- merged latest prima caf changes
- audio optimizations ( from LH kernel )
- added UKSM ( optimized for ARM devices )
- upstream some modules
- rework CPU, GPU frequency ( more efficient )
- enable dynamic fsync by default ( having no fsync at all isn't exactly a good situation )
- clean up unnecessary defconfig's
- add process force reclaim driver ( better ram management )
- add kernel memory controller from android GO devices
- Add USB fast charging
- Add Support for various USB peripheral ( joystick, storage, printer, mouse and keyboard)
- Add backlight dimmer ( alternative way of adjusting brightness below what the system usually allows, kinda fixes brightness issues on some Pie ROM's and MIUI )
- other backports from newer kernels
- updated profiles

Tercero 12/09:
=> Switched to anykernel2 for packaging
=> One zip for both treble and non
=> Optimized Toolchain for Cortex-A53
=> Merge latest Linux stable tags and patches
=> Merge latest CAF tag 'LA.UM.6.6.r1-09600-89xx.0'
=> Fix vendor mismatch error on boot in treble roms
=> Add speaker gain
=> Fix sound gain gets reset after a while
=> Max out CPU freq when an app is launched (apps will launch faster)
=> Tweaked msm_performance for more efficient and faster hotplugging
=> Update and tweak cpu_boost
=> Add and tweak adrenoboost
=> Tweaked adreno_idler for better GPU frequency control
=> Kill Kcal inverse option (nobody uses that)
=> Enable LZ4 for ZRAM compression
=> Optimized idle sleep, fair sleepers
=> Upstream Wireguard, Zsmalloc and Zram
=> Add USB HID gadget support
=> Enable Zcache
=> Optimized boot time
=> Other upstreams and Backports from newer kernels
=> removed cpu_input_boost
=> Updated profiles

Segundo 25/07:
=> Treble Varient is now available (Tested on Android P)
=> Merge latest 3.18.116 tags
=> Merge latest patches from linux-stable
=> Merge latest LA.UM.6.6.r1-09200-89xx.0 CAF tags
=> Intreducting Darkness Control Kernel Manager

Segundo 21/07:
=> compiled with latest GCC 8
=> merge 3.18.114, 3.18.115 kernel tags
=> upstream kernel patches from linux-stable
=> merge LA.UM.6.6.r1-09000-89xx.0, LA.UM.6.6.r1-09200-89xx.0 CAF tages
=> sources cleanup
=> add PowerSuspend drivers v1.7
=> Add and Use snappy compression v3 library by default instead if LZ4
=> Add sound control
=> Add Alucard, Darkness, Nightmare, Electron, Relaxed and ElementalX governors
=> New CPU, GPU frequency's design
=> tweaked interactive governor for better battery life and sleep
=> tweaked CPU boost for shorter boosting times
=> Add AutoSMP hotplug (disabled by default)
=> Add state_notifier driver
=> Add input boost driver
=> SlimBus overclock
=> Intelli-Thermal 3.0 control (disabled by default)
=> Hexagon DSP Optimizations
=> Qnova charging interface
=> Add zen and maple I/O schedulers
=> Add driver to change I/O scheduler to noop when screen is off
=> Add Dynamic Fsync (disabled by default)
=> Fsync On/Off Switch (disabled by default)
=> Add sdFAT File System driver
=> Add Frandom RNG Driver
=> And a lot more under the hood work
=> for more detailed changelog check my commit history

=> initial release
Last edited:


Recognized Developer
Aug 7, 2014
kuala Lumpur
Which ROM can use this?
- Any Android 8.x or 9.x ROM, except MIUI

Why no overclocking?
- I don't find it useful for the profile this kernel is following which is stability and battery backup above all, if you want to overclock use LH, genom or zucc kernels

Why no spectrum support?
- it's an unnecessary gimmick, those darkness control profiles do the same configs and have a lot more options

Why all the cores are running all the time?
- turn on AutoSMP from hotplug section in darkness control

which profile should I use?
- any electron profile should be better than interactive because electron governor handles frequency scaling a lot better than interactive
Last edited:


Senior Member
Jun 17, 2018
What does "Adreno ilder" do? Googling around comes up with nothing
It is best for battery .
Performance is okay.
Stability is prfct.
It is best it only uses those CPU which is needed like if you are doing multitasking a lot then it will wakeup other CPUs but while the phone is asleep it only keeps 1-2 CPU up , that's y its best for battery