[ROM[CyanogenMod][Fast][Stable][CM10] We make a stable difference - Samsung Galaxy Nexus

Features
Always get the latest additions
Ultra-fast
Ultra-stable
2012-10-06 Fixed power_profile.xml to show correct battery usage (bug was present in CyanogenMod, is also present in all other ROMS & custom kernels)
2012-10-06 Removed CMUpdater
2012-10-06 Recalculated correct smartreflex values with an average of 45mV less volts for the MPU.
2012-10-09 Deadline as default IO Scheduler & fifo_batch 1
2012-10-11 Patches to prevent sync_lost
IDEAS OMAP Gamma Control settings are disabled. They can be modified with 3rd party software. I disabled it because dmesg gets a SYNC_LOST on screen awake.
IDEAS Undervolt LCD by extensive testing. Should decrease heat which would in return prevent CPU throttling.
IDEAS Experiment to increase memory bandwidth. Overclock memory from 400 to 466 or 533?
IDEAS Our display is a huge battery eater. Letś make things black where we can. Also black MMS/People/... background.
COMING remove some code from the Power HAL to prevent spamming logcat with eg BOOSTPULSE not found. It's either this or stick with interactive governor.
IDEAS remove hotplug governor since it seems to crash every time I try it. If it doesn't crash today it will tomorrow
IDEAS increase throttling temperature from 65C to 85C as this is the Tjmax for OMAP4460, still seeing if this works well with the battery
PROGRESS Always fixing CM10 bugs
IDEAS 40Hz VSYNC for extra battery life. Kernel part is ready. Still need to find the Android part
Approved
I78377898 MPU 1350MHz: improve stability: - We give 1350MHz its own EFUSE - Smartreflex offset -90000 - All this should result in +30mv for extra stability CyanogenMod/android_kernel_samsung_tuna
Id17e6ca1 BFQ v5 enabled. After we installed the BFQ patches we should be enabling BFQ. (added at reqest of Rafael Salas) CyanogenMod/android_kernel_samsung_tuna
I81f5b749 block: introduce the BFQ-v5 I/O sched for 3.0 (added at reqest of Rafael Salas) CyanogenMod/android_kernel_samsung_tuna
I882c1e7a block: cgroups, kconfig, build bits for BFQ-v5-3.0 (added at reqest of Rafael Salas) CyanogenMod/android_kernel_samsung_tuna
I161fc7c4 block: prepare I/O context code for BFQ-v5 for 3.0 (added at reqest of Rafael Salas) CyanogenMod/android_kernel_samsung_tuna
Downloads
cm-10-20121011-UNOFFICIAL-maguro.zip
cm-10-20121010-UNOFFICIAL-maguro.zip
cm-10-20121006-UNOFFICIAL-maguro.zip
Results
These are based on the lowest MPU voltage my Nexus was able to run. I added 5mv to the last crashed MPU voltage, and next I added 80mv again which is the noise/ripple value. 1210mv was too close to the voltage making 1350mhz freeze (1170mv). These are safe for everyone.
MPU - Stock Smartreflex - Optimized smartreflex
350 - 840 - 810
700 - 1000 - 950
920 - 1090 - 1050
1200 - 1200 - 1170
1350 - 1210 - 1240

good
what is the correlation with Fixed power_profile.xml and kernel?
however, you're doing a great job on xda ... continues ... guy.

Welcome !!
Waiting for this !

If you have a fix, why not submit it to gerrit?

djjonastybe said:
Fixed power_profile.xml to show correct battery usage (bug was present in CyanogenMod, is also present in all other ROMS & custom kernels)
Click to expand...
Click to collapse
Looking forward to know whatis the bug in power_profile.xml too.

chadouming said:
Looking forward to know whatis the bug in power_profile.xml too.
Click to expand...
Click to collapse
+1. Gawd i hate suspense.

Galaxy S3 stock ROM had a bug in power_profile.xml and showed the display as 2nd or 3rd drainer instead of first and miles ahead...

chadouming said:
Looking forward to know whatis the bug in power_profile.xml too.
Click to expand...
Click to collapse
mpokwsths said:
Galaxy S3 stock ROM had a bug in power_profile.xml and showed the display as 2nd or 3rd drainer instead of first and miles ahead...
Click to expand...
Click to collapse
Hmm, I guess this?

thederekjay said:
If you have a fix, why not submit it to gerrit?
Click to expand...
Click to collapse
+1
i think he's just saying that he got the fix just to get some download numbers.

anyway,we expect the difference
Sent from my Galaxy Nexus

I am compiling it please hold on
https://docs.google.com/spreadsheet/ccc?key=0AuqacKmGLKJ6dEdJZG5QTmNtQnoyYk0zbm5IanluMHc#gid=1
If anyone here has undervolted and kept their crashing voltages please send them so I can improve smartreflex

k786 said:
+2
if you have a fix why make it rom exclusive? submit a gerrit and make all roms better
Click to expand...
Click to collapse
I did that. But they are not fond of my power consumption calculation being linear. Let s say they wanted me to prove it it is correct. No way to prove it except making a calculation based on their existing findings.

anarkia1976 said:
what is the correlation with Fixed power_profile.xml and kernel?
however, you're doing a great job on xda ... continues ... guy.
Click to expand...
Click to collapse
the power consumption of the CPU is preset in the power_profile.xml since android by itself cannot calculate power consumptions. Using kernels with custom frequencies for the CPU can screw all this up. 1350MHz or 1500MHz are not official so they are not included in power_profile.xml. So we have to add them to show correct battery stats

Anyone try this yet?

I am uploading todays version. I tweaked deadline and set it as default. I also revised my custom smartreflex code.
Does anyone here use a governor other than interactive?
I will start testing on undervolting the LCD right away.

Also new and being the first Nexus ROM to release:
40Hz refresh rate extra battery life! I believe 40Hz is plenty for gaming on a phone.
Going to test this tomorrow.

Uploaded todays version

why using a host that requires register\login?i want to try the rom,but not want to register a service that i'll never use..thanks anyways mate!

Good ideas djjonas.
Definitely going to try it.
However ... 40Hz are not enough. This is the concept of Project Butter. 60fps all the time!
I would say more than 45Hz would be good...

download link is very troublesome, very bad.

Related

[KERNEL][2/2/12] KangBang 1.0.7 [OC/UV/GPU]

You guys have already had a taste of this (if you're on RootzBoat) but for the rest of you, here it is.
This kernel has been a collaboration between Jake Day and myself, bringing you tons of improvements over the stock kernel.
Jake has done the majority of the code fixes, he's doing great work on this kernel.
If you want to take a look at our voltages vs the stock voltages, they're posted in the 2nd post
Change Log:
1.0.7:
Update to 3.0.18
Kanged suspend and hotplug features from InteractiveX (just the features, to use them, stay running Interactive governor)
rcu: Eliminate in_irq() checks in rcu_enter_nohz()
nohz: Remove nohz_cpu_mask
nohz: Make idle/iowait counter update conditional
nohz: Fix update_ts_time_stat idle accounting
nohz: Remove update_ts_time_stat from tick_nohz_start_idle
ARM: SMP: use a timing out completion for cpu hotplug
ARM: cache: assume 64-byte L1 cachelines for ARMv7 CPUs
ARM: vmlinux.lds.S: align the exception fixup table to a 4-byte boundary
ARM: vmlinux.lds.S: do not hardcode cacheline size as 32 bytes
scheduler: domain: init next_balance in nohz_idle_balancer with jiffies
Enable KSM
Super AMOLED Color Hack now enabled (adjustable in new RootzBoat coming)
Fixed issue with gpio pins causing wakeups without enable_irq_wake() set
Fix bug with LPDDR CLK IO for suspend and idle to save power
Added open color format definitions
Force a DPLL clkdm/pwrdm ON before a relock
Fix gains on DL1 BE so values don't get lost and screw up sound
Fixed memory leak and dm timer handling
Create sysfs entry for egl.cfg so SGX can load correct OpenGL libraries
Readahead corrected
0.9.6:
Set default HZ to 250
disable fsync (makes data writes quicker and better on battery)
improve performance of deadline io scheduler
overclock core OPP100 to 220 and gpu OPP3 to 422
adjust voltages
improve cpu transition latency
OMAP4: HWMOD: UART1: disable smart-idle.
iosched (796d511): prevent aliased requests from starving other I/O
OMAP4: PM: work around for CPU1 onlining from OFF/OSWR state
fixed mbox recovery wakeup issue
adjust DSS latency constraint for deeper power state
OMAP4: HSI: Fix for back to back CAWAKE interrupts
Smartass2 stable again
Interactive adjusted
i2c-omap: use usleep_range(), get rid out of jiffies
hrtimers: teach usleep_range() to return how many usecs was slept
PM / Hibernate: Correct additional page calculation
ARM: smp_twd: make sure timer is stopped before registration
mm: vmscan: recompute page status when putting back
mm: vmscan: check page order in isolating lru pages
ARM: hwcaps: add new HWCAP defines for ARMv7-A
ARM: hwcaps: use shifts instead of hardcoded constants
mmc: fix deadlock from mmc core when suspend the device
ARM: Fix handling of pending IRQs at request time
mmc: change mmc_delay() to use usleep_range()
mm: memcg: update the correct soft limit tree during migration
OMAP4: USB: Fixed tshut reboot issue
Use same voltage for GPU OC as 307mhz
cpufreq: hotplug: do not synch threads on jiffies
block: avoid unnecessary plug list flush
block, sx8: kill blk_insert_request()
block: simplify force plug flush code a little bit
block: avoid building too big plug list
Some md updates from Linux mainline 3.2
Commits cherry picked from Linux 3.2
sched: don't call task_group() many times in set_task_rq()
nohz: Remove ts->inidle checks before restarting the tick
Init: Multithread initcalls to auto-resolve ordering issues.
memcg: mark rcu protected member as __rcu
mm/swap: make swapin readahead skip over holes
sched: fix nohz idle load balancer issues
Video playback solved
0.8.5:
improved CPU transition latency
fixed voltages for two addition frequency slots
fixed battery drain issues (battery life should be MUCH better)
added jRCU
tweaked smartass2 and interactive governors
some code and message clean up (going LEAN!)
fixed dispc issue with NO_SLEEP
patched to 3.0.17
fixed callbacks in mgr->blank
improved I/O latency
correct manager index for VSYNC irq handler
updated cpufreq and regulator driver
added version name to kernel
0.7.1:
added two additional frequency slots (from 5 slots to 7 slots) (please read known issues in second post)
lowest slot is now 250 mhz
fixed voltage ramping for lower frequencies (will help battery life)
some OTG clock and USB_DPLL fixes
0.6.8:
Hotplug governor stabilized
Ram issue fixed
0.6.7:
Added ramconsole
Reduced power consumption when idle
(both from Jake, great changes)
0.6.5:
Userspace undervolting fixed thanks to Jake.. guys a genius
updated to 3.0.14
SLOB is default memory allocator
adjust initialization of powerstates to fix power consumption
enable OMAP4_PMD_CLKS for saveram calls
add REG support for VCORE and gate resources during suspend
Improved clock frequency selection
Higher HSI throughputs
False IO wakeup fixed
PRM Register offsets fixed
Fast ramp down allowed
SmartAss2 optimizations
Change default scheduler CFS -> Autogroup
RCU boost enabled
cpufreq updates from 3.2
Use SWSUP instead of HWSUP to improve performance and power usage
SGX Active Power Latency set to 2ms
CK1 patched in (minus BFS)
On suspend, make sure resources will be gated with regulator_suspend_calls
Fixed suspend states for VAUX3, VUSIM, VANA, VCXIO, and VDAC
vfs cache pressure = 20
dirty ratio = 90
dirty background ratio = 70
swappiness = 0
Download Link:
http://bit.ly/zFDxxV
Mirror:
http://bit.ly/xrZvCh
Older Builds can be found here:
http://4ndr01d.com/gnex/kernels/
As always, I comply with GPL.
You can find my source here:
http://bit.ly/wA84bP
If you like our work, feel free to donate to me here:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=ZAPY38CTG4WS4
or
Jake here:
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=HSADFMJTE2YB8
reserved for issues..
reserved just in case... you never know
dat changelog
I'm going to flash this and give it a go.
Sent from my Galaxy Nexus using Tapatalk
LexusBrian400 said:
dat changelog
Click to expand...
Click to collapse
It's beastly.. we've done a lot of work
Dudes. By FAR the best performing kernel I've used to date. Benchmark numbers are through to roof! Stable too. No reboots or hangups up to this point.
Sent from my Galaxy Nexus using Tapatalk
Enndr said:
Dudes. By FAR the best performing kernel I've used to date. Benchmark numbers are through to roof! Stable too. No reboots or hangups up to this point.
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
Glad to hear you like it working on some big changes for the next update. At some point, I want to get BFS booting. It's being a pain lol
sorry for this noob questions..but it works on gsm gnex?
EDIT ALREADY TRIED..WORKS GOOD!
i like this kernel..how governor do you reccomend for stability and performance?i like the 2 freq. slots added,i don't use 250 (to small)but i like 500 mhz because i usually set (with others kernelz)700 how the minimum freq (350 gave me little lags on homecsreen after lockdown).now i can use 500 how my minumum limit freq.i'll report how it goes also on battery managment!
ps..any chance to have also 1420 mhz step how lean kernel experimental?i definitely stick with this if you consider that thing!anyway,great job man!
EDIT2 this kernel give the best score ever on antutu....7380!!!kangbang rocks!also if don't care about benchs,this score is amazing!now let'see how it goes on real use!sliding pages on homecsrenns is more fluid....hope this isn't placebo effect!
gonna test this out..
after hours of testing,it seems that i have micro lag in the drawer,also with the minum freq. upped at 500 mhz...strange,after the flash,hours ago,i don't feel that...benchmark's scores are always very high for me..i want to redownload the file and reflash.
Kinda of a noob question, im currently running the Revolution HD rom, would this work without issues or is this just for rooted stock ICS?
not sure what the problem is
I flashed this last night and it seemed fine, then I notices that the top of the phone got really hot playing a game so I stopped playing it and went to bed, I woke up and my phone wouldn't turn on and it was burning up almost to hot to touch. I had to reflash to a different kernel and when it booted the battery was only at 56% charged. I know it wasn't my phone because I havent had this happen with any other kernel I have used.
-J450N said:
Kinda of a noob question, im currently running the Revolution HD rom, would this work without issues or is this just for rooted stock ICS?
Click to expand...
Click to collapse
No. It's only for 4.0.3 roms
sert00 said:
sorry for this noob questions..but it works on gsm gnex?
EDIT ALREADY TRIED..WORKS GOOD!
i like this kernel..how governor do you reccomend for stability and performance?i like the 2 freq. slots added,i don't use 250 (to small)but i like 500 mhz because i usually set (with others kernelz)700 how the minimum freq (350 gave me little lags on homecsreen after lockdown).now i can use 500 how my minumum limit freq.i'll report how it goes also on battery managment!
ps..any chance to have also 1420 mhz step how lean kernel experimental?i definitely stick with this if you consider that thing!anyway,great job man!
EDIT2 this kernel give the best score ever on antutu....7380!!!kangbang rocks!also if don't care about benchs,this score is amazing!now let'see how it goes on real use!sliding pages on homecsrenns is more fluid....hope this isn't placebo effect!
Click to expand...
Click to collapse
The problem is, the most recommended slots for OMAP processors are 7, because of the way the registry board works. I want to play around with the frequencies to find a better spread, but most phones can't handle 1400+ anyways (mine can't, for example, so there's no real way for me to test)
edit: And thanks for letting me know it works on GSM Nex I figured it did, as I use AnyKernel updater, but haven't had that tested.
jitajt said:
I flashed this last night and it seemed fine, then I notices that the top of the phone got really hot playing a game so I stopped playing it and went to bed, I woke up and my phone wouldn't turn on and it was burning up almost to hot to touch. I had to reflash to a different kernel and when it booted the battery was only at 56% charged. I know it wasn't my phone because I havent had this happen with any other kernel I have used.
Click to expand...
Click to collapse
You caught the frequency lock bug. Seems that it's been fixed in the new version released today, though.

[KERNEL][AOSP4.4/5.1/6.0/7.1] dkp - d2att - 2/4/18

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.
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.
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.
Goodies:
dkp doesn't come with its own splash screen. However, the dkp installer (i.e. the install zip) is smarter than you think, and can apply a custom splash screen for you. Here's how:
Create a folder on your internal storage named "dkp"
Copy a PNG image into the directory, and rename it "splash.png". Alternatively, copy an RLE image (i.e. from a flashable custom splash screen zip) and rename it "splash.rle". Ideally, the image should be roughly 1280x720 to begin with, since it won't be resized.
The image will be used as your splash screen whenever you flash dkp. Reflash to apply initially.
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. :good: 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 (not available on newer AOSP builds): display tint (0 = very red, 2 = default, 4 = trinity colors)
/sys/class/misc/gammacontrol (only available on newer AOSP builds): various color controls. See this post for details on enabling Trinity colors on builds that use these controls.
/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
Just loaded it on pa 3.15
Sent from my SAMSUNG-SGH-I747 using xda premium
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
Sent from my SGH-I747 using xda app-developers app
rmead01 said:
It doesn't say that it has morfic colors, but looks like it does. Gonna give it a whirl
Sent from my SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
It doesn't, but I'll merge it and put out a test build.
decimalman said:
It doesn't, but I'll merge it and put out a test build.
Click to expand...
Click to collapse
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.
Sent from my SGH-I747 using xda app-developers app
rmead01 said:
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.
Sent from my SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
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
Code:
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
Thnx for this kernel
decimalman said:
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
Code:
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
Click to expand...
Click to collapse
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?
rmead01 said:
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?
Click to expand...
Click to collapse
+1 on these questions
Sent from my AT&T Samsung Galaxy S III
rmead01 said:
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.
Click to expand...
Click to collapse
Answered my own problem. I installed trickster as mentioned in OP and all voltage settings stick no problem with no issues.
rmead01 said:
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?
Click to expand...
Click to collapse
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.
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).
decimalman said:
Personally, I don't like trinity colors, but I definitely understand the appeal. I merged this in, 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.
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).
Click to expand...
Click to collapse
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.
rmead01 said:
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 was made it was no problem. 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.
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 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.
Click to expand...
Click to collapse
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.
decimalman said:
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.
Click to expand...
Click to collapse
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:
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?
Does your kernel support faux sound app?
stevehkim said:
Does your kernel support faux sound app?
Click to expand...
Click to collapse
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.
Sent from my SPH-L710 using xda app-developers app
This is a fantastic Kernel! The battery life has been outstanding so far. Thank you for your amazing work!

[KERNEL][AOSP4.4/5.1/6.0/7.1] dkp - d2tmo - 2/4/18

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.
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.
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.
Goodies:
dkp doesn't come with its own splash screen. However, the dkp installer (i.e. the install zip) is smarter than you think, and can apply a custom splash screen for you. Here's how:
Create a folder on your internal storage named "dkp"
Copy a PNG image into the directory, and rename it "splash.png". Alternatively, copy an RLE image (i.e. from a flashable custom splash screen zip) and rename it "splash.rle". Ideally, the image should be roughly 1280x720 to begin with, since it won't be resized.
The image will be used as your splash screen whenever you flash dkp. Reflash to apply initially.
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. :good: 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 (not available on newer AOSP builds): display tint (0 = very red, 2 = default, 4 = trinity colors)
/sys/class/misc/gammacontrol (only available on newer AOSP builds): various color controls. See this post for details on enabling Trinity colors on builds that use these controls.
/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
Look promising
kruse1944 said:
Look promising
Click to expand...
Click to collapse
Wow you're quick!
Let me know how it works for you. Happy flashing!
Thanks for your work:good:
Is it just me or is the voltage table backwards, higher voltages for lower cpu speeds?
Sent from my SGH-T999 using xda app-developers app
Am I missing something? Where do I dl d2tmo?
Sent from my Wicked fast SGS3!
akapaul26 said:
Am I missing something? Where do I dl d2tmo?
Sent from my Wicked fast SGS3!
Click to expand...
Click to collapse
You download the att one. Works for tmo.
Sent from my SGH-T999 using Tapatalk 2
robertd0619 said:
You download the att one. Works for tmo.
Sent from my SGH-T999 using Tapatalk 2
Click to expand...
Click to collapse
Thanks for helping out. :good: I'll change the file name to be more obvious shortly.
darjama said:
Is it just me or is the voltage table backwards, higher voltages for lower cpu speeds?
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
Bizarre. The tables are all correct and should display correctly, but your app is probably expecting a slightly different format. What app are you using? I'll try to figure out what's going on.
This kernel works great thanks I'm on pac rom. Thanks
aaaaaaaaahhhhhhhhhhhhhhh help me
decimalman said:
Thanks for helping out. :good: I'll change the file name to be more obvious shortly.
Bizarre. The tables are all correct and should display correctly, but your app is probably expecting a slightly different format. What app are you using? I'll try to figure out what's going on.
Click to expand...
Click to collapse
just took a look at your acpuclock tables, the first table uv to 1400000 but others don't match. nomal and fast should match up with one another from my experience. The multipliers seem good tho
ayysir said:
just took a look at your acpuclock tables, the first table uv to 1400000 but others don't match. nomal and fast should match up with one another from my experience. The multipliers seem good tho
Click to expand...
Click to collapse
The tables I'm using are the stock tables from CM & Samsung (obviously with extra frequencies added as well). I've deliberately kept the standard voltage setup (minimum voltage, different voltage tables for each PVS bin, etc.), although by default I disable the minimum voltage during boot.
On the other hand, at 2106 MHz, the PVS bin probably doesn't matter, and all three bins probably need the full 1.4 V. My processor undervolts nicely, so I don't have a good sense for what voltage is required when overclocking. If anyone provides me tables that work for them, I'll update the higher voltages.
LOL the multipliers should be fine except the ridiculous 2.5 GHz typo that should never have been committed.
decimalman said:
The tables I'm using are the stock tables from CM & Samsung (obviously with extra frequencies added as well). I've deliberately kept the standard voltage setup (minimum voltage, different voltage tables for each PVS bin, etc.), although by default I disable the minimum voltage during boot.
On the other hand, at 2106 MHz, the PVS bin probably doesn't matter, and all three bins probably need the full 1.4 V. My processor undervolts nicely, so I don't have a good sense for what voltage is required when overclocking. If anyone provides me tables that work for them, I'll update the higher voltages.
LOL the multipliers should be fine except the ridiculous 2.5 GHz typo that should never have been committed.
Click to expand...
Click to collapse
hmm your correct just took a quick gander at cm's tables. I say try increase the voltages accordingly and see if it makes a difference in readings
decimalman said:
Bizarre. The tables are all correct and should display correctly, but your app is probably expecting a slightly different format. What app are you using? I'll try to figure out what's going on.
Click to expand...
Click to collapse
I'm using set cpu. Thanks for looking into it.
Sent from my SGH-T999 using xda app-developers app
darjama said:
I'm using set cpu. Thanks for looking into it.
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
I'm guessing this was an oversight on my part. I don't actually have the app, but I'm testing a bunch of fixes for a handful of different apps now. I'll push a test build (hopefully) later today that should get Voltage Control, Kernel Tuner, and maybe even SetCPU all working properly.
darjama said:
I'm using set cpu. Thanks for looking into it.
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
New test build should get SetCPU working properly. If you get a chance, will you try flashing this test build and letting me know if it works for you?
decimalman said:
New test build should get SetCPU working properly. If you get a chance, will you try flashing this test build and letting me know if it works for you?
Click to expand...
Click to collapse
That seemed to fix it, thanks!
Sent from my SGH-T999 using xda app-developers app
darjama said:
That seemed to fix it, thanks!
Sent from my SGH-T999 using xda app-developers app
Click to expand...
Click to collapse
Great! If I don't run into any problems with the changes I made, I'll merge everything and it'll be in the next release.
robertd0619 said:
You download the att one. Works for tmo.
Sent from my SGH-T999 using Tapatalk 2
Click to expand...
Click to collapse
I figured as much. But was not 100% thanks
Sent from my Wicked fast SGS3!

[KERNEL]BionicSheep Kernel (4.2.2) (4.3) - FINAL BUILD

FEATURES FOR 4.2.2:
Code:
-Built from CM10.1 sources
-Built using Linaro 4.7.4 toolchain
-Overclocked to 1620Mhz
-Underclocked to 270Mhz
-faux sound is here
-Undervolted and support for user undervolting
-Added Governors
+intellidemand
+badass
+wheatley
+smartassH3
+asswax
+smartmax
-Added IO Schedulers
+sio
+tripndroid
+fifo
-thalmus hot plugging (mpdecision is disabled by default for 4.2.2)
-fast charge support
-frandom support
FEATURES FOR 4.3:
Code:
-Built with latest CM10.2 sources
-latest linux 3.4.65
-Compiled with Linaro 4.8.2
-Overclocked to 1620Mhz
-Underclocked to 270Mhz
-fast charge support
-faux sound support
-CM cherrypick to prevent battery drain (thanks for finding it pwncake)
-Added Governors
+intellidemand
+badass
+wheatley
+smartassH3
+asswax
-Added IO Schedulers
+sio
+tripndroid
+fifo
-thalmus hot plugging
-frandom support
-undervolting and user undervolting (minimum is 900, anything below this won't change anything)
-modified colors (sort of like trinity but my modifications)
-gpu OC to 480
This rom currently supports the Trickster Mod App - get it here https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod&hl=en
This rom is meant for AOSP 4.2.2 and 4.3 depending on which download you grab and what ROM you use. Do not mix the kernel, you assume the risks of your stupidity if you don't read the OP.
PM me if you need any help starting up your own kernel
BDownloads for 4.3:
BionicSheep2v0.7.1_RC2
BionicSheep2v0.6.0_RC1
BionicSheep2v0.5.5
BionicSheep2v0.5.1
Downloads for 4.2.2:
BionicSheepv0.3.8_RELEASE_6
READ THIS PLEASE:
Everyone, sorry to disappoint but this kernel is now dead. Due to a serious serious issue with the git client, me trying to delete 1 repo caused the deletion of my kernels repo instead. There will be no builds anymore, I would have to start from scratch and I do not remember every line of code I have changed for the past 4 months.
My sincerest apologies to you guys, I am still shocked myself right now, I can't believe it did that.
I will keep downloads up for now but I doubt the kernel will work bug free into the future without keeping up with driver updates and such. If there are any GPL concerns from any mods here on xda, please let me know and I will take the links down. I had source up until it got deleted. Thanks for the help, experience, and the times guys. You made this kernel a wonderful learning experience for me. Look out for my app in the next few months guys, its my new project if git doesn't screw me on that too.
My settings:
Gov: asswax
IO: row
Read ahead: 1024
Voltages: (stock, I pick them in the first place )
GPU: 480
Powersaving: 0
Mpdecision: its gone so enabling it does nothing
Sources:
https://github.com/BionicSheep/android_kernel_samsung_d2.git
Special thanks to:
ahagersr - for getting me started up and giving me hours of reading material
stratatak7 - for helping with packaging and voltage fixes
gideonX - for his patience and willingness to answer my nooby questions
pwncake193 - for helping me with 4.3 sources and kernel start up for it (send him thanks guys)
ktoonsez - for his patience and willingness to answer my nooby questions
imoseyon - fastcharge
TripNRaVeR - for his IO scheduler
faux123 - for his awesome sound support
the community - help in general
Changelog
Code:
10.07.2013 RC2
-fix all the bugs!
10.06.2013 Experimental Release
-Hopefully fixed random reboots (you tell me)
-Linux 3.4.65 updates
-cm updates
-clock changes
-GPU overclocking to 480, if you think its useless, don't tell me, just turn it off, my testing proves otherwise
-updates deadline scheduler to have 0ms latency (credits to imoseyon)
10.03.2013 Release Candidate
-cm updates
-asswax tunables adjusted to personal preference. Ramps up slower but also ramps down slower, also focuses on lower
clocks at screen up and deep sleep. Check the git if you're curious
-Linaro 4.8.2 instead of 4.7 used to compile
-Latest linux 3.4.64
-378 clock changed back to 384 (so much more stable and battery friendly)
-voltage adjustments
[COLOR="Red"]This is probably my last build for this phone, when the Nexus 5 comes out I will probably get it and sell my gs3, so if the
price is less than $350, this will be it guys. Thanks for testing as I made my first kernel. I learned a lot! If any huge issues
present themselves I will obviously update it.
4.2.2 is being worked on, but my tester has to get back to me on the latest build (I run 4.3 personally) and then I will upload!
[/COLOR]
09.25.2013
-cm updates
-bluetooth updates
-basically update the everything
-linux updated to 3.4.61 (x.62 will be implemented soon hopefully
-modified clocks a bit to try and get better stability
-sorry updates have been slow (school and all), I am planning on getting a nexus 5 on release so prepare for a potential stop on this kernel for the gs3 when that happens (sorry)
08.23.2013
-tweaked sheep colors a bit and colors look whiter than ever!!
-voltage tweaks (again)
-smartmax governor added(info on it [URL="http://forum.xda-developers.com/showpost.php?p=38193047&postcount=6943"]here[/URL])
08.22.2013
-trying to fix various bugs
-linux 3.4.59 update
08.20.2013b(4.3)
-torch is done! Finally figured out what was going wrong
08.20.2013(4.3)
-linux 3.4.58 updates
-latest cm sources
-fixed torch
-bionicsheep colors should be implemented on boot (no yellow tint)
-voltage tweaks
08.15.2013(4.3)
-rebased from cm so latest drivers and merges
-linux 3.4.57 updates
-upped voltages on overclock so this should fix reboots for some people
-code clean ups
-modified screen colors, its like trinity but my tweaks.
I tried to make colors less saturated and cool the colors
(to enable for now just switch the screen temp (to any option)
in the advanced settings and lock your device,
I will enable on boot if you guys like it)
-so with new drivers this build tends to produce graphical
glitches on older versions of ROMS (pwncakes latest build has been
tested and works)
-old versions of the kernel also no longer play nice with new versions of ROMS
08.12.2013(4.3)
-fixed reboots for some people (I wasn't able to get it to reboot so
hopefully this works for you guys, let me know if it doesn't)
-undervolting finally is here and stable!
-user undervolting is back (min is 850 so going lower is pointless)
-it seems smoother than normal
08.11.2013(4.3) Part 2
-forgot to include frandom module in last build its here now
-you should see some performance improvements especially if you
use things like the crossbreeder mod
08.11.2013(4.2.2)
-frandom support
-clock changes
08.11.2013 (4.3)
-faux sound has returned
-Stable underclocking to 270 (whooooo)
-Stable overclocking to 1620 (WHOOOO)
-frandom support
-easter egg
-mpdecision disabled and removed on boot
-latest cm sources merged
08.10.2013 (4.3) Part 2
-think I fixed hot plugging (confirmed)
08.10.2013 (4.3)
-rebased with latest cm sources
-added thalamus auto hot plugging and double checked its working
-added governors:
+asswax
+wheatley
+badass
+smartassh3
+intellidemand
-added IOSched:
+tripndroid
+fifo
+sio
08.09.2013 (4.2.2)
-fixed hot plugging so that it actually shuts down the second core
-mpdecision is removed since hot plugging works now so you don't have to change a thing
08.06.2013 (4.2.2)
-thalamus hotplugging
-fifo scheduler
-easter egg (you will see when you boot)
08.05.2013
-initial 4.3 build
08.03.2013
-Fixed user voltage scaling
-[COLOR="Red"]Faux Sound[/COLOR] support for those who were asking for it
08.02.2013
Added some governors and IO schedulers per request:
-smartassH3 Governor
-asswax Governor
-wheatley Governor
-tripndroid IO Scheduler
08.01.2013
-Initial Release
Give me an hour or two and I'll post some feedback
Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
crashpsycho said:
Give me an hour or two and I'll pohavest some feedback
Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
Click to expand...
Click to collapse
Thanks man. Much appreciated. Like I said, let me know if you have any requests
Downloading this shiz right now. Yay for new kernels. :highfive::good:
So it looks like if you flash over Ktoonz the tweaker box will stay there which is fine.... I must say coming from any reboot I've never seen where a kernel loads up widgets and everything so fast... nice work on that
Responce wicked fast, deep sleeps better than my snoring wifey,
Small querks I've noticed upon flash there is a lag switching pages and responce is slow I've noticed that you can get SOD I'm running at 15xx to 16xx to test high CPU, and that once SOD is in.place Battery Pull require. But works very well
Request, savage zen& zen, Wheatley, smartassh3, Lionheart would be great but very stable kernel so far Big Props!
Edit : running Liquid smooth 2.9
Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
crashpsycho said:
So it looks like if you flash over Ktoonz the tweaker box will stay there which is fine.... I must say coming from any reboot I've never seen where a kernel loads up widgets and everything so fast... nice work on that
Responce wicked fast, deep sleeps better than my snoring wifey,
Small querks I've noticed upon flash there is a lag switching pages and responce is slow I've noticed that you can get SOD I'm running at 15xx to 16xx to test high CPU, and that once SOD is in.place Battery Pull require. But works very well
Request, savage zen& zen, Wheatley, smartassh3, Lionheart would be great but very stable kernel so far Big Props!
Edit : running Liquid smooth 2.9
Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
Click to expand...
Click to collapse
When you first flash, you will have lag for a minute or two but then after that it is gone. Idk if I can fix this, but I will look into it. Hmmmmm, haven't gotten any sleep of death yet. What governor are you running? I would recommend asswax since it is just the smartest in my opinion. Also what was your minimum clock? This could cause SOD. Thanks for the help and I will have those governors for you on the next build (shouldn't be long, hell I might be up tomorrow morning)
EDIT: I will try raising the voltages on my underclock and see if that works. For future reference I run this on CM just for smoothness, but I will try testing on LS when I get a chance
aeppacher said:
When you first flash, you will have lag for a minute or two but then after that it is gone. Idk if I can fix this, but I will look into it. Hmmmmm, haven't gotten any sleep of death yet. What governor are you running? I would recommend badass since it is just the smartest in my opinion. Also what was your minimum clock? This could cause SOD. Thanks for the help and I will have those governors for you on the next build (shouldn't be long, hell I might be up tomorrow morning)
EDIT: I will try raising the voltages on my underclock and see if that works. For future reference I run this on CM just for smoothness, but I will try testing on LS when I get a chance
Click to expand...
Click to collapse
His device may not be able to handle UV. I've been booted for almost 30 minutes now with no issues. I've left it stock so far so I will change to badass and see if it happens. So far though smooth as hell.
For reference, I am on Carbon 1.8 Stable.
phoenix2217 said:
His device may not be able to handle UV. I've been booted for almost 30 minutes now with no issues. I've left it stock so far so I will change to badass and see if it happens. So far though smooth as hell.
For reference, I am on Carbon 1.8 Stable.
Click to expand...
Click to collapse
Glad you like, any requests welcome, I want to make this a bit of a rom for the community
aeppacher said:
Glad you like, any requests welcome, I want to make this a bit of a rom for the community
Click to expand...
Click to collapse
As the above poster requested, savagezen is nice. Not sure if it's been ported to 3.4 yet though. Asswax is also nice.
As for IO Sched, there is an awesome one for a T-Mobile kernel to check out. tripndroid iosched by TripNRaVeR. Very smooth with no noticeable drain.
Link to the kernel is here: http://forum.xda-developers.com/showthread.php?t=2301896&page=4
aeppacher said:
When you first flash, you will have lag for a minute or two but then after that it is gone. Idk if I can fix this, but I will look into it. Hmmmmm, haven't gotten any sleep of death yet. What governor are you running? I would recommend badass since it is just the smartest in my opinion. Also what was your minimum clock? This could cause SOD. Thanks for the help and I will have those governors for you on the next build (shouldn't be long, hell I might be up tomorrow morning)
EDIT: I will try raising the voltages on my underclock and see if that works. For future reference I run this on CM just for smoothness, but I will try testing on LS when I get a chance
Click to expand...
Click to collapse
actually my setting were at 1512-1620 intellidemand/sio for testing, UV ive never had any problem and i didnt change the voltage setting , does this kernel support FastCharge ran Fastcharge toggle on trickster and it didnt stick for some reason, so far ive left everything the same 918-1620 with interactive/row and no issues, but ill keep testin
phoenix2217 said:
As the above poster requested, savagezen is nice. Not sure if it's been ported to 3.4 yet though. Asswax is also nice.
As for IO Sched, there is an awesome one for a T-Mobile kernel to check out. tripndroid iosched by TripNRaVeR. Very smooth with no noticeable drain.
Link to the kernel is here: http://forum.xda-developers.com/showthread.php?t=2301896&page=4
Click to expand...
Click to collapse
I'll get right on that
aeppacher said:
I'll get right on that
Click to expand...
Click to collapse
You da man. :highfive::good:
crashpsycho said:
actually my setting were at 1512-1620 intellidemand/sio for testing, UV ive never had any problem and i didnt change the voltage setting , does this kernel support FastCharge ran Fastcharge toggle on trickster and it didnt stick for some reason, so far ive left everything the same 918-1620 with interactive/row and no issues, but ill keep testin
Click to expand...
Click to collapse
hmmm :/ fast toggle working here with trickster mod. Make sure the phone is unplugged. Then toggle fast charge on. And then you should be able to plug it in. Fast charge won't work if its plugged in.
crashpsycho said:
So it looks like if you flash over Ktoonz the tweaker box will stay there which is fine.... I must say coming from any reboot I've never seen where a kernel loads up widgets and everything so fast... nice work on that
Responce wicked fast, deep sleeps better than my snoring wifey,
Small querks I've noticed upon flash there is a lag switching pages and responce is slow I've noticed that you can get SOD I'm running at 15xx to 16xx to test high CPU, and that once SOD is in.place Battery Pull require. But works very well
Request, savage zen& zen, Wheatley, smartassh3, Lionheart would be great but very stable kernel so far Big Props!
Edit : running Liquid smooth 2.9
Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
Click to expand...
Click to collapse
Check out the new update! Added some of your requests (wheatley and smartassh3)
phoenix2217 said:
As the above poster requested, savagezen is nice. Not sure if it's been ported to 3.4 yet though. Asswax is also nice.
As for IO Sched, there is an awesome one for a T-Mobile kernel to check out. tripndroid iosched by TripNRaVeR. Very smooth with no noticeable drain.
Link to the kernel is here: http://forum.xda-developers.com/showthread.php?t=2301896&page=4
Click to expand...
Click to collapse
I added tripndroid and asswax
Holy crap. You're a machine. Flashing this right now. :thumbup:
Sent from my SGH-I747 using xda premium
Looks great! I'll flash this soon. Glad to see you made so much progress.
Sent from my SAMSUNG-SGH-I747
Thanks for sharing your work with us!
Sent from my SAMSUNG-SGH-I747 using Tapatalk 2
Does this have faux sound support?
Sent from my SAMSUNG-SGH-I747 using xda app-developers app
x10user2011 said:
Does this have faux sound support?
Sent from my SAMSUNG-SGH-I747 using xda app-developers app
Click to expand...
Click to collapse
Not yet man, I'll take that as a request though. If I can figure out how to implement it, I will surely do so

[APP] GPU Voltage Control App for the AKLU kernels [1.2]

GPU Voltage Control App for the AKLU kernels
To God be the glory! Finally a way to control the voltage of the GPU on AKLU Samsung Galaxy S4 kernels!
While enrolled in an Android app developer course by Rob Perceval, I have used my limited skills to create this simple app which allows you to over volt, under volt, or reset the voltage to defaults for the AKLU kernels on the Samsung Galaxy S4!
It *could* possibly work on other S4 kernels that use ktoonsez's GPU voltage controlling code, but I don't recommend it. However, if you do try it on another S4 kernel, and it is successful, please let me know, or post it here.
The toast pop-up will tell you your current status (default, over volted, or under volted), and the buttons allow you to set a new status.
SAFETY:
#1. The app is programmed to check if you have @ktoonsez 's GPU voltage controlling code, and if you do not, the app will immediately close to prevent a user from writing things to the /sys directory that they shouldn't.
#2. While this is inherently dangerous, the app is set to only make a small, fixed adjustment of 10 mV. I have played with numbers and I believe that this is the "safest" option possible, while potentially allowing for some gain.
That being said, USE WITH CAUTION.
This app requires root privileges and permission to read/write to your phone so it can check for the current GPU settings and write new ones.
Also, at this time the app will not automatically set the voltage again after a reboot. You must manually choose to enable this after every boot.
Enjoy, and feel free to leave an on topic comment! Especially if you tried it with games, videos, or just daily driving.
Download:
Google Play Store: https://play.google.com/store/apps/details?id=com.alaskalinuxuser.s4gpuvoltagecontrol
- Or in the Source folder under "app".
Source: https://github.com/alaskalinuxuser/app_s4_gpu_voltage_control
I give full permission for anyone to use or abuse the source code in any way they see fit. I have put comments in the code.
Change log:
20170727
- Update to version 1.2
- Can now change by -40 mV to +50 mV!
20161125
- Initial release.
Screenshots!
Also a big thanks to:
@faux123 and @javelinanddart and @ktoonsez who did all the "real work"!
For the code that allows us to change the GPU voltage! Without these guys, this app would be useless!
AlaskaLinuxUser said:
Also a big thanks to:
@faux123 @javelinanddart
For the code that allows us to change the GPU voltage! Without these guys, this app would be useless!
Click to expand...
Click to collapse
GPU voltage was not faux123, it was @ktoonsez
https://github.com/javelinanddart/a...mmit/79361b0fcdbf6eb6df45286082ad549bbb31c75e
Also, I simply played around with the sysfs methods and placement, ktoonsez did all of the real work
javelinanddart said:
GPU voltage was not faux123, it was @ktoonsez
https://github.com/javelinanddart/a...mmit/79361b0fcdbf6eb6df45286082ad549bbb31c75e
Also, I simply played around with the sysfs methods and placement, ktoonsez did all of the real work
Click to expand...
Click to collapse
Thanks for the clarification! I have updated the thanks post. I based it off of the github commits that I borrowed the code from for the kernel, which was faux123's.
The AKLU kernel for AOKP Nougat (7.1.2) has been updated to work with this app, be sure to give it a try!
Praise God, new update in the OP!
I've completely redone the GPU control app. If you have the old version, you could only over or under volt the GPU by 10 mV. Now you can over/under by -40/+50 mV! The interface has been improved as well, plus, now you can see the voltages you are controlling... It's a big improvement over the old app, so feel free to give it a try! See the OP for details, now available for download on the Play Store, or from the GitHub app directory.
I ran some benchmarks with AnTuTu before and after making some adjustments. While over volted at +50 mV, the 3d score was 2319. While under volted at -40 mV, the 3d score was only 2282. Not a huge difference, but it is noteworthy. That's a 37 point difference on the score. Probably not perceptible, but interesting none the less. The overall AnTuTu score (all other things being equal) was 36342 with over volting and 36334 while under volting. The limits that I set seem to be safe, in that the benchmark did not cause a crash, but your results may vary.
I also gave time for the phone to cool down between benchmarks, since heat makes a difference.
Any comments from the crowd on GPU voltage control? Any performance issues when gaming?
Sent from my LG-H811 using XDA-Developers Legacy app
AlaskaLinuxUser said:
Any comments from the crowd on GPU voltage control? Any performance issues when gaming?
Sent from my LG-H811 using XDA-Developers Legacy app
Click to expand...
Click to collapse
First of all, thanks for bringing this , that's what I wanted! I did -40 for the GPU. I think it runs cooler but does not affect performance (visually). Not sure if it is a placebo for the temperature
Using the AOKP-N-20170619 kernel
TFutoMaki said:
First of all, thanks for bringing this , that's what I wanted! I did -40 for the GPU. I think it runs cooler but does not affect performance (visually). Not sure if it is a placebo for the temperature
Using the AOKP-N-20170619 kernel
Click to expand...
Click to collapse
That follows the general theory, when undervolted, it should be cooler.
Thanks for the feedback! Glad you like it!
Sent from my LG-H811 using XDA-Developers Legacy app

Categories

Resources