Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,812,702 Members 45,129 Now Online
XDA Developers Android and Mobile Development Forum

[KERNEL][4.3/4.4/TW4.1/TW4.3] dkp - d2spr - 7/5/14

Tip us?
 
decimalman
Old
(Last edited by decimalman; 6th July 2014 at 04:52 AM.)
#1  
decimalman's Avatar
Senior Member - OP
Thanks Meter 2,842
Posts: 1,042
Join Date: Nov 2012

 
DONATE TO ME
Default [KERNEL][4.3/4.4/TW4.1/TW4.3] dkp - d2spr - 7/5/14

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. I go out of my way to support Trickster MOD, but most other apps work well.

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 governor provides a good compromise between battery life and performance
  • Automatic mpdecision and auto-hotplug are only enabled when needed
  • Adjustable minimum voltage for stability on finicky processors
  • exFAT support for 64GB SD cards
  • 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.
drpenguino, 0xScott, vmancini3 (twice! ), Ch4m3l30n, rompnit, Mystique, ryandubbz, techdog

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:
  1. Reboot to recovery. I recommend that one recovery...you know, the one that flashes zips? I forget what it's called.
  2. Flash dkp. Optionally, rename and flash dkp-vmin-XXX.zip (see below).
  3. 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, just disable "Override Minimum Voltage" in the "Specific" page, 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:
Downloads (MediaFire mirror)

dkp-vmin-XXX.zip (MediaFire mirror)

Currently, the xstefen.net downloads are misbehaving. Use the MediaFire mirror instead.
Downloads: thanks to xstefen for providing hosting!

dkp-vmin-XXX.zip

Really old downloads

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.
The Following 118 Users Say Thank You to decimalman For This Useful Post: [ Click to Expand ]
 
decimalman
Old
(Last edited by decimalman; 21st September 2013 at 01:30 AM.)
#2  
decimalman's Avatar
Senior Member - OP
Thanks Meter 2,842
Posts: 1,042
Join Date: Nov 2012

 
DONATE TO ME
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
  • 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.
The Following 16 Users Say Thank You to decimalman For This Useful Post: [ Click to Expand ]
 
decimalman
Old
(Last edited by decimalman; 13th June 2013 at 01:30 AM.)
#3  
decimalman's Avatar
Senior Member - OP
Thanks Meter 2,842
Posts: 1,042
Join Date: Nov 2012

 
DONATE TO ME
Goodies:
mikedavis120 has put together a how-to video that covers tweaking dkp for optimal battery life. If you're new to dkp, take a look! He also put together a zipped collection of apps that will come in handy while tuning dkp. It also includes a flashable zip, "dkp-debug_v1.zip". After flashing it, running
Code:
su
dkp
from a terminal emulator will collect lots of useful debug information that will make it much easier for me to track down the issue you're having. mikedavis120 recommends installing SuperSU (included in the zip) instead of what's included in you ROM.



sysfs:
 

It's possible to adjust all the settings available in dkp without using apps. Because they show up as files, settings can be adjusted with file managers, terminal emulators, adb and initscripts. Here's the most interesting files inside sysfs:
  • /sys/devices/platform/mipi_samsung_oled.513/lcd/panel/panel_colors: display tint (0 = very red, 2 = default, 4 = trinity colors)
  • /sys/devices/system/cpu/cpu<N>/cpufreq/UV_mV_table: voltage table
  • /sys/devices/system/cpu/cpu<N>/cpufreq/scaling_...: scaling_governor is the governor, scaling_min_freq and scaling_max_freq are the minimum and maximum frequencies, scaling_available_governors and scaling_available_frequencies show the available governors and frequencies
  • /sys/kernel/dkp/force_fast_charge: fast charge
  • /sys/kernel/dkp/link_core_settings: when linked (the default), frequency settings and some governors are automatically copied to the other core
  • /sys/kernel/dkp/vmin: minimum processor voltage in mV
  • /sys/kernel/mm/uksm/run: activate UKSM


auto-hotplug tuners:
 

These show up in the governor settings for any governor that doesn't do its own hotplugging. They only take effect when using auto-hotplug, so you'll probably need to disable mpdecision in Trickster.
  • hotplug_intpulse: when set to 1, automatically turns core 2 on whenever the screen/buttons/whatever is pressed. Default is 0.
  • hotplug_sampling_periods: number of samples to use for average number of running tasks. Default is 15.
  • hotplug_sampling_rate: number of 'jiffies' (currently 1 jiffy = 10 ms) between each sample of running tasks. Default is 20 (0.2 sec).
  • hotplug_enable_one_threshold: the average number of running tasks required to turn core 2 on, multiplied by 100. Default is 125 (1.25 tasks on average).
  • hotplug_disable_one_threshold: the average number of running tasks required to keep core 2 on, multiplied by 100. Default is 250 (2.5 tasks on average).


freelunch/nanolunch tuners:
 

freelunch and nanolunch aren't materially based on other governors, so their configuration is quite different than other governors. There's lots of tuners, since I haven't really decided on an ideal tuning. I encourage experimentation! I'll explain a bit of how these governors work before actually listing the tuners.

Generally speaking, there are two modes: in "normal" mode, sampling is done occasionally and frequency is generally increased slowly; in "interactive" mode, sampling is done much more quickly, and frequency increases much more quickly. "Interactive" mode ends after several samples of very low usage. The idea of a "hispeed" frequency is used in lots of governors, and it refers to the frequency that the CPU will jump to when more CPU usage is needed; generally, it's a generous estimate of how much CPU will be needed. Here, the hispeed frequency is adjusted on-the-fly, increasing when more CPU is needed and gradually decreasing when the CPU is idle. In "interactive" mode, the hispeed frequency is kept fairly high so that everything will feel snappy.

Hotplugging is taken care of in the least complicated (and in my opinion, most reasonable) way possible: if core 1 is using lots of CPU, and there are several tasks running (in other words, if it's likely that core 2 will have something to do), core 2 is turned on; if either core isn't doing much except using power, core 2 is turned off.
  • sampling_rate: the usual
  • hotplug_up_cycles: number of consecutive heavily-loaded samples before core 2 is turned on
  • hotplug_down_cycles: number of consecutive lightly-loaded samples before core 2 is turned off
  • hotplug_up_load: number of running tasks required to bring core 2 online
  • hotplug_up_usage: number of used CPU cycles (in thousands per second) required to bring core 2 online
  • hotplug_down_usage: number of used CPU cycles (in thousands per second) required on both cores to keep core 2 online
  • overestimate_khz: number of CPU cycles to overshoot usage by in "normal" mode
  • hispeed_thresh: if CPU usage is within this many cycles (in thousands per second) of the maximum frequency, frequency will be increased to the hispeed frequency. Generally, hispeed is pretty low in "normal" mode, and fairly high in "interactive" mode.
  • hispeed_decrease: when the CPU is sitting idle, the hispeed frequency is decreased by this amount each sample (this isn't ideal, but it works)
  • interaction_hispeed: the initial hispeed frequency when switching to "interactive" mode
  • interaction_return_cycles: number of consecutive lightly-loaded samples before returning to "normal" mode
  • interaction_return_usage: number of used CPU cycles (in thousands per second) required to stay in "interactive" mode
  • interaction_panic (nanolunch only): when set to 1, allows aggressively jumping past the current hispeed frequency under some circumstances
  • interaction_sampling_rate/overestimate_khz: equivalent to the "normal" versions of the tuners, these take effect in "interactive" mode
The Following 17 Users Say Thank You to decimalman For This Useful Post: [ Click to Expand ]
 
flashback7
Old
#4  
flashback7's Avatar
Senior Member
Thanks Meter 1,336
Posts: 2,731
Join Date: Feb 2012
Location: San Antonio Texas
Default Re: [KERNEL][Very WIP][4.2.x] dkp - d2spr (& friends) - 3/3/13

Awesome to see you doing this!!! Will get on it asap. New Liquid should be available today from what I've read.... Going w your kernel on it for sure. Tks!!!

Sent from my SPH-L710 (Slim + Lean)
Sprint-Moto X/Stock rooted 4.4.4/TWRP 2.7.1.1
The Following User Says Thank You to flashback7 For This Useful Post: [ Click to Expand ]
 
decimalman
Old
#5  
decimalman's Avatar
Senior Member - OP
Thanks Meter 2,842
Posts: 1,042
Join Date: Nov 2012

 
DONATE TO ME
Quote:
Originally Posted by flashback7 View Post
Awesome to see you doing this!!! Will get on it asap. New Liquid should be available today from what I've read.... Going w your kernel on it for sure. Tks!!!

Sent from my SPH-L710 (Slim + Lean)
That was fast. I didn't think anyone was checking XDA this early on the weekend.

I'm running source-built Carbon (with OpenPDroid) ATM and loving it. Liquid should run great too.
The Following 3 Users Say Thank You to decimalman For This Useful Post: [ Click to Expand ]
 
das_webos_transformer
Old
#6  
das_webos_transformer's Avatar
Senior Member
Thanks Meter 316
Posts: 1,136
Join Date: Feb 2012
Location: L-Town

 
DONATE TO ME
Default Re: [KERNEL][Very WIP][4.2.x] dkp - d2spr (& friends) - 3/3/13

Seems to be running good on the latest cm10.1 nightly. Nice job

There's more than corn in Indiana!
LG g2
-IOAP
-ZVA!!!!

Spint Galaxy S III
-Retired!
-Das_ROM http://forum.xda-developers.com/show....php?t=2545068

Nexus s 4G-SOLD

samsung transform
-Retired
-ChickenPox Latest

acer iconia a100
eh
 

My Laptop
Latitude D620
core 2 duo 1.6ghz
3GiB RAM
Linux Mint 14

Desktop
AMD 4600+
2gb RAM
Mint 16
GeForce 430+ 6150SE GPU
^^ high tech, i know!
The Following User Says Thank You to das_webos_transformer For This Useful Post: [ Click to Expand ]
 
flashback7
Old
(Last edited by flashback7; 4th March 2013 at 02:00 AM.)
#7  
flashback7's Avatar
Senior Member
Thanks Meter 1,336
Posts: 2,731
Join Date: Feb 2012
Location: San Antonio Texas
Default Re: [KERNEL][Very WIP][4.2.x] dkp - d2spr (& friends) - 3/3/13

Quote:
Originally Posted by das_webos_transformer View Post
Seems to be running good on the latest cm10.1 nightly. Nice job

There's more than corn in Indiana!
Was just fixing to say same thing. Lol. I'm on 3-3 nightly on a super clean install and running fine. Will chime in later and report. :thumbup:

@op Sat & Sun I'm on here 24-7. :what:


Sent from my SPH-L710 (CM10.1 +dkp kernel)
Sprint-Moto X/Stock rooted 4.4.4/TWRP 2.7.1.1
 
das_webos_transformer
Old
(Last edited by das_webos_transformer; 4th March 2013 at 10:36 PM.) Reason: pictures:D
#8  
das_webos_transformer's Avatar
Senior Member
Thanks Meter 316
Posts: 1,136
Join Date: Feb 2012
Location: L-Town

 
DONATE TO ME
Default Re: [KERNEL][Very WIP][4.2.x] dkp - d2spr (& friends) - 3/3/13

Running excellent. Decent battery, had data on a lot today. School just rapes my battery with data on NO signal like at all.

There's more than corn in Indiana!
LG g2
-IOAP
-ZVA!!!!

Spint Galaxy S III
-Retired!
-Das_ROM http://forum.xda-developers.com/show....php?t=2545068

Nexus s 4G-SOLD

samsung transform
-Retired
-ChickenPox Latest

acer iconia a100
eh
 

My Laptop
Latitude D620
core 2 duo 1.6ghz
3GiB RAM
Linux Mint 14

Desktop
AMD 4600+
2gb RAM
Mint 16
GeForce 430+ 6150SE GPU
^^ high tech, i know!
 
decimalman
Old
#9  
decimalman's Avatar
Senior Member - OP
Thanks Meter 2,842
Posts: 1,042
Join Date: Nov 2012

 
DONATE TO ME
Default Re: [KERNEL][Very WIP][4.2.x] dkp - d2spr (& friends) - 3/3/13

Quote:
Originally Posted by das_webos_transformer View Post
Running excellent. Decent battery, had data on a lot today. School just rapes my battery with data on NO signal like at all.

There's more than corn in Indiana!
I feel your pain. This morning at work I forgot airplane mode and lost like 10% by break time without even taking my phone out of my pocket. Not much to be done about crappy signal, sadly.

Glad to hear it's running well otherwise. 36 hours and nobody has reported any bugs yet!

Sent from my SPH-L710 using xda app-developers app
For your own safety, do not take the contents of the preceding post seriously.

dkp kernel: d2att d2spr d2tmo d2vzw/d2usc
The Following 2 Users Say Thank You to decimalman For This Useful Post: [ Click to Expand ]
 
das_webos_transformer
Old
#10  
das_webos_transformer's Avatar
Senior Member
Thanks Meter 316
Posts: 1,136
Join Date: Feb 2012
Location: L-Town

 
DONATE TO ME
Default Re: [KERNEL][Very WIP][4.2.x] dkp - d2spr (& friends) - 3/3/13

Usually in up in the 60's with data on most of the day. If that says anything.

There's more than corn in Indiana!
Attached Thumbnails
Click image for larger version

Name:	uploadfromtaptalk1362451800296.jpg
Views:	5839
Size:	38.2 KB
ID:	1780157   Click image for larger version

Name:	uploadfromtaptalk1362451811221.jpg
Views:	5743
Size:	56.8 KB
ID:	1780159  
LG g2
-IOAP
-ZVA!!!!

Spint Galaxy S III
-Retired!
-Das_ROM http://forum.xda-developers.com/show....php?t=2545068

Nexus s 4G-SOLD

samsung transform
-Retired
-ChickenPox Latest

acer iconia a100
eh
 

My Laptop
Latitude D620
core 2 duo 1.6ghz
3GiB RAM
Linux Mint 14

Desktop
AMD 4600+
2gb RAM
Mint 16
GeForce 430+ 6150SE GPU
^^ high tech, i know!

Tags
aosp, battery, kernel
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes