[KERNEL][MIDO][Oreo/Pie] ElectraBlue Kernel 21.0 - July 06 - Redmi Note 4

Search This thread

LordArcadius

Senior Member
Mar 29, 2015
1,279
2,818
Delhi
www.vipuljha.com
zNw8Y5vh.jpg


Electrifying Android!​

About ElectraBlue Kernel
ElectraBlue Kernel was first introduced to Android One 1st generation devices. Now it is also available for Redmi Note 4. It is developed to unleash the full power of your device. This kernel is developed in a manner to give you a balanced blend between battery life and performance. I added various tweaks i.e. governors, i/o schedulers, hotplug drivers and various other patches and fixes from many great kernels. The kernel will get updates regularly with new features/patches/fixes. I am continuously trying to make it more better day by day. I believe in quality over quantity.

Code:
#include 
/*
 * I am not responsible for bricked devices, dead SD cards, thermonuclear
 * war, or the current economic crisis caused by you following these
 * directions. YOU are choosing to make these modificiations, and
 * if you point your finger at me for messing up your device, I will
 * laugh at you.
 */

Features
  • Compiled with Linaro 7.3.x Toolchain (Optimized for Cortex-A53)
  • Linux version 3.18.140
  • Android Oreo & Pie support
  • Latest CAF tag "LA.UM.7.6.r1-05300-89xx.0"
  • DTS Eagle
  • Significantly improved performance & battery life
  • sdFAT filesystem (supports ext4, vFat and others too)
  • WireGuard VPN support
  • Spectrum support
  • KCAL v2 colour control
  • Sound Control
  • Qnovo charging driver for maintaining temperature
  • Boeffla wakelock blocker
  • Kernel Sampage Merging (KSM)
  • Disabled CRC check (up to 30% faster I/O)
  • USB Fastcharge
  • Vibration intensity control
  • F2FS support
  • Governors : alucard, conservative, ondemand, userspace, powerspace, interactive(default), performance, electron
  • I/O Schedulers : noop, deadline, cfq, maple, fiops, sio, bfq(default), zen
  • Westwood as default TCP congestion algrorithm

Requirements
  • Must be on Oreo/Pie based ROM (MIUI not supported, only Lineage and AOSP based ROMs supported as of now)
  • Must be on stock kernel of your ROM
  • A custom recovery (TWRP) should be installed

How to flash
  • Download the zip file of kernel from given below link
  • Boot your device into recovery mode
  • Select ElectraBlue-xx-xxxx-xx-mido.zip file
  • Flash the zip
  • Reboot
Enjoy!!

Downloads

ElectraBlue latest build

Credits
- @abhishek987
- @The_Flash
- @akhilnarang
- @flar2
- @MSF-Jarvis
- @frap129
- @franciscofranco
- @Adesh15 (For sending some useful pull requests)
- @krasCGQ
- Kernel Talk Telegram group

XDA:DevDB Information
ElectraBlue Kernel For Xiaomi Redmi Note 4 mido, Kernel for the Xiaomi Redmi Note 4

Contributors
LordArcadius
Source Code: https://github.com/LordArcadius/electrablue_mido

Kernel Special Features:

Version Information
Status: Stable
Current Stable Version: 21.0
Stable Release Date: 2019-07-06

Created 2017-08-13
Last Updated 2019-07-06
 
Last edited:

LordArcadius

Senior Member
Mar 29, 2015
1,279
2,818
Delhi
www.vipuljha.com
Important Information

  • Getting Fruitloops(bootloop)? Bugs? Or any other issue? Then post here with logs! cause LOGS or GTFO.
  • Do read the OP before posting any question or any issue.
  • Do not ask same question again
  • Every included feature of this kernel will be given in the features section or in changelogs. Do not ask whether this kernel have this and that feature.
  • If you do not read OP or ask same question again then you'll be ignored.
  • For further discussions join our Telegram group:- http://t.me/eb_kernel

Happy Flashing!
 
Last edited:

LordArcadius

Senior Member
Mar 29, 2015
1,279
2,818
Delhi
www.vipuljha.com
Changelogs

ElectraBlue Kernel 21.0 - July 06, 2019
  • Upstream to Linux 3.18.140
  • Merge latest CAF tag
  • Upstream prima to latest
  • Removed all hacks related to display wake up
  • Much faster display wake up
  • Use AnyKernel3 instead of AnyKernel2

ElectraBlue Kernel 20.0 - April 13, 2019
  • Fixed app force close issue
  • Removed CPU input and Devfreq boost
  • Updated the DTS Eagle drivers

ElectraBlue Kernel 19.0 - April 12, 2019
  • Upstreamed Linux to 3.18.138
  • Merged latest CAF tag
  • Merged latest prima
  • Drop non-treble ROMs support
  • AnyKernel2 upstreams
  • Added CPU Input Boost
  • Added Devfreq Boost
  • Improved app loading speed
  • Fixed Spectrum

ElectraBlue Kernel 18.0 - March 24, 2019
  • Upstream to Linux 3.18.137
  • Upstream to latest CAF tag
  • Upstream prima
  • Reset LMK to 3.18-common tree
  • Set interactive as default governor
  • Addded FK manager profile

ElectraBlue Kernel 17.0 - Feb 19, 2019
  • Fixed touch to focus issue in Camera
  • Other under the hood changes

ElectraBlue Kernel 16.0 - Feb 11, 2019
  • Linux kernel upstream to 3.18.134
  • CAF upstream to latest tag
  • WLAN Prima upstream to latest tag

ElectraBlue Kernel 15.0 - Jan 13, 2019
  • Upstreamed to 3.18.132
  • Upstreamed to latest CAF tag
  • Fingerprint unlock speed improvements
  • Display wake-up improvements
  • Added Adreno boost

ElectraBlue Kernel 14.0 - Dec 28, 2018
  • Rebased the kernel to CAF Pie tag
  • Upstreamed to Linux 3.18.131
  • Upstreamed CAF tag
  • Upstreamed prima to latest
  • Debloated the kernel
  • Removed OC & UC
  • Upstreamed F2FS
  • Other under the hood optimisations

ElectraBlue Kernel 13.0 - Sep 04, 2018
  • Upstreamed to 3.18.120
  • Merged latest CAF Tag (LA.UM.6.6.r1-09200-89xx.0)
  • Huge update to spectrum profiles
  • Fixed all the spectrum profile issues
  • Introduced new frequency table by Raphielscape
  • CPU Overclocked to 2.1 GHz & Underclocked to 195 MHz
  • GPU Overclocked to 750 MHz & Underclocked to 200 MHz
  • Many kgsl optimsations kanged from Raphielscape
  • Added back missing frandom generator
  • Unified treble & non-treble builds into one zip! Thanks to KrasCGQ
  • Many under the hood optimisations & fixes

ElectraBlue Kernel 12.1 - July 23, 2018
  • Upstreamed to 3.18.116
  • Merged latest CAF Tag (LA.UM.6.6.r1-09200-89xx.0)
  • Updated DTS Eagle driver

ElectraBlue Kernel 12.0 - July 16, 2018
  • Upstreamed to 3.18.115
  • Merged latest CAF Tag (LA.UM.6.6.r1-09000-89xx.0)
  • Added latest DTS Eagle driver
  • BFQ I/O Scheduler updated to latest v8
  • Updated F2FS
  • Upstreamed Crypto
  • Added latest sdFAT support
  • Added CPU wake boost driver
  • Android BInder upstreams
  • Device specific Xiaomi upstreams
  • Fixed some more memory leaks
  • Updated WireGuard driver
  • Added more sched optimisations
  • Work queue optimisations
  • Re-added the Fingerprint boost driver
  • Added support for Treble ROMs

ElectraBlue Kernel 11.0 - April 14, 2018
  • Upstreamed to 3.18.105
  • Latest CAF Tag
  • Upstreamed Crypto
  • Upstreamed F2FS
  • Latest display drivers
  • Imported all the latest changes from Xiaomi
  • Fixed Omnivision Camera crash
  • Many under the hood optimizations and fixes
  • Switched to LInaro 7.3.x Optimized
  • Switched to Google common BInder
  • Upstream the BInder to latest
  • Live Display support added
  • Performance & battery life improvements

ElectraBlue Kernel 10.0 - February 11, 2018
  • Upstreamed to latest Linux 3.18.94
  • Latest CAF tag
  • Fingerprint sensor boost driver made its way again
  • Sched optimizations
  • Deep sleep issue fixed
  • Added Sweep to wake & sweep to sleep gestures
  • Added fix for new Omnivision camera blobs
  • CPU Boost optimisations
  • KCAL improvements
  • Enabled KSM again
  • Many under the hood optimizations

ElectraBlue Kernel 9.0 - January 07, 2018
  • Upstreamed to 3.18.91
  • Latest CAF Tag for both oreo and nougat builds
  • WireGuard support added
  • New display panel support added
  • Fixed zRAM
  • Added some Cortex-A53 specific optimisations
  • Goodix fingerprint sensor improvements
  • And many more improvements, check github for more info.

ElectraBlue Kernel 8.1 - December 10, 2017
  • Upstreamed 3.18.85 to 3.18.87
  • Removed CPU Quiet (It was unstable)
  • Some zwap optimisations
  • Some other minor changes

ElectraBlue Kernel 8.0 - November 30, 2017
  • Rebased to @abhishek987's latest Oreo kernel source
  • Added CPU Quiet again! Works perfectly
  • Upstreamed to latest Linux 3.18.85
  • Cleaned up many useless stuffs
  • Improved performance and battery life (reported by testers)
  • Download server moved to Google Drive from AFH(It sucks from past few weeks)

ElectraBlue Kernel 7.0 - November 23, 2017
  • Upstreamed to 3.18.83
  • Switched to LInaro 7.2.x Cortex-A53 optimised toolchain
  • Removed safetynet flags (no need of magisk to bypass safteynet)
  • Removed previous wakelock blocker
  • Added Boeffla wakelock blocker
  • Upstream Crypto
  • Completely removed Lazyplug
  • Spectrum profile update
  • Added Qnovo driver for maintaining temperature while charging
  • Completely removed CPU Quiet
  • Some other changes. Check full changelogs HERE

ElectraBlue Kernel 6.1 - November 02, 2017
  • Upstreamed to 3.18.79
  • Full changelogs are HERE

ElectraBlue Kernel 6.0 - October 20, 2017

  • Upstreamed to 3.18.76
  • Slimbus OC
  • Fixed random reboot issue
  • Fixed lags in Spectrum battery profile
  • Spectrum profiles are updated
  • Many fixes related to performance and battery
  • Removed gentle fair sleepers
  • Allow all 8 cores on bootup
  • Full changelogs are HERE

ElectraBlue Kernel 5.0 - October 01, 2017

  • Upstreamed to 3.18.72
  • Added Spectrum support
  • Added HID gadgets support (Thanks to @h4waii)
  • Added LazyPlug Hotplug driver
  • Added chill, relaxed and electron CPU governors
  • CPU boost optimizations
  • Adreno boost optimizations
  • Tuned interactive governor
  • Zswap optimizations
  • Added Snappy compression/decompression library support
  • Many more performance and battery life related improvements
  • Full changelogs are HERE

ElectraBlue Kernel 4.0 - September 09, 2017

  • Upstreamed to 3.18.70
  • Android 8.0 Oreo support added
  • Reduced CPU Load Average
  • Optimised ARM RWSEM Algorithm
  • Fix some more memory leaks
  • Fixed lags in Adreno Idler
  • Added zzmoove governor
  • Unlock HZ options
  • Disable quick wakeup driver
  • Removed AutoSMP Hotplug
  • Full changelogs HERE

Older Changelogs
ElectraBlue 3.0 - August 26, 2017
  • Readded Adreno idler
  • Adreno idler disabled by default
  • Upstreamed to LInux 3.18.67
  • Added state notifier
  • Added quick wakeup driver
  • Added early suspend
  • Added LCD notifier
  • Added power suspend driver
  • Added cpu quiet framework
  • Disabled FP boost
  • Added adreno boost
  • Tweaked interactive governor
  • Merged CAF tag LA.UM.5.6.r1-05400-89xx.0
  • Added BFQ I/O sched
  • Disabled CPU L2 cache while playing video
  • Switched to Linaro 7.1.x toolchain
  • Fix many memory leaks
  • Added AutoSMP(doesn't work ATM)
  • Added gentle fair sleepers
  • Added Arch power
  • Full Changelogs HERE

ElectraBlue 2.0 - August 15, 2017
Code:
Added KCAL Colour Control
Added Sound control
Added Fingerprint sensor boost driver
Added Adreno idler
Enabled westwood, htcp and bic TCP congestion algorithms
Enabled Kernel Sampage Merging
Some optimisations and improvements in performance and battery life
4affb58 eb.sh: Update USER
b0683dc mido_defconfig: ElectraBlue 1.1->ElectraBlue 2.0
8d21576 mdss_fb: backlight dimmer option
df22871 mido_defconfig: Enable Sound control and Kernel Sampage Merging (KSM)
11843ba ASoC: msm8x16-wcd: add speaker gain and prevent reset
38472a9 ASoC: msm8x16-wcd: Sound control: allow further reduction of digital gain
60fa725 ASoC: msm8x16-wcd: Sound control: add mic gain
2c7871611 ASoC: msm8x16-wcd: Sound control
f920d9b mido_defconfig: Add exFAT support
d79c728 Add exFAT support
873cfde Revert "msm: mdss: Use a high priority WQ for irq_done work"
4d10cdd msm: mdss: Use a high priority WQ for irq_done work
17bb40c2 workqueue: Implement delayed_work_busy()
5da5736 msm: qpnp-haptic: Use a high-priority workqueue for haptics
2c3352f mido_defconfig: Enable FP Boost
cf57acd fp-boost: Decrease duration to 2 seconds
376ebde fp-boost: Set priority to max
74455d6 cpufreq: Introduce fingerprint boost driver
3e52b0b mm: Set vm swapiness to 0
3fa7236 adreno_idler: fix a declaration after statement warning I should just disable these but whatever.
f930214 adreno_idler: Add display state awareness
6516f4a adreno_idler: fix-up some comments
2803718 adreno_idler: fix-up type definitions
b25e00f adreno_idler: remove frequency bump
7dd3bb5 adreno_idler: switch to count based instead of time based
eba3920 mido_defconfig: Enable Adreno Idler
17cd016 Introduce Adreno idler for devfreq-based Adreno devices
4f65cf7 Merge branch 'nougat' of git://github.com/Adesh15/electrablue_mido into nougat
15dc057 mido_defconfig: Enable KCAL
d633554 msm: mdss: KCAL: disable igc update
34bafa7 msm: mdss: KCAL: Send a pp display commit when changes are made
39c5f15 mdss: mdp: kcal for mdss_mdp_v1_7
bb8cb89 msm: mdss: kcal: Only apply updates on index 0
2398b02 msm: mdss: KCAL: Send a pp display commit when changes are made
6b7a074 msm: mdss: KCAL: Do not read from picture adjustment registers
f2263d1 msm: mdss: KCAL: Read values from MDP registers wherever possible
5e1fe2c msm: mdss: KCAL: Apply default values on boot
166e081 msm: mdss: KCAL: Queue changes when panel is powered off
4e8e46d msm: mdss: KCAL: Remove MODULE_DESCRIPTION
c3b7b0b msm: mdss: KCAL: Update Kconfig description
c1c2cab msm: mdss: KCAL: Update according to linux guidelines and checkpatch.pl
f858849 msm: mdss: KCAL: Check panel power state before applying values
3ce1f4e msm: mdss: KCAL: Allow kcal_enable to control all post-processing features
fbf5470 msm: mdss: Keep KCAL within its own source file
567026c msm: mdss: Remove deprecated __dev* markings
2f64e0f msm: mdss: Add pa_v2 support to KCAL
8309fbd msm: mdss: Replace PGC implementation with PCC for KCAL
6ee27aa msm: mdss: Add KCAL support for post processing control [v2]
3212819 sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire. From [url]http://ripke.com/loadavg/moire[/url]
10660a7 int_sqrt: Improve 3x faster integer sqrt.
1755d1a int_sqrt: correction square root algo with naming

ElectraBlue 1.1 - August 13, 2017
Many commits have been picked from @sys01's repo cause they were great. Thanks to him.
Code:
Upstream from 3.18.64 to 3.18.65
Disabled CRC check (up to 30% faster I/O)
USB Fastcharge
Switch for Fsync
CRC & SHA256 crypto algorithms
Blocked many wakelocks
HZ 1000 for best battery & performance
fffe259 Update: ElectraBlue 1.1_r01->ElectraBlue 1.1 Revisions will not be mentioned in Kernel version from now
cef3c7a Update: ElectraBlue 1.0_r69->ElectraBlue 1.1_r01
135757f mido_defconfig: Enable USB fastcharge
70d71e6 drivers: misc: implement usb fast charge mode
12e1574 Revert "USB fastcharge for kenzo"
4c825f0 Disable crc check for faster IO
ba9bfb8 msm: thermal: Check temperature only if probed
3203fd9 msm: thermal: Add sysfs nodes to control parameters
b99ed41 proc: much faster /proc/vmstat
248ea2c power: process: drecrease time to enter sleep
66204e6 Arm64: Enable Dcache word access
7212a67 Topology: Enhance For MultiCore Decision Making
307eec5 tcp_output: set initial TCP window size to 64K
0b397e3 USB fastcharge for kenzo
8f04a66 cpufreq: fallback to interactive if governor is not found
33d8c3e Added fsync on/off support.
146bfa7 mido_defconfig: Enable CRC32 & SHA256
baff483 arm64: crypto: reduce priority of core AES cipher
7342427 arm64/crypto: use crypto instructions to generate AES key schedule
6d48847 arm64: crypto: increase AES interleave to 4x
3f3020e arm64/crypto: issue aese/aesmc instructions in pairs
dd14a55 arm64: crypto: Change priority of arm64 aes cipher.
9f934cd crypto: arm64/crc32 - bring in line with generic CRC32
9d6a158 crypto: crc32 - Add ARM64 CRC32 hw accelerated module
dd3178b AIO: Don't plug the I/O queue in do_io_submit()
4354330 BACKPORT: ext4: fix data exposure after a crash
edb4e1d msm_performance: don't let userspace change min/max freq policy by default
ad0f708 msm_performance: fix input boosting disable not sticking on big cluster
25ad37e msm_performance: Make input boosting optional
6847437a qcom: msm-core: uninterruptible wait
53ef487 msm: Use interruptible wait to not affect load average & reduce load avg
3d7ee0b msm: Use interruptible wait to not affect load average
7a3c01d cpufreq: cpu-boost: don't boost if input_boost_ms is <= 0
b99f8bc cpufreq: cpu-boost: export input_boost_enable to userspace
bbcb708 cpufreq: cpu-boost: don't boost over user set max freq
24f0cd9 drivers: cpu-boost: optimize policy update loop on input cpufreq boost
c774311 cpufreq: cpu-boost: set interval between consecutive boosts to be at least the duration of the boost instead of a bigger value
1ff9577 drivers: wakeup: squash wakelock blocking
b5a58c2 arm64: lib: improve copy_page to deal with 128 bytes at a time
7e9ac48 arm64: make default ARM64_DMA_IOMMU_ALIGNMENT as 9
c92d687 arm64: strcmp: align to 64B cache line
9edc2bc arm64: lib: memory utilities optimization
30fdc6a arm64: topology: fix cpu power calculation
9c7c59b arm64: eliminate the .eh_frame sections from vmlinux and kernel modules
147cbe5 sched: Remove heavy task calc. in sched_freq_input
c11e073 cpufreq: interactive: Skip timer when policy->min == policy->max
89a51ee cpufreq: interactive governor drops bits in time calculation
2752dea Convert few critical drivers to use msecs_to_jiffies insted of HZ
51563e8 CHROMIUM: cpufreq: interactive: calculate load before freq change
bffa05e Linux 3.18.65
fafedfa ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output
724c838 udp: consistently apply ufo or fragmentation
1bfcb94 revert "ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output"
1cc2f05 packet: fix tp_reserve race in packet_set_ring
7767431 net: avoid skb_warn_bad_offload false positives on UFO
99f375c tcp: fastopen: tcp_connect() must refresh the route
cc9e850 net: sched: set xt_tgchk_param par.nft_compat as 0 in ipt_init_target
3b0c985 net: fix keepalive code vs TCP_FASTOPEN_CONNECT
51e2ad3 tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states
d71d105 Merge branch 'Adesh15-nougat' into nougat
23767be iosched_switcher: Remove unneeded code in change_elevator()
c3856a6 iosched_switcher: Ensure the previous elevator name is always present
12d5516 dm: Configure the I/O sched switcher for dm block devices
b85e846 scsi: sd: Configure the I/O sched switcher for sda too
f50dc61 iosched_switcher: Allow multiple block devices to be used
4ad034a scsi: sd: Configure the I/O sched switcher for the sde block device
d27a9e3 block: Add driver to change the I/O scheduler when the screen turns off
1beac89 setlocalversion: Removed + sign
64a84bb super.c: Fixed a mess
140645b f2fs: sanity check checkpoint segno and blkoff
a72749b Revert "f2fs: sanity check checkpoint segno and blkoff"

ElectraBlue 1.0_r69 - August 13, 2017
Code:
Upstreamed to latest Linux 3.18.64
Added maple, sio, fiops, zen I/O schedulers
Added alucard, darkness, nightmare, blu_active governors
Added F2FS support
Compiled using UberTC 6.0
For full changelogs visit [URL="https://github.com/LordArcadius/electrablue_mido/commits/nougat"]HERE[/URL]
 
Last edited:

PriPhaze

Senior Member
Oct 3, 2014
941
359
OnePlus 7 Pro
If I already on f2fs filesystem, then want to update my current ROM, do I need clean install the ROM or just dirty flash ROM as usual?

You can just reflash boot.img of your current rom if you was using another custom kernel, then intsall this kernel and good to go. There's no need to dirty flash the whole ROM.
 

LordArcadius

Senior Member
Mar 29, 2015
1,279
2,818
Delhi
www.vipuljha.com
If I already on f2fs filesystem, then want to update my current ROM, do I need clean install the ROM or just dirty flash ROM as usual?
You can do whatever you want mate. Basically every ROM for mido comes with the kernel that has f2fs support. It's upto you that you want to clean install your ROM or do a dirty flash. Flashing process won't be different for f2fs mate.

You can just reflash boot.img of your current rom if you was using another custom kernel, then intsall this kernel and good to go. There's no need to dirty flash the whole ROM.
He's saying something else bro. He's already on f2fs.

Will try... thanks
Great!

Does it have kcal support??
I will add KCAL in next build ?

Nais Job sir, added to index!
Thanks Sir _/\_

Can't wait to try! Thanks for your effort for the kernel!!!!
?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 183
    zNw8Y5vh.jpg


    Electrifying Android!​

    About ElectraBlue Kernel
    ElectraBlue Kernel was first introduced to Android One 1st generation devices. Now it is also available for Redmi Note 4. It is developed to unleash the full power of your device. This kernel is developed in a manner to give you a balanced blend between battery life and performance. I added various tweaks i.e. governors, i/o schedulers, hotplug drivers and various other patches and fixes from many great kernels. The kernel will get updates regularly with new features/patches/fixes. I am continuously trying to make it more better day by day. I believe in quality over quantity.

    Code:
    #include 
    /*
     * I am not responsible for bricked devices, dead SD cards, thermonuclear
     * war, or the current economic crisis caused by you following these
     * directions. YOU are choosing to make these modificiations, and
     * if you point your finger at me for messing up your device, I will
     * laugh at you.
     */

    Features
    • Compiled with Linaro 7.3.x Toolchain (Optimized for Cortex-A53)
    • Linux version 3.18.140
    • Android Oreo & Pie support
    • Latest CAF tag "LA.UM.7.6.r1-05300-89xx.0"
    • DTS Eagle
    • Significantly improved performance & battery life
    • sdFAT filesystem (supports ext4, vFat and others too)
    • WireGuard VPN support
    • Spectrum support
    • KCAL v2 colour control
    • Sound Control
    • Qnovo charging driver for maintaining temperature
    • Boeffla wakelock blocker
    • Kernel Sampage Merging (KSM)
    • Disabled CRC check (up to 30% faster I/O)
    • USB Fastcharge
    • Vibration intensity control
    • F2FS support
    • Governors : alucard, conservative, ondemand, userspace, powerspace, interactive(default), performance, electron
    • I/O Schedulers : noop, deadline, cfq, maple, fiops, sio, bfq(default), zen
    • Westwood as default TCP congestion algrorithm

    Requirements
    • Must be on Oreo/Pie based ROM (MIUI not supported, only Lineage and AOSP based ROMs supported as of now)
    • Must be on stock kernel of your ROM
    • A custom recovery (TWRP) should be installed

    How to flash
    • Download the zip file of kernel from given below link
    • Boot your device into recovery mode
    • Select ElectraBlue-xx-xxxx-xx-mido.zip file
    • Flash the zip
    • Reboot
    Enjoy!!

    Downloads

    ElectraBlue latest build

    Credits
    - @abhishek987
    - @The_Flash
    - @akhilnarang
    - @flar2
    - @MSF-Jarvis
    - @frap129
    - @franciscofranco
    - @Adesh15 (For sending some useful pull requests)
    - @krasCGQ
    - Kernel Talk Telegram group

    XDA:DevDB Information
    ElectraBlue Kernel For Xiaomi Redmi Note 4 mido, Kernel for the Xiaomi Redmi Note 4

    Contributors
    LordArcadius
    Source Code: https://github.com/LordArcadius/electrablue_mido

    Kernel Special Features:

    Version Information
    Status: Stable
    Current Stable Version: 21.0
    Stable Release Date: 2019-07-06

    Created 2017-08-13
    Last Updated 2019-07-06
    41
    Important Information

    • Getting Fruitloops(bootloop)? Bugs? Or any other issue? Then post here with logs! cause LOGS or GTFO.
    • Do read the OP before posting any question or any issue.
    • Do not ask same question again
    • Every included feature of this kernel will be given in the features section or in changelogs. Do not ask whether this kernel have this and that feature.
    • If you do not read OP or ask same question again then you'll be ignored.
    • For further discussions join our Telegram group:- http://t.me/eb_kernel

    Happy Flashing!
    36
    New Update!

    ElectraBlue Kernel 9.0 - January 07, 2018
    • Upstreamed to 3.18.91
    • Latest CAF Tag for both oreo and nougat builds
    • Android 8.1 support added
    • WireGuard support added
    • New display panel support added
    • Fixed zRAM
    • Added some Cortex-A53 specific optimisations
    • Goodix fingerprint sensor improvements
    • And many more improvements, check github for more info.


    Full changelog: https://goo.gl/V8qKX7

    Important Information: https://goo.gl/LReMeS

    XDA Thread: https://goo.gl/rY67dg

    Download latest build:
    Latest Oreo Build
    Latest Nougat Build

    Beta Testers Required!

    I need more testers for BETA builds. There is a group on Telegram which you can join to get latest Beta/Test builds. Don't worry these builds won't blow up your device. Most builds will be first tested by myself.


    Join Telegram discussion group: http://t.me/eb_kernel
    28
    Changelogs

    ElectraBlue Kernel 21.0 - July 06, 2019
    • Upstream to Linux 3.18.140
    • Merge latest CAF tag
    • Upstream prima to latest
    • Removed all hacks related to display wake up
    • Much faster display wake up
    • Use AnyKernel3 instead of AnyKernel2

    ElectraBlue Kernel 20.0 - April 13, 2019
    • Fixed app force close issue
    • Removed CPU input and Devfreq boost
    • Updated the DTS Eagle drivers

    ElectraBlue Kernel 19.0 - April 12, 2019
    • Upstreamed Linux to 3.18.138
    • Merged latest CAF tag
    • Merged latest prima
    • Drop non-treble ROMs support
    • AnyKernel2 upstreams
    • Added CPU Input Boost
    • Added Devfreq Boost
    • Improved app loading speed
    • Fixed Spectrum

    ElectraBlue Kernel 18.0 - March 24, 2019
    • Upstream to Linux 3.18.137
    • Upstream to latest CAF tag
    • Upstream prima
    • Reset LMK to 3.18-common tree
    • Set interactive as default governor
    • Addded FK manager profile

    ElectraBlue Kernel 17.0 - Feb 19, 2019
    • Fixed touch to focus issue in Camera
    • Other under the hood changes

    ElectraBlue Kernel 16.0 - Feb 11, 2019
    • Linux kernel upstream to 3.18.134
    • CAF upstream to latest tag
    • WLAN Prima upstream to latest tag

    ElectraBlue Kernel 15.0 - Jan 13, 2019
    • Upstreamed to 3.18.132
    • Upstreamed to latest CAF tag
    • Fingerprint unlock speed improvements
    • Display wake-up improvements
    • Added Adreno boost

    ElectraBlue Kernel 14.0 - Dec 28, 2018
    • Rebased the kernel to CAF Pie tag
    • Upstreamed to Linux 3.18.131
    • Upstreamed CAF tag
    • Upstreamed prima to latest
    • Debloated the kernel
    • Removed OC & UC
    • Upstreamed F2FS
    • Other under the hood optimisations

    ElectraBlue Kernel 13.0 - Sep 04, 2018
    • Upstreamed to 3.18.120
    • Merged latest CAF Tag (LA.UM.6.6.r1-09200-89xx.0)
    • Huge update to spectrum profiles
    • Fixed all the spectrum profile issues
    • Introduced new frequency table by Raphielscape
    • CPU Overclocked to 2.1 GHz & Underclocked to 195 MHz
    • GPU Overclocked to 750 MHz & Underclocked to 200 MHz
    • Many kgsl optimsations kanged from Raphielscape
    • Added back missing frandom generator
    • Unified treble & non-treble builds into one zip! Thanks to KrasCGQ
    • Many under the hood optimisations & fixes

    ElectraBlue Kernel 12.1 - July 23, 2018
    • Upstreamed to 3.18.116
    • Merged latest CAF Tag (LA.UM.6.6.r1-09200-89xx.0)
    • Updated DTS Eagle driver

    ElectraBlue Kernel 12.0 - July 16, 2018
    • Upstreamed to 3.18.115
    • Merged latest CAF Tag (LA.UM.6.6.r1-09000-89xx.0)
    • Added latest DTS Eagle driver
    • BFQ I/O Scheduler updated to latest v8
    • Updated F2FS
    • Upstreamed Crypto
    • Added latest sdFAT support
    • Added CPU wake boost driver
    • Android BInder upstreams
    • Device specific Xiaomi upstreams
    • Fixed some more memory leaks
    • Updated WireGuard driver
    • Added more sched optimisations
    • Work queue optimisations
    • Re-added the Fingerprint boost driver
    • Added support for Treble ROMs

    ElectraBlue Kernel 11.0 - April 14, 2018
    • Upstreamed to 3.18.105
    • Latest CAF Tag
    • Upstreamed Crypto
    • Upstreamed F2FS
    • Latest display drivers
    • Imported all the latest changes from Xiaomi
    • Fixed Omnivision Camera crash
    • Many under the hood optimizations and fixes
    • Switched to LInaro 7.3.x Optimized
    • Switched to Google common BInder
    • Upstream the BInder to latest
    • Live Display support added
    • Performance & battery life improvements

    ElectraBlue Kernel 10.0 - February 11, 2018
    • Upstreamed to latest Linux 3.18.94
    • Latest CAF tag
    • Fingerprint sensor boost driver made its way again
    • Sched optimizations
    • Deep sleep issue fixed
    • Added Sweep to wake & sweep to sleep gestures
    • Added fix for new Omnivision camera blobs
    • CPU Boost optimisations
    • KCAL improvements
    • Enabled KSM again
    • Many under the hood optimizations

    ElectraBlue Kernel 9.0 - January 07, 2018
    • Upstreamed to 3.18.91
    • Latest CAF Tag for both oreo and nougat builds
    • WireGuard support added
    • New display panel support added
    • Fixed zRAM
    • Added some Cortex-A53 specific optimisations
    • Goodix fingerprint sensor improvements
    • And many more improvements, check github for more info.

    ElectraBlue Kernel 8.1 - December 10, 2017
    • Upstreamed 3.18.85 to 3.18.87
    • Removed CPU Quiet (It was unstable)
    • Some zwap optimisations
    • Some other minor changes

    ElectraBlue Kernel 8.0 - November 30, 2017
    • Rebased to @abhishek987's latest Oreo kernel source
    • Added CPU Quiet again! Works perfectly
    • Upstreamed to latest Linux 3.18.85
    • Cleaned up many useless stuffs
    • Improved performance and battery life (reported by testers)
    • Download server moved to Google Drive from AFH(It sucks from past few weeks)

    ElectraBlue Kernel 7.0 - November 23, 2017
    • Upstreamed to 3.18.83
    • Switched to LInaro 7.2.x Cortex-A53 optimised toolchain
    • Removed safetynet flags (no need of magisk to bypass safteynet)
    • Removed previous wakelock blocker
    • Added Boeffla wakelock blocker
    • Upstream Crypto
    • Completely removed Lazyplug
    • Spectrum profile update
    • Added Qnovo driver for maintaining temperature while charging
    • Completely removed CPU Quiet
    • Some other changes. Check full changelogs HERE

    ElectraBlue Kernel 6.1 - November 02, 2017
    • Upstreamed to 3.18.79
    • Full changelogs are HERE

    ElectraBlue Kernel 6.0 - October 20, 2017

    • Upstreamed to 3.18.76
    • Slimbus OC
    • Fixed random reboot issue
    • Fixed lags in Spectrum battery profile
    • Spectrum profiles are updated
    • Many fixes related to performance and battery
    • Removed gentle fair sleepers
    • Allow all 8 cores on bootup
    • Full changelogs are HERE

    ElectraBlue Kernel 5.0 - October 01, 2017

    • Upstreamed to 3.18.72
    • Added Spectrum support
    • Added HID gadgets support (Thanks to @h4waii)
    • Added LazyPlug Hotplug driver
    • Added chill, relaxed and electron CPU governors
    • CPU boost optimizations
    • Adreno boost optimizations
    • Tuned interactive governor
    • Zswap optimizations
    • Added Snappy compression/decompression library support
    • Many more performance and battery life related improvements
    • Full changelogs are HERE

    ElectraBlue Kernel 4.0 - September 09, 2017

    • Upstreamed to 3.18.70
    • Android 8.0 Oreo support added
    • Reduced CPU Load Average
    • Optimised ARM RWSEM Algorithm
    • Fix some more memory leaks
    • Fixed lags in Adreno Idler
    • Added zzmoove governor
    • Unlock HZ options
    • Disable quick wakeup driver
    • Removed AutoSMP Hotplug
    • Full changelogs HERE

    Older Changelogs
    ElectraBlue 3.0 - August 26, 2017
    • Readded Adreno idler
    • Adreno idler disabled by default
    • Upstreamed to LInux 3.18.67
    • Added state notifier
    • Added quick wakeup driver
    • Added early suspend
    • Added LCD notifier
    • Added power suspend driver
    • Added cpu quiet framework
    • Disabled FP boost
    • Added adreno boost
    • Tweaked interactive governor
    • Merged CAF tag LA.UM.5.6.r1-05400-89xx.0
    • Added BFQ I/O sched
    • Disabled CPU L2 cache while playing video
    • Switched to Linaro 7.1.x toolchain
    • Fix many memory leaks
    • Added AutoSMP(doesn't work ATM)
    • Added gentle fair sleepers
    • Added Arch power
    • Full Changelogs HERE

    ElectraBlue 2.0 - August 15, 2017
    Code:
    Added KCAL Colour Control
    Added Sound control
    Added Fingerprint sensor boost driver
    Added Adreno idler
    Enabled westwood, htcp and bic TCP congestion algorithms
    Enabled Kernel Sampage Merging
    Some optimisations and improvements in performance and battery life
    4affb58 eb.sh: Update USER
    b0683dc mido_defconfig: ElectraBlue 1.1->ElectraBlue 2.0
    8d21576 mdss_fb: backlight dimmer option
    df22871 mido_defconfig: Enable Sound control and Kernel Sampage Merging (KSM)
    11843ba ASoC: msm8x16-wcd: add speaker gain and prevent reset
    38472a9 ASoC: msm8x16-wcd: Sound control: allow further reduction of digital gain
    60fa725 ASoC: msm8x16-wcd: Sound control: add mic gain
    2c7871611 ASoC: msm8x16-wcd: Sound control
    f920d9b mido_defconfig: Add exFAT support
    d79c728 Add exFAT support
    873cfde Revert "msm: mdss: Use a high priority WQ for irq_done work"
    4d10cdd msm: mdss: Use a high priority WQ for irq_done work
    17bb40c2 workqueue: Implement delayed_work_busy()
    5da5736 msm: qpnp-haptic: Use a high-priority workqueue for haptics
    2c3352f mido_defconfig: Enable FP Boost
    cf57acd fp-boost: Decrease duration to 2 seconds
    376ebde fp-boost: Set priority to max
    74455d6 cpufreq: Introduce fingerprint boost driver
    3e52b0b mm: Set vm swapiness to 0
    3fa7236 adreno_idler: fix a declaration after statement warning I should just disable these but whatever.
    f930214 adreno_idler: Add display state awareness
    6516f4a adreno_idler: fix-up some comments
    2803718 adreno_idler: fix-up type definitions
    b25e00f adreno_idler: remove frequency bump
    7dd3bb5 adreno_idler: switch to count based instead of time based
    eba3920 mido_defconfig: Enable Adreno Idler
    17cd016 Introduce Adreno idler for devfreq-based Adreno devices
    4f65cf7 Merge branch 'nougat' of git://github.com/Adesh15/electrablue_mido into nougat
    15dc057 mido_defconfig: Enable KCAL
    d633554 msm: mdss: KCAL: disable igc update
    34bafa7 msm: mdss: KCAL: Send a pp display commit when changes are made
    39c5f15 mdss: mdp: kcal for mdss_mdp_v1_7
    bb8cb89 msm: mdss: kcal: Only apply updates on index 0
    2398b02 msm: mdss: KCAL: Send a pp display commit when changes are made
    6b7a074 msm: mdss: KCAL: Do not read from picture adjustment registers
    f2263d1 msm: mdss: KCAL: Read values from MDP registers wherever possible
    5e1fe2c msm: mdss: KCAL: Apply default values on boot
    166e081 msm: mdss: KCAL: Queue changes when panel is powered off
    4e8e46d msm: mdss: KCAL: Remove MODULE_DESCRIPTION
    c3b7b0b msm: mdss: KCAL: Update Kconfig description
    c1c2cab msm: mdss: KCAL: Update according to linux guidelines and checkpatch.pl
    f858849 msm: mdss: KCAL: Check panel power state before applying values
    3ce1f4e msm: mdss: KCAL: Allow kcal_enable to control all post-processing features
    fbf5470 msm: mdss: Keep KCAL within its own source file
    567026c msm: mdss: Remove deprecated __dev* markings
    2f64e0f msm: mdss: Add pa_v2 support to KCAL
    8309fbd msm: mdss: Replace PGC implementation with PCC for KCAL
    6ee27aa msm: mdss: Add KCAL support for post processing control [v2]
    3212819 sched: LOAD_FREQ (4*HZ+61) avoids loadavg Moire. From [url]http://ripke.com/loadavg/moire[/url]
    10660a7 int_sqrt: Improve 3x faster integer sqrt.
    1755d1a int_sqrt: correction square root algo with naming

    ElectraBlue 1.1 - August 13, 2017
    Many commits have been picked from @sys01's repo cause they were great. Thanks to him.
    Code:
    Upstream from 3.18.64 to 3.18.65
    Disabled CRC check (up to 30% faster I/O)
    USB Fastcharge
    Switch for Fsync
    CRC & SHA256 crypto algorithms
    Blocked many wakelocks
    HZ 1000 for best battery & performance
    fffe259 Update: ElectraBlue 1.1_r01->ElectraBlue 1.1 Revisions will not be mentioned in Kernel version from now
    cef3c7a Update: ElectraBlue 1.0_r69->ElectraBlue 1.1_r01
    135757f mido_defconfig: Enable USB fastcharge
    70d71e6 drivers: misc: implement usb fast charge mode
    12e1574 Revert "USB fastcharge for kenzo"
    4c825f0 Disable crc check for faster IO
    ba9bfb8 msm: thermal: Check temperature only if probed
    3203fd9 msm: thermal: Add sysfs nodes to control parameters
    b99ed41 proc: much faster /proc/vmstat
    248ea2c power: process: drecrease time to enter sleep
    66204e6 Arm64: Enable Dcache word access
    7212a67 Topology: Enhance For MultiCore Decision Making
    307eec5 tcp_output: set initial TCP window size to 64K
    0b397e3 USB fastcharge for kenzo
    8f04a66 cpufreq: fallback to interactive if governor is not found
    33d8c3e Added fsync on/off support.
    146bfa7 mido_defconfig: Enable CRC32 & SHA256
    baff483 arm64: crypto: reduce priority of core AES cipher
    7342427 arm64/crypto: use crypto instructions to generate AES key schedule
    6d48847 arm64: crypto: increase AES interleave to 4x
    3f3020e arm64/crypto: issue aese/aesmc instructions in pairs
    dd14a55 arm64: crypto: Change priority of arm64 aes cipher.
    9f934cd crypto: arm64/crc32 - bring in line with generic CRC32
    9d6a158 crypto: crc32 - Add ARM64 CRC32 hw accelerated module
    dd3178b AIO: Don't plug the I/O queue in do_io_submit()
    4354330 BACKPORT: ext4: fix data exposure after a crash
    edb4e1d msm_performance: don't let userspace change min/max freq policy by default
    ad0f708 msm_performance: fix input boosting disable not sticking on big cluster
    25ad37e msm_performance: Make input boosting optional
    6847437a qcom: msm-core: uninterruptible wait
    53ef487 msm: Use interruptible wait to not affect load average & reduce load avg
    3d7ee0b msm: Use interruptible wait to not affect load average
    7a3c01d cpufreq: cpu-boost: don't boost if input_boost_ms is <= 0
    b99f8bc cpufreq: cpu-boost: export input_boost_enable to userspace
    bbcb708 cpufreq: cpu-boost: don't boost over user set max freq
    24f0cd9 drivers: cpu-boost: optimize policy update loop on input cpufreq boost
    c774311 cpufreq: cpu-boost: set interval between consecutive boosts to be at least the duration of the boost instead of a bigger value
    1ff9577 drivers: wakeup: squash wakelock blocking
    b5a58c2 arm64: lib: improve copy_page to deal with 128 bytes at a time
    7e9ac48 arm64: make default ARM64_DMA_IOMMU_ALIGNMENT as 9
    c92d687 arm64: strcmp: align to 64B cache line
    9edc2bc arm64: lib: memory utilities optimization
    30fdc6a arm64: topology: fix cpu power calculation
    9c7c59b arm64: eliminate the .eh_frame sections from vmlinux and kernel modules
    147cbe5 sched: Remove heavy task calc. in sched_freq_input
    c11e073 cpufreq: interactive: Skip timer when policy->min == policy->max
    89a51ee cpufreq: interactive governor drops bits in time calculation
    2752dea Convert few critical drivers to use msecs_to_jiffies insted of HZ
    51563e8 CHROMIUM: cpufreq: interactive: calculate load before freq change
    bffa05e Linux 3.18.65
    fafedfa ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output
    724c838 udp: consistently apply ufo or fragmentation
    1bfcb94 revert "ipv4: Should use consistent conditional judgement for ip fragment in __ip_append_data and ip_finish_output"
    1cc2f05 packet: fix tp_reserve race in packet_set_ring
    7767431 net: avoid skb_warn_bad_offload false positives on UFO
    99f375c tcp: fastopen: tcp_connect() must refresh the route
    cc9e850 net: sched: set xt_tgchk_param par.nft_compat as 0 in ipt_init_target
    3b0c985 net: fix keepalive code vs TCP_FASTOPEN_CONNECT
    51e2ad3 tcp: avoid setting cwnd to invalid ssthresh after cwnd reduction states
    d71d105 Merge branch 'Adesh15-nougat' into nougat
    23767be iosched_switcher: Remove unneeded code in change_elevator()
    c3856a6 iosched_switcher: Ensure the previous elevator name is always present
    12d5516 dm: Configure the I/O sched switcher for dm block devices
    b85e846 scsi: sd: Configure the I/O sched switcher for sda too
    f50dc61 iosched_switcher: Allow multiple block devices to be used
    4ad034a scsi: sd: Configure the I/O sched switcher for the sde block device
    d27a9e3 block: Add driver to change the I/O scheduler when the screen turns off
    1beac89 setlocalversion: Removed + sign
    64a84bb super.c: Fixed a mess
    140645b f2fs: sanity check checkpoint segno and blkoff
    a72749b Revert "f2fs: sanity check checkpoint segno and blkoff"

    ElectraBlue 1.0_r69 - August 13, 2017
    Code:
    Upstreamed to latest Linux 3.18.64
    Added maple, sio, fiops, zen I/O schedulers
    Added alucard, darkness, nightmare, blu_active governors
    Added F2FS support
    Compiled using UberTC 6.0
    For full changelogs visit [URL="https://github.com/LordArcadius/electrablue_mido/commits/nougat"]HERE[/URL]
    25
    Announcement!​

    Hey everyone, Sorry for my inactivity from past few days. I know you all are waiting for a new update with newer linux version, OV camera fix, gt9xx display driver and some other fixes and features. But the problem is TIME! I am not getting enough time as my exams are few days ahead from now. So I am not able to give time to the kernel. But yeah I started working on Treble build and the new update will land soon. So please have some patience. Well if you still want to use the newer version of kernel with all fixes then make sure to join Telegram group. Beta builds are already there with these fixes. I hope now you guys will understand why I am so inactive these days. Treble build will take some time for sure cause I will have to do everything from beginning.

    Thanks!
    Best Regards,
    LordArcadius


    Telegram Group Link: - http://t.me/eb_kernel

    Note:- Use #testoreo to get latets beta build in TG group!
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone