yashsingh1/xdaforums huggingface dataset:
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Welcome to decimalman's kernel playground!​

As the name suggests, dkp is a hodgepodge of features and tweaks that I wanted to play with. It should get excellent battery life without feeling sluggish. It doesn't come with its own tuner app, so pick your favorite. Personally, I like Trickster MOD and Kernel Adiutor, so I go out of my way to make things work in them. Most other apps should work, too.

Features:

Overclocking up to 2.1 GHz, but you'll need to increase your voltages to get there (if you can get there at all)

Underclocking down to 54 MHz, with stability improvements

Undervolting compatible with most apps

Fast charge without unplugging first

Glorious animations for the notification and softkey LEDs

Well-integrated erandom means you don't need CrossBreeder or Seeder (recent AOSP builds use ISAAC instead)

freelunch and tierservative governors for optimal battery life without sacrificing responsiveness

Automatic mpdecision and auto-hotplug are only enabled when needed

Adjustable minimum voltage for stability on finicky processors

Optimized UKSM to free up some extra memory

Code optimizations for size and speed

Compiler optimizations (-O3, LTO, and more) because faster is better

Donors: Thanks, everyone! Your generosity is much appreciated. :good:

drpenguino, 0xScott, vmancini3 (twice! :good:), Ch4m3l30n, rompnit, Mystique, ryandubbz, techdog, ElwOOd_CbGp, ScOULaris, ZipAddict

Remember:

Nandroid!

last_kmsg and/or logcat or it didn't happen.

Other kernels have their own threads or forums. Discuss them there.

Image dumps (settings, battery life, whatever) belong inside [HIDE][/HIDE] (that's HIDE, if you're on the mobile app) tags.

Be silly. We're here to have fun.

Installation:

Reboot to recovery. I recommend that one recovery...you know, the one that flashes zips? I forget what it's called. :p

Flash dkp. Optionally, rename and flash dkp-vmin-XXX.zip (see below).

Reboot.

Undervolting:

Undervolting on dkp is more complex than other kernels. Some processors get unstable at lower voltages, so (like the stock kernel) dkp keeps the processor voltage above 1150 mV by default. I refer to this limit as the minimum voltage. In order to undervolt, you'll need to lower the minimum voltage: if you use Trickster MOD or Kernel Adiutor, just disable "Override Minimum Voltage", otherwise rename dkp-vmin-XXX.zip to e.g. dkp-vmin-600.zip (which would apply a 600 mV minimum voltage) and flash it. If this causes instability (crashes, audio/video glitches, etc.), try using dkp-vmin-XXX.zip to apply a higher minimum voltage (somewhere between 950 and 1050 mV seems to work well for most people).

Downloads:

MediaFire:

All Downloads

dkp-vmin-XXX.zip

Solidfiles (Make sure you have an adblocker!):

All Downloads

dkp-vmin-XXX.zip

Source: I'm always happy to see my code used, so cherry-pick away. I'll even put together feature patches if you ask nicely.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Bugs:

Let me know.

Stable changelog:

3/3/13: Initial release for d2spr. Didn't get around to making threads for other carriers.

4/8/13 (3.0):

FauxSound support

Strip more useless stuff

A few bonus optimizations

4/8/13 (3.4):

Port everything except erandom from 3.0

Enhance cpufreq for easier configuration

4/24/13 (3.4):

Bugfixes: better support for tuner apps, fixed potential SOD bugs, automatic mpdecision fixups, etc.

Lots of CM/CAF/Linux updates

Working AssWax governor

Trinity colors support

sio, zen I/O schedulers

erandom is back!

Built with a super-fancy Linaro GCC 4.8.1-dev compiler toolchain for maximum -O3 goodness :p

Probably lots more, but there's hundreds of commits to sort through...

5/29/13 (3.4):

Bugfixes: better overclocking support, better hwrng support, etc.

Updates: new CM updates, Linux 3.4.47, updated FauxSound driver, added invisiblek's new panel colors interface

Automatic auto-hotplug

New optimizations, including link-time optimization and an updated GNU+Linaro GCC 4.8.1-dev toolchain

6/14/13 (3.4):

Bugfixes: fix several critical bugs in the 5/29 release.

9/7/13 (3.4):

Fixes for OC, UV, auto-hotplug.

A few new optimizations.

Synced up with CM.

9/20/13 (TW):

Ported everything from AOSP to TW.

9/20/13 (4.3):

Merged 4.3 from CM into the existing 4.2 code.

Current experimental branches:

Nothing interesting at the moment.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] pingfl00d:
Just loaded it on pa 3.15
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
It doesn't, but I'll merge it and put out a test build.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
Is it possible they are left over from a previous kernel? Because I can def tell the difference usually and seems like it does.

Either way, advise when its updated. This governor seems solid so far.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
dkp is based off clean CM source, so it shouldn't have been merged already.

I've got test builds compiling now, and the 3.4 builds will be up shortly. Flashing the trinity-colors test build and this zip will enable trinity colors. You can toggle it with

su
echo X >/sys/class/mdnie/mdnie/trinity_colors

where X is 0 to disable or 1 to enable.

Edit: and sorry for taking so long to respond.

Edit 2: 3.4 builds are up. http://d-h.st/7Ae
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] jayRokk:
Thnx for this kernel :D
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
Maybe I was just seeing things, had just watched jurassic park in 3d.

New "test" build flashed as well as the file to enable it. Thanks for the addition. It's very hard to go back to normal once you've been smurfed depending on your display.

Only issue i'm having ATM is the ability to change the voltage table. My phone doesn't handle undervolting as well and i run a minimum of 950 baseline, if not 975. One of my normal apps wasn't able to set the voltage at all. I'm trying to use performance control which I don't like. It crashes trying to set the voltage on boot but at least I can go in and manually set the values on boot and they stick.

One last question, since this is your kernel, what scheduler do you recommend pairs well to freelunch? What would you use for performance and what would you use for batt?
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] schwann:
+1 on these questions

Sent from my AT&T Samsung Galaxy S III
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
Answered my own problem. I installed trickster as mentioned in OP and all voltage settings stick no problem with no issues.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Personally, I don't like trinity colors, but I definitely understand the appeal. I merged this into 3.0 and 3.4, so it'll be standard from here on. I'll add a link to the enabler zip in the OP as well.

What app would you normally use? I'll try to support it, since I already provide several voltage interfaces. I didn't realize performance control was crashing (I'm not a fan either, so I only lightly tested). I recently installed Trickster and liked it, so I've been going out of my way to support it. It's also really easy to write support for, so that's a bonus for me. :p

As for schedulers, I'm not fussy. I've never exhaustively tested performance and battery life, so I don't have a preference and usually run noop or deadline. However, I've had nothing but bad results with ROW (phone never deep sleeps, and I haven't looked into why).
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
good to know. Trickster mod works fine and you mention it in the OP and it's at no cost in the play store. I wouldn't worry.

I was using an app called kernel tuner because some others would only set 1 core to the governor and not both. I checked that trickster does indeed set both cores to freelunch so once that figured out I removed kernel tuner. Kernel Tuner also has the options for profiles which can be toggled in tasker for varies states. freelunch so far hasn't needed any changing so not worried about it at this point. just as an example, some governors would be better for screen on/off and tasker could switch these to edge out battery life.

The voltage app i was using is simply called voltage control. Kernel tuner doesn't do a nice job of voltage changes. But since trickster does both governor and voltage adjustments well. i'm using that with no problems now.

Thanks for the morfic, having a way to toggle it works well for people. it's as simple as a script so there's that.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
I meant to test Voltage Control but Google wasn't letting me download anything. It's a common app, so I'll try to get it working regardless. Kernel Tuner doesn't currently work well with freelunch, and tends to hang when it's trying to read settings in the CPU screen. Otherwise, it's a nice app. I didn't realize it had Tasker support (I use Llama).

I've added a few extra bits to the cpufreq core, so governors that need to be set on both cores (like freelunch) will automatically apply to both cores regardless of what app is used. cpufreq will even enable and disable mpdecision depending on whether a hotplugging governor is running (though Trickster won't show that it's disabled).

I owe ktoonsez for the toggleable trinity colors. I slightly rewrote his patch, but it's still largely his code. It's my policy that anything that not all users will want should be optional and easily configurable.

Edit: I think I've got Voltage Control fixed. I should be able to get Kernel Tuner working without too much work. I haven't even looked into Performance Control yet.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
well good job so far. batt life has been top notch. minimal drain in use and my over night idle drain was only a few %. I have things setup to disable wifi when sleep and also turn off mobile data when wifi is connected. A bit over the top but every bit helps.

:good::highfive:
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rmead01:
I know I've been grilling you today but...

Kind of curious what the new tunables do. I haven't touched anything since it's working so well but there is always that part of me that wonders what adjust parameters will do. Is there any kind of reference for this governor that could indicate that type of info?
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] stevehkim:
Does your kernel support faux sound app?
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Yes. 3.0 and 3.4 both have support.

As for tuneables, I've been meaning to post a writeup but haven't gotten around to it. You're not the first to ask about it. :)
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] finsilva:
This is a fantastic Kernel! The battery life has been outstanding so far. Thank you for your amazing work!
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] dhanamjay:
Thanks for the prompt response. It is freezing at "Galaxy SIII" screen. I will wait for the next build with fix.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rockynewsmaster:
Same here, 5/17 works great still tho
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] trvbone:
Same here sent back to 5/17 then hot boots galore did a complete wipe and flashed latest RootBox with kt747, will wait for updated dkp kernel
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
I just realized what's most likely causing the freezes during boot. I'm going to take a look at a recent change I made. Hopefully it's the cause, since otherwise in going to have a lot of work to do tracking down the freezes.

If that turns out not to be the cause, I'll revert a bunch of stuff, sync up with CM and release a new build that boots reliably. I might even try my luck calling it a stable build. :p

Hopefully I'll have a new build sometime in the next couple days.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
New test builds are going up now. The boot issue should be fixed.

Changelog:

The boot freezes should be gone. Let me know if you're still seeing them.

Linux 3.4.48, lots of CM commits, and a few new GCC compiler updates

Added UKSM
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] moz68:
6/08 test build running great!
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
New test builds are going up. BT should be working--I'm able to FTP to another device and transfer files, but I don't have any other BT devices to test with. Anyone who's been having issues, please let me know if you're still having issues on the new build.

Changelog:

Disabled an optimization in the dhd module. BT appears to be working.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Exciting news: I'm doing two releases today!

I've decided to release a new stable 3.4 build. It's not much different from the latest test build. Off the top of my head, these are the only changes since the last "stable" build:

A few new CM commits, Linux 3.4.49, etc.

Reversed the Trickster "Override Minimum Voltage" setting. I actually read the description and realized the previous logic didn't make sense. Now, turning the setting off correctly allows lower voltages.

Actually boots, BT works, and all the other exciting fixes I've made since the previous "stable" build. :D

As usual, downloads are linked in the OP.

I'm also releasing a very, very experimental TW kernel. It's so experimental that I'm not even going to link to it in the OP (also, I'm too lazy to bother :p). Previous versions didn't brick testers' phones, but I guarantee that there are bugs. Here's what to expect:

Basically everything from 3.4 has been ported, but very little has actually been tested.

GCC 4.8, -O3, LTO, and all the other optimized fanciness included in 3.4 dkp builds. Performance isn't quite where I'd like it to be yet, but it's certainly not awful.

Crazy bugs. Something is setting the minimum frequency to 1026 MHz during boot (which you should change back to 384 MHz!), there may be issues with calls on some carriers (please let me know, and if possible provide a logcat and/or dmesg!), freezes might happen, and I'm sure there's more bugs I haven't even heard about yet.

Downloads are available here.

Edit: Just realized I didn't tell my build script to make a release, so builds were uploaded into the experimental downloads instead. Real release builds will show up in the stable downloads page shortly.

Edit 2: Release builds are up in the stable downloads page.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] Threezees:
The fact that you make time to do this for any of us is more than enough. Thank you.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
New test builds are up! They're not in their usual location. I decided to re-arrange the upload paths on dev-host, so (for today anyway) uploads will be going here. I'm probably going to change the paths again in the near future, but I'm hoping that it will be much easier this way.

Changelog:

Merged a zillion CM commits

Linux 3.4.51

Disabled auto-hotplug during boot
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rani9990:
Does this build have the latest media updates from cm? Just asking, I don't want blow my eardrums out like some users report.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Yep. It doesn't look like CM has made any substantial changes since I last merged their source.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rockynewsmaster:
The newest version is rock solid, that nan lunch keeps locking great and my battery is outstanding! Thanks!
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] PwnCakes193:
The latest nightly has a LOT of changes in it, especially for the kernel. I can't sue the test anymore :(
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
New test builds! I haven't added anything new, but that's no reason not to upgrade.

Changelog:

Synced up with CM and Linux. Newest CM commits are included, as is Linux 3.4.52.

Finally updated my toolchain. A month's worth of Linaro and GCC commits shouldn't hurt performance any. :)
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] matrixzone:
Thanks for the update, eagerly waiting for next stable release :).

Are there any specific battery saving settings required for nanalunch, or the default settings are the recommended one? I have heard lot about this governor for best battery, going to give this a try today.

Thanks OP for your hard work and giving us new governor to play.:good:
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rani9990:
Default is fantastic [MENTION=4551784]matrixzone[/MENTION]
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] matrixzone:
Just black screen death on the testing release. Sorry don't have the logcat. Immediately need to go back stock, take business calls on mobile. Even the phone failed to reboot until I removed the battery, it got stuck on the cm reboot logo. Using the nanalolunch governor and all other value stock, no UV/oc on CM stable. Will try to replicate on the weekend.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rani9990:
That really sucks. Freelunch has been doing well for me lately, try it.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] matrixzone:
On test or stable release?
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rani9990:
Test.

That's all I run though, it's on stable AFAIK.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] matrixzone:
Flashed the kernel again and going to try this kernel. Will share my feedback
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
New TW builds are going up! I might have forgotten that I was working on TW for a while. :o I merged in everything from AOSP, including some changes that haven't even made it into the latest AOSP test builds yet. From what I can tell, everything is more stable than the last build was.

Downloads are available via the link in the OP. Incidentally, does the new layout for downloads make more sense to everyone? I'm open to suggestions about better ways to organize the downloads, since I updated my build script to handle pretty much whatever layout I decide to go with.

Changelog:

UKSM: this was probably the only AOSP feature that wasn't present on the last TW build. It's merged in now.

Pulled in Samsung's latest code from the MF1 source drop (there's only a couple lines of changes compared to MD4, but whatever). I'm going to look into merging Linux 3.0.86 eventually, but this build is as up-to-date as any other TW kernel at the moment.

Rewrote the interaction code. The old code was unsafe and probably a bit slower than it should have been. The new code is written in assembly and is also safer.

Disabled SEC_DVFS. I haven't had much time to test, but this appears to fix the 1026 MHz bug, and will probably improve battery life.

Lots of freelunch changes: I haven't heard any complaints, so I merged most of the changes in nanolunch back into freelunch. I also made a small change that might make freelunch more suitable for gaming, and hopefully won't affect battery life or smoothness otherwise. nanolunch is gone, since it was a (successful) experiment anyway, and it'll disappear from AOSP builds shortly.

New toolchain fanciness: I haven't seen any freezes in the few days I've been running TW, so it looks like the new compiler I'm building with is pretty stable.

Regarding the changes in freelunch: I'd love to hear some feedback regarding battery life. A few settings have changed, but it's possible to switch back to "classic" freelunch: setting interaction_panic and hispeed_divisor to 0 will effectively switch back to the old behavior. I'm curious whether the changes I made will have any substantial effect on battery life, so reports are encouraged. :good:
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] matrixzone:
Just noticed the tw 7/17 build. Flashing this right now :thumbup:

Edit: download is toooo slow...
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
I started the upload as I was on my way to bed. There wasn't enough changed to even warrant announcing the new build. I reverted a change in freelunch that was making everything jerky, but otherwise nothing has changed.

Dev-Host. :( Sometimes they're just fine, other times they're slow and unreliable.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] PwnCakes193:
Any chance for an updated CM kernel? There's been a few kernel updates so far.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
One of these days. I've been running TW lately, so it's getting most of my attention.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] PwnCakes193:
I could never stand the TW theming. Any chance you would teach a newbie how to merge in updates to your source and compile on my own? I've been tinkering around with compiling for the last 2 months and I'm starting to get pretty interested. Alot of the features your kernel has are literally perfect, everything just works.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
If you've got Linux up and running, doing small merges and compiling should be pretty easy. I'm on my way to bed shortly, but I'll send you a PM tomorrow.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] PwnCakes193:
I have Linux and a build environment up and running already under 12.04. This is extremely appreciated man, thank you!
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
After much dragging of feet, I'm finally uploading a new AOSP build. I won't be around for most of the day to offer support, but after five minutes of testing, everything seems to be working.

Changelog:

Lots of CM updates, including CAF stuff and SELinux support

Rewritten interaction hints code.

Merged nanolunch back into freelunch, including some optimizations that might make it perform better for gaming. As with TW, let me know if battery life and/or smoothness are affected.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] PwnCakes193:
There's some graphical errors happening on random items but thats the extent of it. Otherwise everything is running smooth!

EDIT: Actually there's a pretty nasty bug on 7/21 nightly. It deletes all my text messages when using the messaging app. It's done this 4 times over 4 different clean installs
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
That's a pretty catastrophic bug. What ROM (and version) are you running?

The newest build probably requires ROM support, since CM merged in SELinux support. I'm not terribly familiar with SELinux, but it's possible that without a ROM that's new enough to include CM's changes, SELinux may be preventing access to all sorts of things. Any ROM built after 7/16 ought to be okay, but there's no guarantees.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] PwnCakes193:
I'm using the latest CM changes as of 12 today. I installed the leankernel test version instead and everything works. Not sure what the issue is with it.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] decimalman:
Bizarre. I haven't heard anyone else report similar issues, but I'll take a look at the latest changes. There's been quite a bit of activity from CM, so it's possible that some of their changes aren't playing well with the rest of dkp.
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] moz68:
3.4 07/21dkp Running Great on Task 07.20.2013b!! Thanks dm!!
[AT&T, Rogers, Bell, Telus Samsung Galaxy S III] rockynewsmaster:
Tried out the latest tw att test build and everything is smooth, really smooth but the screen doesn't timeout on its own

But otherwise fantastic kernel as always!