[KERNEL][Android 10-12][OOS/Custom] mcd-kernel [r17]

Search This thread


Senior Member
May 25, 2015
OnePlus 6
OnePlus 6T

Underclocking is already possible, you just need a kernel manager and decrease the maximum clock speeds.
I do advice against it, you won't be able to significantly increase battery life by doing so and you'll definitely start to notice reduced smoothness and speed at a certain point.
You can even decrease battery life with underclocking because the CPU will be under load for longer because it'll complete tasks less quickly.

Now when it comes to undervolting the CPU...
I assume no custom kernel for recent/modern smartphones provides the ability to do so because undervolting is locked away meaning its not possible anymore and because of the introduction of EAS (Energy Aware Scheduling).
Energy Aware Scheduling gives the scheduler the ability to predict the impact of its decisions on the energy consumed by CPU's. EAS relies on an Energy Model (EM) of the CPU's to select an energy efficient CPU for each task with a minimal impact on performance.
Undervolting on smartphones back in the days didn't ever provide huge battery life gains, it sure could help a bit and also helped with reducing temperatures but you'd have to go through lot's of testing to make sure the undervolt is stable. A very time consuming thing to do which in my opinion isn't really worth the effort.
Modern ARM CPU's and their schedulers have gotten very efficient which basically makes any benefit you could've gotten from undervolting even less impactful than back in the days.

Beside all of this it's impossible to significantly increase battery life without sacrificing performance. You'll have to sacrifice some performance to increase battery life in a meaningful way on the kernel side of things.
So where does this leave you? You could ignore my advice and still go ahead with underclocking, if you do that you shouldn't decrease the clock speeds too much, I'd advice you to not lower them much more than a couple of steps.
Other things you could look into are limiting your least important apps from running in the background, disable syncing for accounts that aren't very important, reducing your screen brightness whenever you can and disabling any features of apps or your system that can increase battery drain like having location services running while you don't need them.

I hope all of this answers your question well enough!
Thanks for the details very well written post really appreciate it, apart from underclock and undervolt maybe its possible to add more governors which is customizable ? Whatever changes i made to this default governor it revert back to stock settings can't lock changes, hope to see more governors .. thank you again 😊


Senior Member
Nov 3, 2014
I am using 6T and on along with MCD. No issues with fingerprint so far. Suggest to remove your previous fingerprint s and register them again. Also if you are rooted and hve magisk install module "Magiskhide Proper Config" and give a try.
  • Like
Reactions: ux50jp


Senior Member
Sep 17, 2014
I've reverted to R13 - for some reason on the later versions on my phone (OP6), touching the fingerprint scanner sometimes doesn't work unless I first hit the power button to wake up the phone. And double-tap-to-wake also works intermittently.


Recognized Developer
Oct 25, 2015
OnePlus 6

this build re-implements some userspace CPU boosting mechanics (see below) which were disabled in the past. We haven't faced any significant battery consumption while improving the performance in some use cases.

To avoid any issues you must have updated your firmware to the latest OxygenOS 11 version! Otherwise this kernel might not boot and you will find yourself in crashdump mode. You have been warned [again].

FOD might be broken on some outdated Android 12 ROMs. Your ROM is not supported unless it contains the latest changes made by LineageOS Team.

Enjoy, keep safe and consider a way to support me, see the bottom of this message.

  • Compiled with Google Clang 14.0.3 and LLD Linker
  • Merge upstream AnyKernel3 changes
  • Merge google/common changes; v4.9.227 up to latest v4.9.309
  • Bring back LLVM LLD linker; Powerful linker designed by LLVM
  • Bring back CAF's sched boost; Enables powerhint based CPU boosting
  • Bring back qcoms performance driver; msm_performance, used by qcom's powerHAL
  • Disable sched_core_rotate; We don't need to use cores evenly
  • Simple low memory killer: Increase timeout to 250 ms; Be less agressive in task killing
  • Custom ROMs only: Import latest FOD LineageOS 19.1 changes (Android 12 only)


  • Your custom ROM must be updated to OxgenOS 11 firmware / vendor
  • Two-in-One kernel image installer (OxygenOS / custom ROM)
  • OxygenOS 11: Network speed meter isn't working, most probably because of incomplete OnePlus kernel sources


Github: mcd r15

FKM Updater configs: OxygenOS / custom ROM


  • First time installation: Flash via any supported kernel manager or custom recovery (twrp)
  • Updating: Flash on top of any previous mcd-kernel
  • Note: Consider a clean ROM flash if you are coming from any other custom kernel!


  • If you want to support me, leave a like or a comment
  • Join our telegram group or update channel
  • Another appreciated way to support me: via PayPal
Last edited:


Senior Member
Sep 17, 2014
One day in and I can safely say all my previous issues are resolved with the latest update. And on top of that the phone feels more responsive and smooth and battery life seems better. Maybe the last two are placebo but thank you again @mcdachpappe for a wonderful piece of work.


Senior Member
Sep 17, 2014
I'm experiencing a weird issue with WiFi on the latest version of this kernel. Sometimes when I leave my home or office the phone would "stay connected" to the WiFi network, even if I'm clearly not in range. This means that I have no connectivity and no instant messages can come through as the phone believes it's connected to WiFi when it's not. I then have to manually disconnect the WiFi connection or restart the phone's WiFi in order for it to register that it's not connected anymore.

Top Liked Posts

  • There are no posts matching your filters.
  • 80

    * I am not responsible for bricked devices, dead SD cards, 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.

    I would like to share with you my personal kernel build. It's based on official OnePlus kernel sources combined with some additional features and commits from different great developers out there.

    • No root required
    • Systemless installation, no custom kernel scripts
    • Passes SafetyNet
    • #########################################
    • Based on official OnePlus/OxygenOS kernel sources
    • Merged latest google changes
    • Compiled with custom toolchain mcd-clang
    • Battery_idle mode support [Advanced charging controller needed]
    • CPU input_boost - [enabled by default]
    • FSync toggle - [enabled by default]
    • GPU: adrenoboost [low / mid / high]
    • KCAL color control
    • K-Lapse support
    • Led control [OP6 only]
    • Minimum backlight control and high brightness option
    • Scheduler improvements
    • Sound control and Microfone gain
    • TCP: advanced TCP algorithms - [Westwood as default]
    • USB Fast Charge - [disabled by default]
    • vDSO support
    • Vibration control
    • Wakelock blocker
    • WiFi module picked from CAF's source
    • WireGuard support
    • ZRAM improvements [2 GB, zstd compression]
    • Removed a lot of debugging stuff and log spam

    Latest version: mcd r17
    FKM Updater configs: OxygenOS / custom ROM

    • Leave a like or a comment - this keeps me motivated :)
    • PayPal donations are another appreciated way: Thank you very much!

    Telegram contact:


    • Thanks to these great guys and their programming skills and their sources: acuicultor, arter97, eng.stk, flar2, joshuous, kdrag0n, kerneltoast, kristofpetho, LordBoeffla, nathanchance, osm0sis, RenderBroken, tanish2k09, zx2c4
    • Huge thanks to @rippledrums for designing our logo!

    XDA:DevDB Information
    [KERNEL][OOS/CUSTOM] mcd-kernel, Kernel for the OnePlus 6

    Source Code: https://github.com/mcdachpappe/android_kernel_oneplus_sdm845

    Kernel Special Features:

    Version Information

    Created 2019-05-19
    Last Updated 2022-06-13
    • Do not switch between other custom kernels without installing a stock boot.img or reflashing your ROM !
    • Flash kernel .zip via any kernel manager app or custom recovery

    • Flash your desired mcd-kernel version on top of your existing mcd-kernel

    Known issues:
    • OxygenOS:
      • OOS 11.*: Network speed indicators are not working on any custom kernel
    • Custom ROMs:
      • Gestures might not work on some custom ROMs as this kernel uses LineageOS gesture handling

    Try one or more of these steps prior flashing this kernel if you run into issues:​
    • Delete your kernel-manager-app data
    • Dirty flash your current ROM / Flash stock boot.img
    If you are still facing any issues, join our telegram group and report your issues via #bugreport.​

    Kernel history:
    Hello everyone,

    enjoy our latest release :) Thanks for everyone who help me out to improve this project!

    # Changelog:

    • Compiled with mcd clang v13 for maximum stability
    • Upstream Anykernel3 source
    • Upstream OOS kernel source 10.3.11
    • Upstream up to android stable-linux to 4.9.270
    • Upstream/merge up to latest CAF tag 'LA.UM.9.3.r1-02100-sdm845.0'
    • Downstream wifi drivers to CAF tag 'LA.UM.8.3.r1-08800-sdm845.0' [last known well working drivers]
    • Upstream scheduler changes from android-4.14
    • Clean-up the kernel tree
    • Fix some previous mismerges
    • Many more I may forgot

    # Notes:

    Choose the correct kernel .zip file depending on your current ROM:
    • _oos: OxygenOS 10.*
    • _custom: Any AOSP based custom ROM
    • _custom-los: AOSP based custom ROM with LineageOS displaymode handling (livedisplay), such as LineageOS, SyberiaOS

    # Download:

    Github: mcd-r4

    FKM Updater configs: oos / custom / custom-los

    # Installation:

    Dirty flash over any previous mcd-kernel is just fine. Consider a clean ROM flash if you are coming from any other custom kernel!

    # Support:

    Update - build 23-08-2020


    nothing special this time.

    • Upstreamed to android-linux-stable 4.9.233
    • Merged OxygenOS 10.3.5 kernel changes

    Bottom line:

    ZRAM is back and hopefully satisfies our multitasking users. Besides that double-tap-to-wake should be working for everyone again. Enjoy :)

    # Changelog:
    • Compiled with mcd clang v11, LLD and llvm-tools
    • Upstream to android stable-linux to 4.9.278
    • Enable ZRAM and writeback [2GB of size and lzo-rle as comp]
    • Clean-up touchscreen driver [fixes gestures on some custom ROMs]

    Thanks - again - to anyone who tries to improve this project with me.

    # Notes:

    Choose the correct kernel .zip file depending on your current ROM:
    • _oos: OxygenOS 10.*
    • _custom: LineageOS based custom ROMs

    # Download:

    Github: mcd r7

    FKM Updater configs: oos | custom

    # Installation:

    Dirty flash over any previous mcd-kernel is just fine. Consider a clean ROM flash if you are coming from any other custom kernel!

    # Support:

    • If you want to support me, leave a like or a comment
    • Join our telegram group or update channel
    • Another appreciated way to support me: via PayPal :)