[Sprint  Galaxy Note 4 Original Android Development] ffolkes:
Happy birthday to me! Literally, today is my birthday. To celebrate, my gift to you is the AOSP version of Plasma kernel. The smoothness of AOSP Android is, to quote Dr. Evil, quite breathtaking. Things are tweaked for excellent responsiveness out-of-the-box. It has turned my phone into a Note 6. :cool:

I put so much work into this, including thermal testing so many times that my tempered glass screen protector cracked from the temperature changes. :eek: If you use and enjoy this, please consider donating. :) Getting all this working took weeks of solid effort.

Thanks to auxxxilium, pafcholini, zion959, placiano, and anyone else I pulled commits from!

Plasma 1.10-AOSP for Lollipop 5.1.x (CM 12.1, CMRemix)

Fixed thermal issues causing random reboots

ZZMoove: Developed and implemented 'Thermal Turbo Restriction'. Most devices can handle high overclocks at lower temperatures. This system consists of 5 cascading levels of adjustable temperature/frequency restrictions. This means you can set a ridiculously high governor max (3.264 GHz) and ZZMoove will monitor the SoC temperature, and when it exceeds the threshold (defaults to 40c), it immediately drops the frequency to the cap you set. This means you can get all the benefits of overclocking when it is reliable to do so.

ZZMoove: Adjustable sampling rate while Native Input Booster is active. When the NIB is active, a faster sampling rate can be used. This will last for as long as the NIB is active.

ZZMoove: Adjustable sampling rate while Native Input Booster punch is active. When the NIB is active AND punching, this sampling rate can be used (independently of the one above). This provides a noticeable increase in responsiveness while interacting with the screen. This will last as long as the punch is active.

ZZMoove: Optional minimum cores online while Native Input Booster is active. Sometimes the hotplugging settings will turn off all the cores while the NIB is active. Then when you go to touch the screen again, there is a delay before the core comes back online and get work assigned to them. This creates an annoying stutter and overall laggy feel. Now you can tell it how many cores to keep online while the NIB is active. Previously, this was limited only to while a punch was being held.

ZZMoove: Optional minimum frequency while Native Input Booster is active. This fixes another cause of stutter and lag. Sometimes the load goes low enough to drop the frequency very low (268 or 300 MHz), making lists, scrolling, etc become choppy when you stopped touching the screen. Now you can control the minimum frequency during the entire NIB event, instead of just while a punch was active.

ZZMoove: 2.5 second delay before applying sleep frequency limit. This helps to eliminate lag when the lockscreen plays a relocking sound. Previously ZZMoove would apply the sleep frequency limit, as well as cancel all boosts, as soon as it went into suspend. Now the sleep frequency is applied 2.5 seconds after the screen goes off. Also, the midboost is allowed to persist for that time, so suspend operations are quicker.

ZZMoove: Cycle counts automatically adjust for sampling rate. Since the NIB can now adjust the sampling rate, that would drastically change the duration of hardcoded boosts. Now they will automatically scale to fit whatever sampling rate is currently being used.

ZZMoove: Lots of significant bug fixes

ZZMoove: Default settings tweaked for buttery performance

ZZMoove: Boost when device rotated

Added Adreno Idler

Added separate screen-off/on actions for S-Pen detach. Example: Start SPenLauncher (from the store) when S-Pen removed. Some apps in the store can do this, but they have to poll every second, which wastes energy. Plasma does this only when the S-Pen sensor interrupt fires.

Added screen-on action for S-Pen insert. Example: Close SPenLauncher when S-Pen inserted.

Added vibration when S-Pen detached. Kernel-side vibration when you take out the S-Pen.

Fixed bug with touchscreen not always staying on when it was supposed to. Screen doesn't need to be cycled anymore when a feature requiring always-on is first enabled.

Fixed bug with PatternUnlock sometimes not working. Sometimes the proximity sensor was disabled while reporting an object, thus never getting a chance to tell Plasma features that the object was removed. This meant PatternUnlock could get perpetually disabled because it thought you had the phone to your head.

Merged latest KCAL (from 8/29/2015)

Ported Plasma features to KCAL (blackout/nightmode/graymode)

Maximum possible overclock raised to 3.26 GHz. Normally a comically high frequency, it is now possible for it to be useful when used in conjunction with the 'Thermal Turbo Restriction' feature.

Added I/O schedulers 'sioplus' and 'tripndroid'

Replaced KSM with UKSM

ZRAM upgrades

[All] Added custom actions to MultiButton, Stem, TKF, TKS, etc. You can now set custom shell commands for all Plasma actions. Typically, this means stuff using the command 'am' to start any app.

[I/O & RAM] Added ZRAM settings. Support for 4x swap.

[Network] Added WiFi controls. For controlling power and DTIM intervals.

[Thermal] Added new tab. For controlling the stock msm_thermal driver.

[Touchkeys] Added separate TKF timeouts for both keys. Touchkey Flicks are awesome, but they inherently introduce a small amount of lag. Now you can customize the timeout for either side. Example: Keep the Back button unencumbered, and add a longer precheck timeout to the Recents key to make it easier to trigger a TKF. One great use for TKFs is to assign the assist key to one of them, then download an app like App Swap or Apposite, which bind themselves to the assist key. Since the Plasma VirtualKey driver inputs a hardware input event, Android thinks you have an assist key on your device, and when you flick, it'll open one of those apps.

Tailored boosts to CM12.1/CMRemix

ZeroLemon fuel gauge fix

Many, many other things