[KERNEL][AOSP/AOKP][08/26/2012] Fluxi XX Kernel JELLYBEAN & ICS - AT&T Samsung Galaxy S II SGH-I777

Ktoonsez presents:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​
Fluxi XX ICS kernel features
•Must-have for CyanogenMod and AOKP ICS
•Linux kernel 3.0.38
•Samsung open source update 4
•Own toolchain XX. 03, Linaro GCC 4.7.1 with NEON-FPU optimizations for ARM Cortex A9
•Optimized kernel configuration
•Compilertweaks
•ClockworkMod recovery xxTouch 5.5.0.4 complete customized & rebuilt
•xxTweaker app with huge range of functions
•Kernel backlight notification BLN, breathing, LED Fadeout / ** BLN & LED in xxTweaker ** /
•Backlight notification BLN / ** 100% compatible with BLN control ** /
•CPU OC/UV 100 1600MHz / ** per xxTweaker, voltage control, SetCPU or init.d script ** /
•District Governor, and Governor settings / **. CPU/governor in xxTweaker ** /
•OnDemand Governor significantly optimized with screen-off profile and boost at low frequencies.
•CPU hotplugging settings / b. CPU/hotplug in xxTweaker ** /
•Power management utilities / b. General, in xxTweaker ** /
•I/o Scheduler / ** General, in xxTweaker ** /
•Load current settings for AC, Misc and USB / ** General, in xxTweaker ** /
•GPU OC/UV 3step 67 400 MHz, 700 1200mV and threshold values / ** per xxTweaker, voltage control or init.d script ** /
•LCD density settings / b. General, in xxTweaker ** /
•ROM Manager / ** per xxTweaker ** /
•Automated Flash of multiple ZIP files in one pass / ** per xxTweaker ** /
•Screen cursor movement hysteresis / ** by xxTweaker or Tegrak touch move ** /
•Screen touch sensitivity (e.g. with display cover) / ** per xxTweaker ** /
•Volume of quiet to LOUDERER adjustable / ** sound settings in xxTweaker ** /
•Super Amoled + mDNIe, hot, wonderful colors without yellow stitch / ** configurable with xxTweaker ** /
•Screen brightness configurable / ** gamma level in xxTweaker ** /
•Screen color temperature configurable / ** shade in xxTweaker ** /
•.. .and much more
•Sources publicly under (I9100 version) https://github.com/myfluxi/xxICSKernel
•Sources publicly under (My I777 version) https://github.com/ktoonsez/xxICSKernel
Click to expand...
Click to collapse
Download CWM flashable zip kernel
****** IMPORTANT - I removed the xxTweaker from auto installing, use link below to get the newest one.
DO NOT USE THE OTA OPTION IT IS FOR I9100, IT FLASHES THE WHOLE KERNEL NOT JUST THE xxTweaker!!
ICS 7/29/2012
http://www.mediafire.com/?jx7b1b12wz849f0
JELLYBEAN 8/26/2012
WARNING: This kernel has updated WIFI and Bluetooth drivers. If you are going back to stock, you need to get those drivers back or those 2 devices will not work. Simply flashing a kernel will not do it unless it also flashs back those drivers (they are in "/system/lib/modules" folder).
http://www.mediafire.com/download.php?7x9mt83na522m6o
Download xxTweaker APK 0.3.9_rc2
http://www.mediafire.com/?rnhnt8lpfhgl83t
Click to expand...
Click to collapse
Link to original thread:
http://www.android-hilfe.de/kernel-...ernel-ics-xxtweaker-app-xxtouch-recovery.html
Special thanks go to myFluxi for the kernel of course and to bajee11 for the English version of xxTweaker and xator91 for the I9100 thread
Click to expand...
Click to collapse
xxTweaker
Troubles with getting xxTweaker working or showing up as installed
1. Clear data for xxTweaker
2. Uninstall xxtweaker
3. Open Superuser and press menu button, click preferences and update Su binary. EVEN IF IT SAYS YOU ARE UP TO DATE!!!!!!!!!!!!!
4. Go flash the newest kernel again
5. Done
If you are still having issues, do Step #3 again, make sure you don't have a file called "/data/.notweaker" and reboot and that should do it.
Click to expand...
Click to collapse
Some great information is post #2 about governors, schedulers and all that good stuff
Click to expand...
Click to collapse
FAQ's and general Help down in Post #2
Changelog in #3

Help with kernel to isolate issues with WIFI battery drain
http://forum.xda-developers.com/showpost.php?p=25876666&postcount=3
Some helpful information on what all these cool settings are in the xxTweaker:
Especially 6th and 7th posts (first page) are very helpful to understand most of the options. (Thanks to Droidphile for the information and to Bethrezen1453 for finding the link)
http://forum.xda-developers.com/show...php?p=23616564
A bit more info regarding what are the kernel options. (Many thanks to Droidphile for all the information)
Q. "What are these modes: IDLE, LPA and AFTR?"
A. Between screen off and deep sleep states, there are some idle modes supported by cpuidle driver. They are IDLE aka Normal Idle, LPA aka Deep Idle and AFTR aka ARM Off Top Running. Race to idle by CPU is implemented for power management.
In IDLE state, CPU is not clocked anymore, but no hardware is powered down.
In deep idle (LPA),a state after IDLE, again, the cpu is not clocked anymore like we guessed but some parts of hardware are powered down. Deep idle brings in real power savings and there is no need of putting a hard limit to frequency during screen-off; using a screen-off profile. (Good practice is to use a governor with built in screen off profile, than using an user-configured screen-off profile by putting a hard limit on frequency). Deep idle is not used when device is entering deep sleep and also when device is woken from suspend/deep sleep. While entering/exiting DEEP IDLE, CPU is set statically to SLEEP_FREQ and is not clocked below or above until it exits this state.
AFTR is a patch to support Top=Off mode for deep idle. Level 2 cache keeps it data during this mode.
We can have IDLE or AFTR modes with LPA enabled or disabled. (Obviously it is not possible to have IDLE and AFTR together)
Values:
0: IDLE
1: AFTR
2: IDLE+LPA
3: AFTR+LPA
Q. "What idle modes are recommended for power saving? How do i change it"?
A. Recommended for power saving is to enable AFTR and LPA, ie value 3
Example:
echo "3" > /sys/module/cpuidle/parameters/enable_mask
Q. "What is sched_mc?"
A. Linaro team invented sched_mc or Schedule Multi Core to make process scheduling multi-core aware. ie, utilize both cores wisely to save power and balance performance. Even though sched_mc is sort of an alternative to cpu hot plugging, we can use sched_mc with the default hot plug mode.
Possible Values:
0 : No power saving load balance, default in our exynos4210 Soc.
1 : Fill one thread/core/package first for long running threads. In our single-CPU dual-core device, multithreading does not come into picture, so load balancing is almost redundant to hotplugging.
2 : Also bias task wake-ups to semi-idle CPU package for power savings. (Bias new tasks to cpu1 if cpu0 is mostly filled with running tasks). This is 'overloading' CPU0 first.
Q. "What value is recommended for sched_mc?"
A. 1) If you find advantages to sched_mc, use sched_mc=1 for a possible battery saving. Anyhow since load-balancing is reduntant on hotplugging, it may not have any advantage on exynos chip.
2) For performance use 2. But do remember that loading CPU0 and leaving CPU1 can not do justice to hitting deep idle states sooner since second core can not enter deep idle. So extra performance or no performance, value 2 will drain some more battery, in the context of delayed didle.
3) To do justice to hotplugging, use value 0.
Example:
echo "0" /sys/devices/system/cpu/sched_mc_power_savings.
Schedulers that i recommend to use. Again massive thanks to Droidphile for the information.
Noop
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
V(R)
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
Governors that i recommend to use. Information again by Droidphile.
Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic. The original idea comes from Netarchy. See here. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
Do not forget to enable the Lionheart tweaks you must have Conservative governor enabled through the configurator application and then select Lionheart tweaks
Links
*Droidphile thread regarding more info about governors and schedulers and more tweaks
http://forum.xda-developers.com/showthread.php?t=1369817
*Ext4 Optimization information
http://kernelnewbies.org/Ext4
*If you want to try alternative settings from mine and try settings near stock default go to the following thread by Geko95gek and check his great thread out.
http://forum.xda-developers.com/showthread.php?t=1466017"

7/29/2012 Changelog:
•Updated BFQ
•Updated Pegasusq
•Change packet filter settings to block multicast
•Etc.......
7/17/2012 Changelog:
•Linux 3.0.37
•Just some many to list so here is the short of it
•USB
•vhost
•mm
•raid
•PCI: EHCI
•eCryptfs
•ACPI
•etc................
Previous Changelog:
•USB driver from N7000
•Increased pipeline for USB
•Fix file permissions and cleanup of mali
•Increased USB Buffer count
•Correct intermediate freq step and conditional for cpufreq
Previous Changelog:
•Another few tweeks to logging
•Several Recovery updates
•File permissions for vibrator pwm value in Initramfs
Great auto brighness settings (custom backlight settings) from codeworx:
***** Make sure your Exynos Sensor is set to "Open Source" in xxTweaker General section *****
*****WARNING: If you apply the setting before adding ALL the values, you'll have to do a full wipe. *****
CWM Flashable (This sets all the custom backlight values from below in one zip. You will have to flash this everytime you do a Wipe Data/Factory Reset)
REMEMBER THAT THIS WILL NOT WORK IF YOU HAVE JUST WIPED ALL DATA AND THEN TRY TO FLASH THIS IN THE SAME RECOVERY SESSION, YOU NEED 1 REBOOT TO MAKE THIS WORK.
http://www.mediafire.com/?3dwevbpdh0p9j6z
Code:
0 12
6 18
9 26
14 30
20 34
30 39
46 45
68 51
103 59
154 67
231 77
346 88
519 101
778 116
1168 133
1752 152
2627 174
3941 199
5912 228
8867 250

nice!!!! you might need a little work on your dates, but i still except you bro.

task650 said:
nice!!!! you might need a little work on your dates, but i still except you bro.
Click to expand...
Click to collapse
LOL, copy pasted from original, fixing right now

Flashing now

This looks interesting. Might have to give it a try
Sent from my SGH-I777 using Tapatalk 2

task650 said:
nice!!!! you might need a little work on your dates, but i still except you bro.
Click to expand...
Click to collapse
Might need a little work on your grammar
Jp u know i love u
Red5 <3

Dang Ktoons!!!! At this rate we'll never get these kernals set in after a few battery cycles to see which is best!
Great job getting these kernals to us... you and task make this phone awesome!
Sent from my SGH-I777 using xda premium

Why u not has download link?!!
Red5 <3

dirtbikerr450 said:
Flashing now
Click to expand...
Click to collapse
Not sure what you are flashing man, I havent put up the link yet.

Colonel is at it again!
Sent from the Nodes of Ranvier

To keep guys entertained look at how this retard parked at my work today
Red5 <3

OP Updated:
Download CWM flashable zip
http://www.mediafire.com/?7888m7e9e7ysm86
Click to expand...
Click to collapse

ktoonsez said:
Not sure what you are flashing man, I havent put up the link yet.
Click to expand...
Click to collapse
I was just gonna say that! Thought there was something I wasn't seeing lol
Sent from the Nodes of Ranvier

U forgot xxtweaker lol
Red5 <3

Found it
http://forum.xda-developers.com/attachment.php?attachmentid=1060018&d=1336987618
Red5 <3

JordanElliott said:
Found it
http://forum.xda-developers.com/attachment.php?attachmentid=1060018&d=1336987618
Red5 <3
Click to expand...
Click to collapse
Just saw that, it didnt take my link but OP is fixed and here it is again:
http://forum.xda-developers.com/attachment.php?attachmentid=1060018&d=1336987618

Sweet something new to try out.
transmitted from the Dark Obelisk

Now your just showing off.

Related

[KERNEL][PLAY] LuPuSv9 [CM9 BASED][LINARO][UPDATED-31-12-12]

LuPuS Kernel
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Hello there, I was reading about Governors on a thread
and was curious about these governors that I hadn't seen before and wanted to try them.
So then I came across this great thread by paxChristos and decided I would try compile a kernel with new Governors and io-scheduler.
I've taken out a couple of things while compiling the kernel as well. I have been using it for a good few days now
and thought I should share these Governors to other Xplay users.
I googled for a name and came across LuPuS :highfive: that is why the boot logo is what it is
Well hope you all enjoy and I will be adding more governors soon when I get time
Thanks to all those who have helped me making this, paxChristos for his advice & tutorial.
Lightnindude, FXP and Cyanogenmod for their sources :good:
Disclaimer
Code:
[COLOR="DarkOrchid"]#include[/COLOR] [COLOR="Magenta"]<std_disclaimer.h>[/COLOR]
[COLOR="Blue"]/*
* Your warranty is now void.. LOL I guess you knew it already.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, you getting dumped or you getting fired because your phone
* bootloops and alarm does not go off. Please do some research if you have any
* concerns about features included in my kernel before using it! YOU and only
* YOU are choosing to make these modifications.
*/
[COLOR="Magenta"]#ifdef[/COLOR]
You have a [COLOR="DarkGreen"]question[/COLOR] post it in the [COLOR="DarkRed"]thread[/COLOR],
Instead of [COLOR="DarkGreen"]Pm'ing me[/COLOR], as other users may
experience you [COLOR="DarkRed"]problems[/COLOR]
[COLOR="Magenta"]#endif[/COLOR][/COLOR]
What Works --
Wifi - (flash modules)
Data
Camera
Panorama
Video Recording (720p now works)
Video Playback
Front Camera
Bluetooth
Everything Else that works on FXP & Mjolnir
What doesn't work --
ALS (Disabled)
Anything that doesn't work on FXP & Mjolnir
Included in kernel
[/LIST]
Added Io-schedulers --
- Noop
- Anticipatory
- Deadline
- CFQ
- BFQ
- SIO
Added Governors --
- lagfree
- brazillianwax
- smoothass
- scary
- savagedzen
- smartass
- smartassv2
- interactivex
- minmax
- powersave
- performance
- conservative
- ondemand
- interactive
- userspace
+
Lulzactive - Thanks to Tegrak
Based on Interactive and Smartass. When workload is greater than or equal to 60%, the governor scales up
CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step.
When screen is off, frequency is locked to global scaling minimum frequency
Virtuous
Virtuous is a modded smartassV2 which gives even more battery time then smartassV2
Intellidemand - Thanks to faux123
This is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling,
and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such.
Intellidemand does not jump to highest frequency when screen is off.
Lazy - Thanks to Ezekeel
The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand.
Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state
on a step overriding sampling interval.
Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always
select the maximum frequency while the screen is off.
-Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
-Lionheart:
Is a conservative-based governor. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
BadAss Governor:
Badass removes all of this "fast peaking" to the max frequency. Badass will also take the gpu load into consideration. If the gpu is moderately busy it will bypass the above check and clock the cpu with 1024Mhz. If the gpu is crushed under load, badass will lift the restrictions to the cpu.
Superbad -
A "superbad" super smooth rendition of a highly optimized "smartass" governor!
Darkside -
A "slightly more agressive smart" optimized governor!
What else-----
-SLQB - (SLAB allocator with Queue)-(both)
This memory allocator is designed for small number of CPUs system (such as desktop or smart phone devices). This allocator is design to be simple and it is optimized for using order-0 pages as much as possible (order-0 pages are the simplest therefore quickest type of memory in a Linux system to allocate).
- Added Cleancache
- Supports ext 2,3
- Updated zRam
- Lzo compression/decompression speed has doubled on average.
- Init.d support
- Fudgeswap
- And much more
- O/C and stable upto 2ghz, although I do not recommend O/C to 2ghz for long periods of time, do so at your own risk.
Show your support for the kernel and my work by putting this in your signature, its only a quick one I done up with my limited time
Code:
http://i.imgur.com/xtWNL.png
Downloads in post 2
Instructions for the CWM Recovery And Aroma File Manager--
--When phone vibrates tap the back key to enter CWM Recovery v6.
--When phone vibrates tap the volume down key to enter Aroma File Manager
I would like to say a big thanks to -
paxChristos - Tutorial / Help
xeozus
NobodyAtAll
Faux123
Erasmus
Leedroid
Jerpelea
KeiranFTW - for his PNG to RLE conversion script
Lightningdude - Sources / Help
FXP - Sources
Cyanogenmod - Souces
DooMLoRD - Everything he's done for XPLay
Supervenom - For the amazing AOKP rom
Solomon4400 - For helping me test (there where a few dodgy ones before I got it to work random reboots and stuff )
CosmicDan - For the amazing CWM / Aroma File Manager - AND LuPuS MIUI[CM9 BASED]
tempest918 - For the New Logo
amarullz - For Aroma File Manager
Kernel sources -b ics
https://github.com/garwedgess/LuPuS-CM-iCs
Changelog
*** Previous changelog was messed up so I'll include everything in here ***
Code:
[B][U]v9[/U][/B]
- Improved Battery Life alot :)
- Thumbee support
- EXT 2/3 & 4 supported
- Init.d supported
- Init.d scripts added (run at boot)
- SLQB Memory allocator
- ARM7 optimizations
- Brought OC back down to 1.6 max (no need for it above 1.6 unless u want to kill your device)
- Kernel sources completely reworked started from scratch o Sony xx.587 sources
- Tiny RCU
- Updatedd patched and fixed LZO
- lowered vfs cache pressure
- Increased Wifi- Range and added support for channel 14
- 0 % Battery patch - Thanks @ Bazoocaze
- Better memory copy
- Better memory move
- Deep sleep issue fixed
- LMK Optimizations (LowMemoryKiller)
- VDD support (voltage conrol)
- Linaro Optimzations
- Compaction added
- KSM
- CIFS (improved support)
- NTFS
- Updated to newest SIO Io-Scheduler
- Google Snappy Compress & Decompress
- Added Vibrate To Recovery (Notification to enter CWM)
- Wifi module size drasticly reduced
** Possibly missing a few things **
Downloads
If you like my work please consider buying me a beer or something else
by clicking the DONATE ME button, of course it isn't needed but greatly appreciated and keeps me motivated.
So zRam does not work on them, below i've added a zram enabler .zip to flash via CWM[/B]
- If for whatever reason you want to disable Zram after you have flashed the .zip, just go to ect/init.d and delete 00zram
Wifi-modules included - Thanks @ CosmicDan
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
v9-LiNaRo-480p Recording
LuPuS-v9-480.img
MD5 = 3b33c08252a845e7cd8374d112f05e9f
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
v9 LiNaRo-720p Recording
LuPuS-v9-720.img
MD5 = 225f5abdfc30643e9763ff3ad95c17af
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
People will ask so i'll just post it here---------to check if zRam is enabled go to terminal emulator or similar and type
Code:
free
or alternatively
Code:
cat /proc/swaps
Please Click Thanks :good:
Great, I'll try it! :good:
Alejandroch said:
Great, I'll try it! :good:
Click to expand...
Click to collapse
Cool make sure you download and flash the the wifi modules in CWM!!
Yo I highly rate this kernel and the dev he is really great! Gratz wedgess do your thing.
Sent from my R800i using xda app-developers app
Cool thanks for the great work, the Intellidemand governor sounds very interesting.....!
Thanks for sharing your source, I like to strip system down to 240MB to give data some more space.
EDIT: I have shared with you my RAMDisk image for your consideration wedgess, maybe you will like it. It is taken from latest CM9 Ramdisk with the following changes:
- Replaced FreeXperia Recovery with DoomLords' Recovery
- Changed Recovery key to Back (instead of Volume-Down) and added a short vibration (just like DoomKernel)
- Bootlogo unchanged, still original FXP one
- Maybe some other small things, can't remember. Tree-compare it to FXP Ramdisk if you like to make sure.
I would release my own kernel with these changes but we already have two CM9-based kernels now, I don't really want to!
CosmicDan said:
Cool thanks for the great work, the Intellidemand governor sounds very interesting.....!
Thanks for sharing your source, I like to strip system down to 240MB to give data some more space.
EDIT: I have shared with you my RAMDisk image for your consideration wedgess, maybe you will like it. It is taken from latest CM9 Ramdisk with the following changes:
- Replaced FreeXperia Recovery with DoomLords' Recovery
- Changed Recovery key to Back (instead of Volume-Down) and added a short vibration (just like DoomKernel)
- Bootlogo unchanged, still original FXP one
- Maybe some other small things, can't remember. Tree-compare it to FXP Ramdisk if you like to make sure.
I would release my own kernel with these changes but we already have two CM9-based kernels now, I don't really want to!
Click to expand...
Click to collapse
Thanks intellidemand is great, its the governor I'm using at the moment. Recovery should already be the BACK button as I edited the ramdisk with my own boot logo and sbin. I used dooms touch recovery before but just wanted something simple if people want I could change eventually
Sent from my Xperia Play using xda premium
wedgess said:
Thanks intellidemand is great, its the governor I'm using at the moment. Recovery should already be the BACK button as I edited the ramdisk with my own boot logo and sbin. I used dooms touch recovery before but just wanted something simple if people want I could change eventually
Sent from my Xperia Play using xda premium
Click to expand...
Click to collapse
Did you add vibrate too? I always miss the trigger on FXP kernel lol. I don't like the full Touch Recovery either because you can't see long filenames properly, but the one from his ICS Beta kernel is just like CWM Recovery.. but it does have the touch-enabled buttons down the bottom, or is that the same one you mean...? I understand it can be annoying bumping the screen on that and making a mistake selection, but DoomLord Recovery has some useful features... power-off is a good example, I hate having to pull the battery out to power off (seems dangerous).
Well yeah let the crowd decide, nothing is stopping me from repacking it myself for my use of course Cheers.
CosmicDan said:
Did you add vibrate too? I always miss the trigger on FXP kernel lol. I don't like the full Touch Recovery either because you can't see long filenames properly, but the one from his ICS Beta kernel is just like CWM Recovery.. but it does have the touch-enabled buttons down the bottom, or is that the same one you mean...? I understand it can be annoying bumping the screen on that and making a mistake selection, but DoomLord Recovery has some useful features... power-off is a good example, I hate having to pull the battery out to power off (seems dangerous).
Well yeah let the crowd decide, nothing is stopping me from repacking it myself for my use of course Cheers.
Click to expand...
Click to collapse
Haha ye that's the one I mean just personally prefer the original CWM, I agree with the power off but I just reboot system now and don't battery pull I'm open to suggestions though maybe I could make a version for people who prefer it that way??
Sent from my Xperia Play using xda premium
wedgess said:
Haha ye that's the one I mean just personally prefer the original CWM, I agree with the power off but I just reboot system now and don't battery pull I'm open to suggestions though maybe I could make a version for people who prefer it that way??
Sent from my Xperia Play using xda premium
Click to expand...
Click to collapse
Here's an idea. Keep Vol-Down as FreeXperia Recovery (as it is originally), Back key as DoomLord Recovery, and Menu key as Aroma FileManager? That would be KICKASS. Looking at bootrec and bootrec-device scripts in sbin, seems easy enough to do! If you like that and would like a hand, send me a PM! Or we can keep bumping the thread discussing it :laugh: (Why not, valid dev. discussion that everyone can learn from)
CosmicDan said:
Here's an idea. Keep Vol-Down as FreeXperia Recovery (as it is originally), Back key as DoomLord Recovery, and Menu key as Aroma FileManager? That would be KICKASS. Looking at bootrec and bootrec-device scripts in sbin, seems easy enough to do! If you like that and would like a hand, send me a PM! Or we can keep bumping the thread discussing it :laugh: (Why not, valid dev. discussion that everyone can learn from)
Click to expand...
Click to collapse
this would be great, two days ago i was just looking on how to insert the doomlord recovery in the FXP kernel XD
Good work
Good work man.
:good:
I was reading your post and I thing governor: Lulzactive is not very effective.
I'm not phone deveolper, I'm only normal programmer.
So if I am wrong please explain.
I think it will make cpu freq very jumping, in every interval.
x=>60 - higher state
x<60 - lower state
so in average load it will do something like: ^v^v^v^v (higher->lower->higher->lower...)
what about:
x>60 - higher state
x<60&&x>40 - stay
x<40 - lower state
Gh61 said:
Good work man.
:good:
I was reading your post and I thing governor: Lulzactive is not very effective.
I'm not phone deveolper, I'm only normal programmer.
So if I am wrong please explain.
I think it will make cpu freq very jumping, in every interval.
x=>60 - higher state
x<60 - lower state
so in average load it will do something like: ^v^v^v^v (higher->lower->higher->lower...)
what about:
x>60 - higher state
x<60&&x>40 - stay
x<40 - lower state
Click to expand...
Click to collapse
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency. THIS IS THE VERSION IT IS NOW
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
I WILL CHANGE TO THIS ONE IN A COUPLE OF DAYS
I will leave the old version in there and put the newer one as v2
Click thanks if you like this
wedgess said:
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency. THIS IS THE VERSION IT IS NOW
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
I WILL CHANGE TO THIS ONE IN A COUPLE OF DAYS
I will leave the old version in there and put the newer one as v2
Click thanks if you like this
Click to expand...
Click to collapse
Sounds good, yeah the whole stay-at-current-if-between-60-and-40-percent is not really the nature of lulzactive, it's designed to have very responsive ramping. If you want a "stable" governor give the ondemand a go (or one of the ones it's based on, such as interactive or interactivex). Lulzactive is like a mix between interactive and smartass. Reference: http://forum.xda-developers.com/showthread.php?t=1369817
At the moment I'm having problems with lulzactive2 but if I can't fix it I still have other ones which I've added and am currently testing some of them. More to come....
Sent from my Xperia Play using xda premium
wedgess said:
At the moment I'm having problems with lulzactive2 but if I can't fix it I still have other ones which I've added and am currently testing some of them. More to come....
Sent from my Xperia Play using xda premium
Click to expand...
Click to collapse
...such as bfq scheduler and all three FXP-Recovery/DoomLord-Recovery/AromaFM ;D
EDIT: It should be noted that this kernel is based on the official CyanogenMod 9 RC2 release for the Xperia Play, not FXP-CM9. I don't know how different it will behave but there are a lot of sourcecode changes compared to the FXP-CM9.
CosmicDan said:
...such as bfq scheduler and all three FXP-Recovery/DoomLord-Recovery/AromaFM ;D
EDIT: It should be noted that this kernel is based on the official CyanogenMod 9 RC2 release for the Xperia Play, not FXP-CM9. I don't know how different it will behave but there are a lot of sourcecode changes compared to the FXP-CM9.
Click to expand...
Click to collapse
Fxp is CyanogenMod for xperia.
Sent from my R800x using xda app-developers app
idiotzach15 said:
Fxp is CyanogenMod for xperia.
Sent from my R800x using xda app-developers app
Click to expand...
Click to collapse
Yes I know that, but FXP is an unsupported and unofficial fork. This kernel however, based on official cm9 for zeus, has been modified for inclusion into the official CM9 device tree. There are a LOT of source-level differences, for example the official CM9 for zeus (including this kernel) has no bfq scheduler and revised netfilter code (which wifi tethering relies on, it needs to be tested). And many other things. The reason I'm stating this is because the tutorial we have for building a zeus kernel uses the original fxp-cm9 kernel as a base.
It was info for those who want to use/examine the Lupus source for whatever reason. I for one can't build the kernel from source, I get ipt_ecm.c errors (trying to sort it out with wedgess help, seems to be case-insensitive source and/or mismatched netfilter code from different kernels). Either wedgess has committed an untested source change or my toolchain (from Doomlord) or Linux environment is borked.
Seems that mounting USB Mass Storage in Recovery is broken with this kernel, or is it just me? Can anybody else test it?
CosmicDan said:
Seems that mounting USB Mass Storage in Recovery is broken with this kernel, or is it just me? Can anybody else test it?
Click to expand...
Click to collapse
I know for a fact that DooMLoRD's recovery doesn't call the UMS properly with CyanogenMod. Last time I looked into it, I read that it's something to do with whatever rom you're running, in conjunction with the kernel, itself. In other words, DooMLoRD makes his stuff to work with stock, and because of that, there will be differences when using his stuff with CyanogenMod.

[KERNEL][3.0.31][FULL HD][HDMI][GUIDE 1.8]JBX-Kernel Hybrid [1,5ghz]

/// JellyBeanX-kernel ///​
DISCLAIMER
Me, XDA-Developers.com and anyone else doesn't take any repsonsibilty for damages on your device!
Rooting your device will void your warranty!
Don't play with settings you aren't familiar with, you could burn your device!!
Click to expand...
Click to collapse
READ THIS: READ BEFORE YOU ASK and HELP TO KEEP THIS THREAD MORE CLEAN! BUT ALSO BETTER ASK ONCE MORE BEFORE YOU MESS UP YOUR PHONE! If you find something missing in this OP/FAQ, please PM me and I will add it. Thank you!
This kernel is built of the Kexec Project which was initiated first by Kholk & [mbm] and finished by the STS-Dev-Team (Hashcode, Dhacker). Using this kernel will provide addtional features to your RAZR.
If you want to support me and my work just leave me a beer.
You can find the FAQ at the bottom of this post!
LATEST CHANGES
--> DETAILED CHANGELOG JBX-kernel Hybrid 4.4 <--
Kernel Guide (by Placca) version 1.8!!
Check the FAQ section at the bottom of this post to download it! It will make many things easier for you and help you to understand the kernel and its features!
FEATURES
JBX-Kernel Hybrid
Battery Friend toggle (a battery friendly mode)
Intelli-Plug (Kernel side replacement for msm MPDecisions) by Faux123 + patches by me (no hotplugging when screen is ON)
Dynamic Hotplug: Second core will be turned off ONLY while screen is off - independent from selected governor. (Not needed when using Intelli-Plug)
Optimized OPP Table for smooth CPU scaling
Frequencies: 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 1100, 1200, 1300
Modifed Smartreflex driver (Custom Sensor for detecting n-Value).
Smartreflex Tuning Interface: Set min/max calibrated voltage
Overclocking using Live OC (mine runs stable at a maximum frequency of 1,498ghz!)
hwmod, uart, IRQs - cleanups from pre-kexec config to safe power
CPU: lower voltages for CORE and IVA. Give CORE the abbility to scale up to higher voltage if needed
Dynamic fsync control: FSYNC interval is dynamic depending on screen state (SCREEN OFF: synchronous, SCREEN ON: asynchronous)
HTC's Asynchronous Fsync port - read explanation in FAQ*
Dynamic page-writeback: Page writeback interval is dynamic depending on screen state.
Frandom v2
JRCU / Tiny RCU (currently JRCU in use)
Raised voltage limits for mpu a bit
Raised the temperature limits from 64c* to 74c* (degrees)
optimized CRC32 algorithm (better code generation)
Optimized LZO compression
RW Readahead dynamically depending on storage device (automatic detection of the best value)
zRAM support
GPU has 4 scaling steps and OC to 384mhz (Base freq: 102 mhz --> 154 mhz, 307 mhz, 384 mhz)
GPU Control: Governors, Frequencies
Multicore Power Saving Mode Control
ARCH Dependant Power feature
Gamma Control
Front Buffer Delay Control (draw in x msecs on early suspend)
Screen/Display: Modified OMAPDSS for sharpness and lightning colors
OMAPDSS: Added variable clock rate and OPP - allows the screen to scale down power and voltage
lowmemkiller: Heavy modified for R/W Speed and efficient performance
ZCACHE, ZSMALLOC, XVMALLOC backported from 3.4, 3.7 and 3.10 (ZCACHE currently not in use)
Custom Voltage Support
IO-Schedulers: SIOPlus, Fifo, Row, VR, Noop, Deadline, CFQ, BFQ
ROW Scheduler is heavily tweaked to be the fastest one!
Deep Idle
ARM Topology
Many improvements in overall OMAP PM
SELinux permissive
GREAT performance!
battery life!
Support for Trickster Mod Kernel Control App (Download from Gplay)
*]Too much stuff to list here. See "Sources" below and check my Github
CAUTION
This is a work in progress! Some of the current features are still not in final stat. If you are facing issues report back here and DON'T spam the threads of the rom you're using!
Be careful with some settings such like Voltage and Overclocking!!! If you aren't experienced with these things, dont play with 'em!
Click to expand...
Click to collapse
REQUIREMENTS
NOTE: This will NOT work on Stock(-based) Roms!!
Rooted device
Must use a Kexec Rom (CM, AOKP, AOSP)
Recovery (BMM, SS)
REMOVE any kernel modules you used before
DEACTIVATE ANY CPU tweaks, onboot settings etc otherwise your phone may not boot!
CAUTION: The kernel needs a clean setup related to CPU tweaks / Settings, etc...Keep your device as clean as possible regarding to Tweaks, CPU special settings, etc. The Kernel brings its own CPU settings and after you can boot it succesfully, you can set it like you want!
This kernel may not work on all roms! Check and report.
INSTRUCTIONS
NOTE: CLICK here for a detailled Installation Guide (about the Aroma Installer, the features to select and more)
Download zip file from below
Reboot into recovery
Flash the kernel (BMM users: DON'T use the "Flash Kernel" Option! This is a usual zip file!)
Reboot
Download Trickster Mod App from Gplay! Read the FAQ to learn about playing with kernel features!
Enjoy!
NOTE: For updates you can use the built-in OTA UpdateMe App!
DOWNLOAD
JBX-Kernel 3.0.8 Versions:
0.8.x ==> Android 4.2.2
1.x == > Android 4.3
2.x == > Android 4.4
JBX-Kernel 3.0.31 Versions:
3.x == > Android 4.4
4.x == > Android 5.X
NOTE: CF-Server is currently down! Use "[email protected]" on dtrailer.de (right after clicking on the big blue DOWNLOAD button above!
XPERIMENTAL BUILDs
These builds include features without promises to work.
CAUTION: There is no promise that these version are stable/working/whatever! Use at your own risk!!
---> XPERIMENTAL Builds [Dev-Host] <---
---> XPERIMENTAL Builds [CF] <---
Click to expand...
Click to collapse
Something went wrong?
If you think you have set wrong "on-boot-values" in Trickster Mod flash this:
TRICKSTER RESET: http://dtrailer.de/kernel/trickster_reset.zip
FAQ
CAUTION: This FAQ and the whole OP, additional informations about Governors, IO Schedulers and detailed informations about the usage of Trickster Mod and this kernel can be viewed in the awesome Kernel Guide by Placca!
Kernel Guide 1.7
- installation guide (was a top priority )
- latest changelogs added
- few more supported ROMs in the Requirements sections
- few typos and formatting issues as always
PDF: https://www.mediafire.com/?7zaddcmvtxfk9ry
CHM: https://www.mediafire.com/?g3ck1bf1k3a3j38
CLICK THE BUTTON BELOW TO OPEN THE FAQ!
Please check the following points if you don't know how to use the features of the kernel or you are facing any kind of issues.
INDEX
1. Kernel Features
1.1 Smartreflex (Turn ON/OFF, adjust min/max range)
1.2 Live OC (Realtime Overclocking)
1.3 Custom Voltage (EMIF)
1.4 GPU Overclock & GPU Governor (UPDATED)
1.5 Gamma Control
1.6 Battery Friend
1.7 Suspend Governor (CURRENTLY DISABLED)
1.8 IVA Overclock
1.9 DPLL Cascading
1.10 HDMI toggle
1.11 Intelli-Plug
1.12 Dynamic Fsync VS. Asynchronous Fync
2. Issues
1.1 How can I change the smartreflex minimum/maximum voltage
What is Smartreflex?
SR is compareable with an CPU governor but not for scaling frequencies but for voltages. That means SR has a fixed range of voltage (min/max) and calculates the optimal voltage for each CPU frequency. In example on light use of the CPU it scales down to lower voltage - on heavy use it can sclae to higher voltage. This is an efficient system to save power! Compared to EMIF which uses the hardcoded voltages it saves more power because it's variable. EMIF cannot vary between the values.
This interface has a hardcoded range of 830mV min to 1450mV max. Usually there is no need to adjust these values but irt can be usefull in example when using high overclocked frequencies above 1,5ghz! Usually SR cannot handle frequencies above 1,5ghz and I have hardcoded the maximum range of 1,45mV which should allow SR to handle it. In prior times the users had to turn off SR when OCing above 1,5ghz which causes the CPU to eat more power. But you can try around and report your results.
CAUTION: Don't raise the maximum SR voltage too high! It can burn your board = no phone anymore! I recommend to not use higher values than 1490mV! As already mentioned: THe default value should be enough!
ANd also: USUALLY THERE IS NO NEED TO CHANGE ANYTHING ON SR! IF YOU DON'T KNOW WHAT YOU'RE DOING, PLEASE LEAVE IT ALONE!
Ok, now let's see how to do this:
Turn ON/OFF SR
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. You can toggle ON/OFF SR for each component (IVA, CORE, MPU)
Usually I recommend to keep SR ON because it saves power! But in some cases when overclocking the CPU (MPU) the device could freeze - whether you OCed too much or SR couldn't handle the frequency! In this case you can try to raise the vmax value of SR a little bit (CAREFULLY!) and try again. If it sitll freezes and you're sure that you didn't OC too much, turn SR OFF at least for MPU!
Maximum Voltage
Currently there is no app which supports the feature of adjusting the SR vmax value, because I wrote this feature some days ago.
But in the next Trickster Mod version this option will be supported!
example:
# To read the current vmax value. Replace XXX with one of the following:
sc_core - for core max sr voltage
sr_iva - for iva max sr voltage
sr_mpu - for mpu max sr voltage (mpu is most related for CPU scaling)
cat /sys/kernel/debug/smartreflex/XXX/vmax
# You will get an output, e.g. for mpu = 1450000 (1450mV)
# To set a new value, do the following command (replace XXX with a value like above - BE CAREFUL! USUALLY THE DEFAULT VALUE ENOUGH AND YOU CAN LEAVE IT UNTOUCHED!)
echo XXX > /sys/kernel/debug/smartreflex/XXX/vmax
Minimum Voltage
It's easy because Trickster Mod supports it!
1. Open Trickster Mod
2. Head to the "Specific section"
3. Scroll down to "Smartreflex"
4. Below each SR component (IVA, CORE, MPU) there is displayed a value (usually 830 default) which means this is the lowest scalable voltage for this component. You can try to decrease this value for the case you want to UV a bit more - or raise it a bit for the case you think that the set range is too low and causes freezes on your device.
1.2 How do I use Live OC (Live OVerclock)?
This feature allows you to overclock the CPU in realtime. It works with a multiplier value set by the user. The default multplier value is "100", which means: No OC! If you want to raise the OC frerquency, just raise this value step by step.
FOr my device the maximum working OC value is "111" which means the maximum frequency is running at 1498mhz!
NOTE: Keep in mind that you tunr Smartreflex OFF for higher freqs than 1500mhz - or raise the maximum SR voltage range for "MPU" a little bit and test if it works.
Ok, how to use Live oC in action:
Open Trickster Mod App and swipe to the tab "Specific". There you will find something like this:
Code:
MPU OC [100]
DON'T TOUCH THE "CORE OC" SECTION, IT WILL CAUSE FREEZES!
Now slowly increase the value "100" to something higher, e.g. "105". Tap the hook in the right upper corner to confirm. To see your new set of frequencies you can now whether close and restart Trickster Mod or just use any monitoring app like Cool Tool which will show your frequencies in real time. That's it!
CAUTION: You can damage your phone forever!!!! This feature allows you to set very high frequencies (also up to 2,0ghz...) - That DOESN'T mean that your phone can run these frequencies!
If your phone freezes or crashes you have probably set too high OC - or your voltage is too low.
1.3 How do I use Custom Voltage (EMIF)?
NOTE: This only adjusts the fixed voltage! When you have Smartreflex ON it can still vary! You have to see the bigger picture: This voltage value sets the "middle point" for voltages. Smartreflex is still able to increase or decrease the voltage. When Smartreflex is OFF the CPU will stay on this voltage you set here and probably eats also more power.
How does EMIF works together with Smartreflex:
Code:
-------
| CPU |
-------
|
------------------ ------------------
|Voltage 1015 mV | ---->| SMARTREFLEX ON| = 1015mV +/- "vmax"/"vmin"
------------------ -------------------
|
--------------------
|SMARTREFLEX OFF| ----> 1015mV FIXED! No changes!
-------------------
Thi smeans if you change the voltage for a scaling step (OPP) while SR is ON, SR will adjust the voltage from this value, means: mV-Value +/- SR vmin/vmax. WHen SR is OFF it will stay on this mV as a fixed value.
How to adjust the voltage?
Well, this feature can be used with all generic apps which are supporting voltage settings. But we are prepared well, you can adjust voltages also with the "Trickster Mod App".
When you open the app, head to the tab "Specific" and below the "Live OC Section" you will find your voltage table, which looks like this:
Code:
<-->
1200 [1398]
1000 [1388]
900 [1371]
...
..
..
Now just tap the arrows in the right upper above the first voltage value and just type or tap (per direction) a value, e.g. "-25". To apply it, confirm by tapping the hook in the right upper corner of your screen. That's it, your new voltage values are now set and applied. And also mind here: If your phone freezes you porbably have set it too low.
CAUTION: NEVER SET HIGHER VOLTAGE THAN 1490mv here!!!!! Or you might damage your phone FOREVER!
This voltage is not the same like Smartreflex! But it's still voltage! Just be carefull!!
1.4 How can I use GPU OC and GPU Governor?
GPU Overclock doesn't work like Live OC! You cannot really set custom frequencies for the GPU, but you can select and set the maximum frequency from a hardcoded range!
For the GPU there are the following available frequencies:
154mhz (FIXED!)
307mhz
384mhz
416mhz
The minimum frequency of 154 is FIXED! This means you cannot change it because the GPU needs a minimum speed to run with. But the kernel allows you to select the maximum speed. This can be usefull for playing games and also for saving power . In example when not playing games you don't need the GPU to run at 416mhz! Set it to 307mhz in this case and save power.
When you open Trcikster Mod and head to the "specific section tab", you will find "GPU MAX FREQUENCY" and it's currently set maximum frequency. Tap on it to select your preferred one:
- 154 Mhz
- 307 MHz
- 384 MHz
That's it. The new setting will be your new maximum GPU frequency.
Below there's another option called "GPU Governor". Just tap on it and select your prefered one.
NOTE: If you want to track current GPU frequencies and watch governor's behavior, just switch to Trickster's "Informations" - Tab and watch the frequencies clock.
1.5 How can I use Gamma Control?
What is gamma? The gamma setting sets the color range for the screen. You can compare it to the contrast. We all know that the touchscreen eats most of the power compaerd to all other components in a smartphone! A lower brightness causes less power consumption and a lower gamma or contrast range alos helps a little bit to save power.
In this kernel you can choose from a range of "5 - 10" while "5" is very bright while "10" is very dark. The default setting is "5" BUT CAUTION: Trickster Mod will display a range of "0" to "10" and the default setting will be shown as "0". This is caused by the fact that this feature was ported from the Gnex device where you can choose from a higher range. The only sideeffect is that the values "0" - "5" won't show any difference.
How to set the gamma value?
Well, once again open Trickster Mod and swipe to the tab on the right end. Just select your preferred value by using the slider.
Alternately you can use sysfs by terminal or adb:
OMAP Gamma interface:
echo i > /sys/devices/platform/omapdss/manager0/gamma
Replace i with 0-10 of your choice.
1.6 What is "Battery Friend and how to use it?
Battery Friend is a simple toggle (ON/OFF) which sets your device into a battery friendly mode without the need to play with all settings in Trickster Mod /sysfs until you find a good setting. In fact it does the job for you.
What does it affect?
NOTE: Doesn't lock anyx frequencies anymore!
locks dynamic Fsync enabled
locks Fsync disabled
Doesn't allow any OC (Live OC will not have any effect, Core OC is not allowed in this kernel)
Increases the dirty ratio interval to 90% (starts working at this value)
Enables Dynamic Hotplug: This doesn't allow hotplugging during device is active - and it will always turn CPU1 OFF during suspend! It also prevents from conflicts when user uses a hotplug governor (which isn't a good idea though) - but hotplug governors are causing higher battery drain!
Dynamic Page-writeback always enabled
How to toggle Battery Friend:
For now the only way is via terminal, adb shell or root explorer (text editor)
For terminal and adb:
Code:
echo 1 > sys/kernel/battery_friend/battery_friend_active /* Enable */
echo 0 > sys/kernel/battery_friend/battery_friend_active /* Disable */
For Root Explorer
Open Root Explorer
Navigate to sys/kernel/battery_friend/
Open "battery_friend_active" with Text Editor
Change "0" to "1" and safe the file to enable
Change "1" to "0" and safe the file to disable
1.7 Suspend Governor Control (CURRENTLY DISABLED)
Suspend Governor Control is a kernel module written by me. You can use it to set your preferred Screen-Off-governor.
For now it's only supported by sysfs (Trickster Mod will support all my current and upcoming features as soon as it gets updated with its new UI mode!
How to set suspend governor
Open a terminal or use adb shell
Code:
su
echo "x" > /sys/kernel/suspend_gov/suspend_gov
Replace x with one of these values:
0 = Ondemand
1 = Ktoonservative
2 = Conservative
3 = OndemandX
NOTE: No matter what governor you use for suspend mode, if Battery Friend is enabled the second core will be turned off during suspend!
1.8 IVA Overclock
What is IVA OC?
IVA OPPs are controlling the CPU load for sound events. It could be useful (in some cases) when you get sound related laggs. Just set the maximum frequency to highspeed. This will allow more CPU power for sound events but also will cause higher battery consumption.
How to use IVA OC?
If you want to check the current IVA frequency. Just type in Terminal or ADB:
Code:
cat /sys/devices/system/cpu/cpu0/cpufreq/iva_clock
You will get an output like this:
Code:
132 Mhz
2. You can whether enable IVA highspeed: 130 - 430 Mhz ["1"] or enable IVA normal speed: 130 - 332 Mhz ["0"]
320 Mhz max: echo "0" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
430 Mhz max: echo "1" > sys/devices/system/cpu/cpu0/cpufreq/iva_freq_oc
1.9 DPLL Cascading
DPLL: Davis–Putnam–Logemann–Loveland (DPLL) algorithm
To get more info about this please see wiki
But to sum it up shortly: It helps to use/stream media (music) in a low power mode.
NOTE: DPLL Cascading will be available to be switched easily via Trickster Mod App soon!
How to switch DPLL?
DPLL is ENABLED by default!
Open Trickster Mod -> Speicific Tab --> DPLL (soon)
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/dpll/dpll_active
Turn on:
Code:
echo 1 > /sys/kernel/dpll/dpll_active
1.10 HDMI toggle
Some users are facing a RAZR-sepcific problem: HDMI cable is detected, even though there is no cable plugged!
Therefor I included a toggle to switch HDMI wether ON or OFF. Additinally there's an init.d script included within the AROMA Installer you can select during the installation of JBX-Kernel.
To enable/disable HDMI on-the-fy:
sysfs:
Turn off:
Code:
echo 0 > /sys/kernel/hdmi/hdmi_active
Turn on:
Code:
echo 1 > /sys/kernel/hdmi/hdmi_active
1.11 Intelli-Plug
For intelli-plug hotplugging is now only allowed when the device enters sleep.
To enable hotplugging universally just change the value of the following entry whether to 1 (on) or 0 (off):
Code:
sys/module/intelli-plug/parameters/int_hotplug
1.12 Dynamic Fsync VS. Asynchronous Fsync
* HTC's Asynchronous Fsync and Dynamic Fsync:
Asynchronous fsync (called "afsync" or "async fsync") from HTC is ported into this kernel. By default it's enabled and dynamic fsync is disabled (and as well it isn't needed anymore). But just to test a little bit around to see which one of both features is the better one - for battery & performance. But currently Tricktser Mod doesn't support a toggle for afsync, so I had to find another way to use Trckster. Finally I did it like this:
The dynamic fsync toggle in Trickster Mod is now serving both functions - the dynamic fsync AND the asynchronous fsync! How? By default Dynamic Fsync is disabled, and Afsync is enabled. If you now enable Dynamic fsync using the toggle, Afsync will be automatically disabled, so both functions are not conflicting each other - and this way we have a working toggle for both of them.
2. If anyone has the following issues:
Issue
Media Process FC
No SD-Card in File Explorer
My CPU Settings (frequencies, etc) won't be saved (it sets itself back to Kernel default after screen off)
My phone freezes/reboots always when I try to set options in Trickster Mod
The device is lagging very hard
Solution
Media FC: Open App settings, head to "Download Manager" and "Media Storage" and hit the "delete data" button. Reboot. Now it shouldn't give any FCs anymore and after a little bit of waiting it will find all Media (Pictures, Videos, etc..)
No SD-Card: Reboot into recovery, go to "Mounts & Storage", tick "mount int" or "mount ext".
USB: Make sure the screen is ON while plugging the cable in.
CPU Settings: This is a bug which cannot be solved at the moment. Temporary solution: In Trickster Mod just activate the "Frequency Lock" and your settings will persist.
Trickster Mod:: Open App settings, Trickster Mod and select "uninstal updates". Now it should work.
Crashes, Freezes, lagging, something doesn't work, etc
There are too many reasons which could cause crashes! So here is a checklist for you to look for. Check each point and try the following workaround:
- Your rom has CPU tweaks (e.g. Kernel modules, init.d folder, etc)
- You have set custom CPU settings (e.g. custom frequencies with apps like No-Frills CPU Control, Set-CPU, Antutu, etc...)
- You have undervolted too low
- You have overclocked too high
- You have applied higher "Core OC" value in Trickster Mod App
- You are running any other kernel tweaks which are regarding to the CPU and/or performance (e.g. Kernel modules by Whirleyes eventually set by init.d, etc..)
- After setting some settings (e.g. in Trickster Mod) your device doesn't boot anymore
- adb doesn't work / shows only "device offline"
- You are facing hard lagging
If any point here matches your setting, please revert from it:
- Remove any CPU init.d script from /System/etc/init.d
- Uninstall any CPU controling app (e.g. Set-CPU, No-Frills, etc..)
- Remove all extra kernel modules from system/lib/modules (e.g. cpu_control.ko, cpufreq_smartass2.ko, etc..)
- Unset any custom settings from any other kernel / CPU - tweaking app which is NOT Trickster Mod
- Maybe your governor causes issues. Hotplug is know for bugs at the moment...I'm going to fix it..
- NEVER set your CPU Settings (e.g. in Trickster Mod App) on boot!!!! - before you aren't sure that your settings are safe!!!
- You may flash the kernel again after reverting related settings
- to make adb work / show device online, download latest SDK platform-tools and confirm access on device (4.2 security feature of Android)
- Don't use any task killers, memory killers, seeder apps! They may conflict with the kernel/Rom settings.
If none of these suggestions work for you your rom may be incompatible. Please report it here that I can add the rom to the list of imcompatible roms
If you have any issue, please read this:
First check:
- is it really a kernel issue?
- did I see this bug with the roms original kernel?
- what are the people in the rom thread saying?
- what are the people in the kernel thread saying?
- can I find this issue on a bug list?
- how about my settings? Is it my fault it crashed?
- can I find something useful in the kernel FAQ?
- Is it maybe a well known issue and can be solved
withing seconds? Just like wifical.sh?
- Where to repeat that issue? Rom or kernel?
I know it's sometimes difficult to track the issues, and we can't know for sure if it's caused by the rom or by the kernel, but if you try at least to get some information you might find an answer sometimes. If you are able to understand logs, you may report whatever you find.
All this helps to keep the threads more clear. Thank you.
Click to expand...
Click to collapse
Click to expand...
Click to collapse
DONATE
If you like my work and want to support me, I'd enjoy a little beer or coffee. You can find my beer mug below my username
SOURCE
3.0.8 Base:
JBX-Kernel 4.2.2
JBX-Kernel 4.4
CREDITS
Kholk & [mbm] - Kexec inital Release
Hashcode & Dhacker - Making Kexec stable and initiating compatible kernels
Motorola - 3.0.8 Kernel Source
Surdu_Petru - Sharing Knowledge and helping with problems
nithubhaskar - Hints and answering my questions
Ezekeel, Imoseyon - Custom Voltage, Live OC, Temp Control, Gamma Control Source Code
faux123 - Some features, like Intelli-Plug, Intellidemand, Intelliactive
bigeyes0x0 - Trickster Mod App
Team Trickster - Great support and adding new features from my suggestions
Placca - Awesome kernel guide
Nice! Waiting for the download link :laugh:
Hi !
Great work here !!!
Thanks & good luck :good:
just to make sure nothing bad happens:
in bmm you flash this as a "flash zip file" or "flash kernel" (bmm has this option)
im guessing as "flash zip file" (like flashing a rom or gapps) but i thought i'd make sure...
pseudoheld said:
just to make sure nothing bad happens:
in bmm you flash this as a "flash zip file" or "flash kernel" (bmm has this option)
im guessing as "flash zip file" (like flashing a rom or gapps) but i thought i'd make sure...
Click to expand...
Click to collapse
.img: flash kernel
.zip: zip flash file
Someone correct me if I'm wrong.
You flash it as a zip the same way you do with roms and gapps.
Sent from my XT910 using Tapatalk 2
Sounds good
Gesendet von meinem XT910 mit Tapatalk 2
Holy mama, dtrail ready drop the big bomb here...
Sent from my XT910 using Tapatalk 2
How many improvements in this period for this device.
Thanks for your hard work
damn dtrail you're teasing us!
upload it already
Stay tuned... Sorry for the late, but I just make sure you'll get a working package...Didn't think it would take so long...
dtrail1 said:
Stay tuned... Sorry for the late, but I just make sure you'll get a working package...Didn't think it would take so long...
Click to expand...
Click to collapse
Fine! I'm waiting for downloading haha
Waiting for it!
Sent from my XT910 using xda app-developers app
How will we get back on default/Stock rom....
Anyone has any idea via SS?
or should we use RSDLite?
Still waiting!
Awesome work!
How long should it take? I think you you're making a joke of it to make us wait ...
Gesendet von meinem XT910 mit Tapatalk 2
Eh...now uploaded, Thanks!!
Sent from my XT910 using xda premium
Running
Tested on JBX and LiquidSmooth :thumbup:
Gesendet von meinem XT910 mit Tapatalk 2
Merlinos1 said:
Running
Tested on JBX and LiquidSmooth :thumbup:
Gesendet von meinem XT910 mit Tapatalk 2
Click to expand...
Click to collapse
Really? I got it to work on CM Nightly, but it wouldn't install on LiquidSmooth Official. Did you do it on a clean install?
No, just flashed over existing system...
Try Wipe Cache & Dalvik
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Gesendet von meinem XT910 mit Tapatalk 2

KERNEL-NookOnFireShowtime V3.22 CM/AOKP/LiquidSmooth/Carbon/SGT7/Slim Rom Compatible!

I proudly present to you
Nook On Fire Showtime V3.22
Nook On Fire Nemesis V2.4
Dear Nook Tablet users,
Welcome to the unbelievably Stable,Butter Smooth,Fast and Feature Rich: Nook On Fire Kernel!
This kernel is based on Official CM10.1 kernel sources.
I'll continue to add more features to the kernel in the future and when real life permits.
Oh, and yes: I built the kernel because I have fun doing so. But be not mistaken that I am a 'play-around kid': I dislike pulling in every little mod someone made. What I want is stability.
This kernel can be flashed on:
- SlimBean
- Official CM10.1
- LiquidSmooth
- AOKP Rom
- CarbonRom
- SGT7 Rom By TheForceUnleashed
You can use Trickster MOD Kernel Settings app from Google Play to control some aspects of this kernel
Link: https://play.google.com/store/apps/details?id=com.bigeyes0x0.trickstermod
I hope you enjoy my kernel
Nook On Fire kernel features:
*Up2date kernel Revision.
*Up2date CPU Schedulers.
*Up2date CPU Governors.
*Pushes Nook Tablet inbuilt hardware's to the maximum of their capabilities.
*Performance/battery carefully picked tweaks
*Default max CPU frequency: 1.20 GHz
*LCD Panel tweaked to reach manufacturer recommendations and reach maximum performance as the settings are taken by the datasheet pdf.
*ARM CPU topology! More info here
*More tweaks under the hood (check sources if you're interested)
*Lots more **** - flash and see for yourself
F.A.Q:
1. My device rebooted or crashed, how can I help?
A: Get me /proc/last_kmsg or logcat.
2. Battery sucks, my device is not entering deep sleep.FIX PLOX!
A: Fix it yourself, it's an app waking your device up not the kernel's problem
3. Do I need to wipe anything when flashing this kernel?
A: No.
4. No WiFi?
A: Rename /etc/firmware/ti-connectivity/wl1271-nvs_127x.bin -> wl1271-nvs.bin
5. Wrong MAC address?
A: This is a residue problem (dirty installation). Just delete wl1271-nvs.bin and reboot.
6. Does this kernel has X or Y mod?
A: Learn to read, everything you need to know is in the features list, changelog or public repo.
Changelog History:
Click to expand...
Click to collapse
Nook On Fire Showtime Kernel
V3.22 changelog
- OMAP4:Fix HSMMC 3/4/5 master clock
- Nohz/sched: don't go tickless when CPU is loaded
- LPDDR2 RAM timings optimization for 10% speed increase
V3.21 changelog
- 10! Yes 10 touch driver is back Thanks to Mik_os
- GPU is pushed to the limits 384Mhz from 307mhz
- I give back to gpu the volt juice it had it might need some adjustment still.
- Our cpu frequencies are changed
- Cpu frequencies are now these
200Mhz/600Mhz/999Mhz/1.1ghz/1.22ghz
V3.2 changelog
- Some more cherry picks
- 720p/1080p video playback seems fixed.
- Reverted previous hashcode commit about usb detection and power down.(was eating battery)
- Am declaring this release stable if no major issues surface.
- Kernel now is ready for serious heavy weight work.
V3.11 changelog
- Trying to fix 720p/1080p video playback issues
- Pushed a reverted commit about usb detection and power down from Hashcode for testing
- Repo Synced to RC5
- Second Showtime release but things show stable enough for me
- If no negative feedback i will declare next release stable So speak now or be silent forever.
V3 changelog
- First released kernel based on Kindle Fire 2 and I9100G (t1) source code.
- Linux Kernel 3.0.81
- More than 100 commits
- New features added and more to come
- Might need some fine-tuning as this is 1st release.
- Highly experimental so if you don’t need adventures stay with NOF-Nemesis for now
Nook On Fire Nemesis Kernel
V2.4 changelog
- I started borrowing code from Kindle Fire kernel, so for now we have code changes from them in:
- GCX
- USB
- MMC
- EMIF
- WIFI
And 2 Great Cherry picks from Hashcode that might fix kernel issues some Nook Tablets have
1. https://github.com/Ntemis/NOF-Nemesis/commit/f0f3f061f94544fb87c429d9e93ae417e00b3458
2. https://github.com/Ntemis/NOF-Nemesis/commit/0799813998b44dcfae0728cd8f16576931b4432f
Edit: Confirmed, now it boots on problematic nooks that couldnt use 1.2ghz previously.Welcome to 1.2ghz era boyz
V2.21 changelog
- Kernel 3.0.80
- Tried to boost io performance
- slub: zero page, trying to fix boot crashes
- Lowered cache presure from 100 -> 50
V2.11 changelog
- Galaxy Nexus Kernel processwith addictional code from franco: shorten freezer sleep time using exponential backoff
- Borrowed immoseyon interactivex governor and edit it to fuction on our interactive, when using interactive you now use interactivex.
- I tunalize interactivex header so we can use interactivex from Gnex.
- Watchdog driver borrowed from Gnex
V2.1 changelog
- Touch driver code review
- Accelerometer code review
- Kernel 3.0.79
- Some wireless code borrowed from Tuna
- Fix some issues with kernel power proccess and filesystem syncing
V1.73 changelog
- More Changes
- Upsteam Synced
V1.72 changelog
- Some more fixes and addictions
V1.70 changelog
- Linux Kernel 3.0.78
- Sio updates by Boy Petersen
V1.66 changelog
- Power related changes like Wakelock/Suspend
- Timer related issues
- Sleep and wake up changes
- Fixes in several mempolicy leaks in tmpfs mount logic
- OMAP4430 Cpu Governors Finetunning to:
Hyper/Conservative/Hotplug/Ondemand/PegasusQ and Wheatley
- Port Snappy and Frontswap and Reworked on Zram tweaks and enchancements.
- CM10.1 RC2 Synced
- Now when usb is plugged for charge etc, it wakes up :highfive:
V1.60 changelog
- Linux Kernel Upgrade to 3.0.77
- Finetuned page writeback for Vmalloc=128mb
- Upstream Sync
V1.52 changelog
- Fixed Smartass V2
- Added HYPER Cpu Governor
- Disabled Fair Sleepers for UI smoothness
V1.51 changelog
- Added SmartAss V2 Cpu Governor
- Reduced Cpu latency from 40ms to 15ms(testing)
- Since no reports came up after i released UnderVolt Kernel for test now UnderVolting is officially implemented into my kernel.
V1.50 changelog
- Add assembler versions of AES and SHA1 for ARM platforms. This has provided
up to a 50% improvement in IPsec/TCP throughout for tunnels using AES128/SHA1.
- ARMv7: Flush the vectors page using the base address.
- OMAP4: PM: fix overconsumption on OFF mode
- SIO I/O sheduler updates and tweaks finetunned to omap44xx
- CFQ I/O sheduler updates and tweaks finetuned to omap44xx
- Upgraded Linux Kernel to V3.0.76
V1.42 changelog
Changes are a lot more and you are more than welcome to read my github.
Some of them are:
- Low Memory Killer ported from 3.9 kernel
- Some ondemand tweaks to increase frequency early.
- Disable CRC in Mmc driver
- Read ahead fine tunning
- Mmc core: Fix possbile memory leak
- Interactive fixes and updates
- Ported Logger from mainline 3.9
- Decreased the amount of time the device waits after entering low power mode to freeze processes.
- Reduce System logging
- Prevent enqueue of hrtimer on dead CPU
- Another kernel Upgrade to 3.0.75
- Reverted some commits that i was suspecting them to be my troublesome ones.
They were causing troubles like hard power downs and lockups.
V1.35 changelog
- Reduced swappiness from 60 to 45
- Make kernel actually use arm cpu topology
V1.34 changelog
Some minor changes vs the previous kernel base.
I removed some things i didnt like.If you need them please ask for them.
-Fsync
-Ondemandplus
-Make sure you download the modules needed for new rebased kernel!
Nook On Fire Kernel :
V13.3 changelog:
- Finetuned newly introduced Governors for Omap4430 Cpu.
- Added SLQB low-level memory manager More info here
- I have disabled Fsync because it was causing major lags.
Anyone that want to use it it can enable it inside Trickster MOD Kernel Settings from Gplay.
V13.2 changelog:
- Added CPU governor: ondemandplus (more info here)
- Added CPU governor: pegasusq
* ondemandplus is an ondemand- and interactive-based governor that has additional power-saving capabilities while maintaining very snappy performance. (Is finetuned for omap4460 for now, i will fix that when i find more free time )
* pegasusq is an ondemand based governor with hotplugging (=disables the second CPU core when it is not needed). It even hotplugs after some seconds when the screen is on.
- Added ARM CPU topology: multi-core scheduling (enabled by default; saves battery by scheduling load among the CPU cores; more info here)
- Added Fsync and enabled it by default
fsync() transfers ("flushes") all modified in-core data of (i.e., modified buffer cache pages for) the file referred to by the file descriptor fd to the disk device (or other permanent storage device) so that all changed information can be retrieved even after the system crashed or was rebooted. This includes writing through or flushing a disk cache if present. The call blocks until the device reports that the transfer has completed. It also flushes metadata information associated with the file (see stat(2)).
Click to expand...
Click to collapse
- Some more tweaks for Speed
V12.1 changelog:
- Hardcoded Row frequencies by a research group of the xda community.
- Load frequency edits so we reach Gnex Kernel speed and responsiveness
- Tried to fix usb mounting freezes and usb cut outs.
- At This point i find the kernel enough stable and fast for any task you will need it to perform at.
V12 changelog:
- Kernel Updated to latest 3.0.xx(74)
- Updated Row I/O Sheduler to latest 2013 with all upstream fixes
V11 changelog:
- Major changes taken from francisco franco Tuna kernel aka Gnex
- Kernel major jump from 3.0.62 to 3.0.73!
- For wifi to work new modules compiled against kernel 3.0.73 needed and posted.
Notice:
From now on and if you are on same rom you only need to flash kernel, when you flash a new rom a modules package reflash is required or else wifi wont work.
V10 changelog:
- Wakelock changes taken from Samsung latest JB source code
- Suspend changes taken from Samsung latest JB source code
- Memory timings changes copied from B&N Nook HD source code.
V09 changelog:
- Boxer Lcd Panel at 59.1Mhz per datasheet with accompanied settings
- More compiler optimizations
V08 changelog:
- Use ARM Hardware Float instead of software. More info here: http://wiki.debian.org/ArmHardFloatPort/VfpComparison
- Use -O3 flags when compiling Gpu driver. ccflags-y += -O3 in drivers/gpu/makefile (Thanks Mnazim)
- Improoved page writeback tweaks
- Nook HD Panel Settings
- Epic Citadel force close fixed {61fps woot!}
V03 changelog:
- Nook HD source complete memory timings
- Cpu idle code tweaks
- Silicon Performance Enabled aka 1.2Ghz
You can find all releases :
Goo.im Link:
http://goo.im/devs/demetris/Acclaim/NookOnFire
Dev-host:
http://d-h.st/users/demetris/?fld_id=16788#files
Nook On Fire Showtime CWM/TWRP Links:
One Package flasher (Kernel+Modules) for V3.22 http://tinyw.in/bALo
One Package flasher (Kernel+Modules) for V3.21 http://tinyw.in/OFgN back Sorry
One Package flasher (Kernel+Modules) for V3.2 http://tinyw.in/uJfz
V3.2 Kernel Download Link: http://tinyw.in/xd7M
V3.2 Kernel Modules (required)!Download Link: http://tinyw.in/Mxoo
V3.11 Kernel Download Link: http://tinyw.in/5z0M
V3.11 Kernel Modules (required)!Download Link: http://tinyw.in/MBw0
Kernel
http://goo.im/devs/demetris/NookOnFire/NOF-Showtime-Kernel-V3.zip
Modules
http://goo.im/devs/demetris/NookOnFire/NOF-Showtime-Modules-V3.zip
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Nook On Fire Nemesis CWM/TWRP Links:
V2.4 Kernel Download Link: http://d-h.st/YEA
V2.4 Kernel Modules (required)!Download Link: http://d-h.st/sZa
V2.21 Kernel Download Link: http://d-h.st/G2S
V2.21 Kernel Modules (required)!Download Link: http://d-h.st/oOh
V2.11 Kernel Download Link: http://d-h.st/TMo
V2.11 Kernel Modules (required)!Download Link: http://d-h.st/6v4
V2.1 Kernel Download Link: http://d-h.st/ORM
V2.1 Kernel Modules (required)!Download Link: http://d-h.st/l3y
V1.73 Kernel Download Link: http://d-h.st/Dkf
V1.73 Kernel Modules (required)!Download Link: http://d-h.st/iWe
V1.72 Kernel Download Link:http://d-h.st/uCu
V1.72 Kernel Modules (required)!Download Link:http://d-h.st/aoj
V1.70 Kernel Download Link: http://d-h.st/agX
V1.70 Kernel Modules (required)!Download Link: http://d-h.st/flX
V1.66 Kernel Download Link: http://d-h.st/3pk
V1.66 Kernel Modules (required)!Download Link: http://d-h.st/W4y
V1.60 Kernel Download Link: http://d-h.st/X7K
V1.60 Kernel Modules (required)!Download Link: http://d-h.st/ayE
V1.52 Kernel Download Link: http://d-h.st/jiL
V1.52 Kernel Modules (required)!Download Link: http://d-h.st/IWe
V1.51 Kernel Download Link: http://d-h.st/Iz8
V1.51 Kernel Modules (required)!Download Link: http://d-h.st/LIH
V1.50 Kernel Download Link: http://d-h.st/G3m
V1.50 Kernel Modules (required)!Download Link:http://d-h.st/Fan
V1.42 Kernel Download Link: http://d-h.st/dVI
V1.42 Kernel Modules (required)!Download Link: http://d-h.st/Hvr
V1.35 Download Link:http://d-h.st/b9r
V1.34 Download Link:http://d-h.st/Z0D
V1.34 Kernel Modules (required)!Download Link: http://d-h.st/OrS
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Nook On Fire CWM/TWRP Links:
V13.3 Download Link: http://d-h.st/i7L
http://celticstorage.co.uk/cm10/NOF-Kernel-V13.2.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-V12.1.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-V12.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-V11.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-V10.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-09.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-08.zip
http://celticstorage.co.uk/cm10/NOF-Kernel-03.zip
Because of major kernel upgrade new modules needed also!
Modules for NOF V11 and UP!:
http://celticstorage.co.uk/cm10/3.0.xx_Modules.zip
Installation:
Copy zip archive to sdcard
Reboot to recovery
Select to install zip from sdcard
Navigate to archive
Flash and reboot.
Fastboot way:
Unzip archive, get boot.img out of it and,
Installation:
Enter fastboot mode from cyanoboot menu by holding N button and type:
Fastboot flash boot boot.img
Fastboot reboot
Profit.
Succulent Roms NOF Version Link:
http://celticstorage.co.uk/cm10/Succu-NOF.zip
Untested
Source:
https://github.com/Ntemis/kernel3NookTablet/tree/p-android-omap-3.0.y
Find Kernel sources here:
Nook On Fire Nemesis:
https://github.com/Ntemis/NOF-Nemesis
Nook On Fire:
https://github.com/Ntemis/NOF_kernel_bn_acclaim
If you find my work useful please press thanks button!
Credits to:
Kuzma30
chrmhoffmann
Hashcode
Mik_os
Rebellos
Mnazim
Fransisco Franco
Boype
Loosethisskin
Imoseyon
and all other developers who do not remember and whos code is now being used in our kernel.
Thank you very much.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
thanks!
downloading now thanks for your contribution!:highfive:
What Is A Kernel?
Android (like many other Smartphone operating systems) runs on the Linux kernel. The Linux kernel was created in the early 1990’s by a gentleman named Linus Torvalds in Helsinki Finland. It’s incredibly stable, incredibly friendly, and incredibly difficult for the layman to understand and modify. Thankfully it’s also very popular so it has been ported on to a multitude of hardware, including our Android devices.
Think of the kernel as an interface layer between the hardware and software on your device. The kernel decides when things happen, such as the LED indicator gets lit. An application sends a request to the operating system to blink the LED. The operating system then sends the request to the kernel, which makes the light flash for the amount of time requested by the OS.
What sounds like a round-about way to get things done is also what makes the system so scalable and robust. Application developers only have to code in a way the operating system understands and the kernel makes it work on the hardware. This also keeps the application running in it’s own user-space and separate from the kernel. That means when you run the latest uber-cool app that wasn’t designed for your particular OS version, or is still very beta and it crashes, the kernel gives you the option to Force Close the application and the kernel can run untouched.
In a standard Android ROM (we will leave developer images and the like for another discussion) the kernel is bundled along with a set of instructions that tell the device how to load the kernel and the OS during boot. This is the boot.img that you see inside a zipped ROM that you're not able to easily open. The device knows to extract this image to internal memory (the ramdisk) and follow a series of scripts (init scripts) to load the kernel and then the other portions of the OS. That’s what’s happening while you’re watching the boot animation. Interestingly enough this is done the same way for a PC, your smartphone, an Android tablet, or even a smart Linux powered toaster. If you’re feeling exceptionally geeky, plug your Android phone into the USB port on your PC and let the PC boot from the USB device. No, it doesn’t actually load, but you can watch the animation while it tries to match up the hardware support with what’s inside your PC. As I said, Linux is amazingly scalable and as a result so is Android.
GOVERNORS
1) Ondemand:
Default governor in almost all stock kernels. One main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. (You can change this behavior using smooth scaling parameters, refer Siyah tweaks at the end of 3rd post.) Effectively, it uses the CPU busy time as the answer to "how critical is performance right now" question. So Ondemand jumps to maximum frequency when CPU is busy and decreases the frequency gradually when CPU is less loaded/apporaching idle. Even though many of us consider this a reliable governor, it falls short on battery saving and performance on default settings. One potential reason for ondemand governor being not very power efficient is that the governor decide the next target frequency by instant requirement during sampling interval. The instant requirement can response quickly to workload change, but it does not usually reflect workload real CPU usage requirement in a small longer time and it possibly causes frequently change between highest and lowest frequency.
2) Ondemandx:
Basically an ondemand with suspend/wake profiles. This governor is supposed to be a battery friendly ondemand. When screen is off, max frequency is capped at 500 mhz. Even though ondemand is the default governor in many kernel and is considered safe/stable, the support for ondemand/ondemandX depends on CPU capability to do fast frequency switching which are very low latency frequency transitions. I have read somewhere that the performance of ondemand/ondemandx were significantly varying for different i/o schedulers. This is not true for most of the other governors. I personally feel ondemand/ondemandx goes best with SIO I/O scheduler.
3) Conservative:
A slower Ondemand which scales up slowly to save battery. The conservative governor is based on the ondemand governor. It functions like the Ondemand governor by dynamically adjusting frequencies based on processor utilization. However, the conservative governor increases and decreases CPU speed more gradually. Simply put, this governor increases the frequency step by step on CPU load and jumps to lowest frequency on CPU idle. Conservative governor aims to dynamically adjust the CPU frequency to current utilization, without jumping to max frequency. The sampling_down_factor value acts as a negative multiplier of sampling_rate to reduce the frequency that the scheduler samples the CPU utilization. For example, if sampling_rate equal to 20,000 and sampling_down_factor is 2, the governor samples the CPU utilization every 40,000 microseconds.
4) Interactive:
Can be considered a faster ondemand. So more snappier, less battery. Interactive is designed for latency-sensitive, interactive workloads. Instead of sampling at every interval like ondemand, it determines how to scale up when CPU comes out of idle. The governor has the following advantages: 1) More consistent ramping, because existing governors do their CPU load sampling in a workqueue context, but interactive governor does this in a timer context, which gives more consistent CPU load sampling. 2) Higher priority for CPU frequency increase, thus giving the remaining tasks the CPU performance benefit, unlike existing governors which schedule ramp-up work to occur after your performance starved tasks have completed. Interactive It's an intelligent Ondemand because of stability optimizations. Why??
Sampling the CPU load every X ms (like Ondemand) can lead to under-powering the CPU for X ms, leading to dropped frames, stuttering UI, etc. Instead of sampling the CPU at a specified rate, the interactive governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy between exiting idle and when the timer fires, then we assume the CPU is underpowered and ramp to max frequency.
5) Interactivex:
This is an Interactive governor with a wake profile. More battery friendly than interactive.
6) Lulzactive:
This new find from Tegrak is based on Interactive & Smartass governors and is one of the favorites.
Old Version: When workload is greater than or equal to 60%, the governor scales up CPU to next higher step. When workload is less than 60%, governor scales down CPU to next lower step. When screen is off, frequency is locked to global scaling minimum frequency.
New Version: Three more user configurable parameters: inc_cpu_load, pump_up_step, pump_down_step. Unlike older version, this one gives more control for the user. We can set the threshold at which governor decides to scale up/down. We can also set number of frequency steps to be skipped while polling up and down.
When workload greater than or equal to inc_cpu_load, governor scales CPU pump_up_step steps up. When workload is less than inc_cpu_load, governor scales CPU down pump_down_step steps down.
Example:
Consider
inc_cpu_load=70
pump_up_step=2
pump_down_step=1
If current frequency=200, Every up_sampling_time Us if cpu load >= 70%, cpu is scaled up 2 steps - to 800.
If current frequency =1200, Every down_sampling_time Us if cpu load < 70%, cpu is scaled down 1 step - to 1000.
7) Lulzactiveq:
Lulzactiveq is a modified lulzactive governor authored by XDA member robertobsc and is adapted in Siyah kernel for GS2 and GS3. Lulzactiveq aims to optimize the second version of luzactive from Tegrak by a) providing an extra parameter (dec_cpu_load) to make scaling down more sensible, and b) incorporating hotplug logic to the governor. Luzactiveq is the first ever interactive based governor with hotplugging logic inbuilt (atleast the first of its kind for the exynos platform). When CPU comes out of idle loop and it's time to make a scaling decision, if load >= inc_cpu_load CPU is scaled up (like original luzactiveq) and if load <dec_cpu_load, CPU is scaled down. This possibly eliminates the strict single cut-off frequency for luzactiveq to make CPU scaling decisions. Also, stand hotplug logic runs as a separate thread with the governor so that external hotplugging logic is not required to control hotplug in and out (turn On and Off) CPU cores in multi core devices like GS2 or GS3. Only a multi core aware governor makes real sense on muti-core devices. Lulzactiveq and pegasusq aims to do that.
8) Smartass:
Result of Erasmux rewriting the complete code of interactive governor. Main goal is to optimize battery life without comprising performance. Still, not as battery friendly as smartassV2 since screen-on minimum frequency is greater than frequencies used during screen-off. Smartass would jump up to highest frequency too often as well.
9) SmartassV2:
Version 2 of the original smartass governor from Erasmux. Another favorite for many a people. The governor aim for an "ideal frequency", and ramp up more aggressively towards this freq and less aggressive after. It uses different ideal frequencies for screen on and screen off, namely awake_ideal_freq and sleep_ideal_freq. This governor scales down CPU very fast (to hit sleep_ideal_freq soon) while screen is off and scales up rapidly to awake_ideal_freq (500 mhz for GS2 by default) when screen is on. There's no upper limit for frequency while screen is off (unlike Smartass). So the entire frequency range is available for the governor to use during screen-on and screen-off state. The motto of this governor is a balance between performance and battery.
10) Intellidemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors )
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
11) Lazy:
This governor from Ezekeel is basically an ondemand with an additional parameter min_time_state to specify the minimum time CPU stays on a frequency before scaling up/down. The Idea here is to eliminate any instabilities caused by fast frequency switching by ondemand. Lazy governor polls more often than ondemand, but changes frequency only after completing min_time_state on a step overriding sampling interval. Lazy also has a screenoff_maxfreq parameter which when enabled will cause the governor to always select the maximum frequency while the screen is off.
12) Lagfree:
Lagfree is similar to ondemand. Main difference is it's optimization to become more battery friendly. Frequency is gracefully decreased and increased, unlike ondemand which jumps to 100% too often. Lagfree does not skip any frequency step while scaling up or down. Remember that if there's a requirement for sudden burst of power, lagfree can not satisfy that since it has to raise cpu through each higher frequency step from current. Some users report that video playback using lagfree stutters a little.
13) Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source. Tweaks comes from 1) Knzo 2) Morfic. The original idea comes from Netarchy. See here. The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
To 'experience' Lionheart using conservative, try these tweaks:
sampling_rate:10000 or 20000 or 50000, whichever you feel is safer. (transition latency of the CPU is something below 10ms/10,000uS hence using 10,000 might not be safe).
up_threshold:60
down_threshold:30
freq_step:5
Lionheart goes well with deadline i/o scheduler. When it comes to smoothness (not considering battery drain), a tuned conservative delivers more as compared to a tuned ondemand.
14) LionheartX
LionheartX is based on Lionheart but has a few changes on the tunables and features a suspend profile based on Smartass governor.
15) Brazilianwax:
Similar to smartassV2. More aggressive ramping, so more performance, less battery.
16) SavagedZen:
Another smartassV2 based governor. Achieves good balance between performance & battery as compared to brazilianwax.
17) Userspace:
Instead of automatically determining frequencies, lets user set frequencies.
18) Powersave:
Locks max frequency to min frequency. Can not be used as a screen-on or even screen-off (if scaling min frequency is too low).
19) Performance:
Sets min frequency as max frequency. Use this while benchmarking!
So, Governors can be categorized into 3/4 on a high level:
1.a) Ondemand Based:
Works on "ramp-up on high load" principle. CPU busy-time is taken into consideration for scaling decisions. Members: Ondemand, OndemandX, Intellidemand, Lazy, Lagfree.
1.b) Conservative Based:
Members: Conservative, Lionheart, LionheartX
2) Interactive Based:
Works on "make scaling decision when CPU comes out of idle-loop" principle. Members: Interactive, InteractiveX, Lulzactive, Luzactiveq, Smartass, SmartassV2, Brazilianwax, SavagedZen.
3) Weird Category:
Members: Userspace, Powersave, Performance.
Hi
When should this be flashed? Anytime? Immediately after the rom?
Thanks for your continuous work!
Sent from my NookTablet using xda app-developers app
Hi,
Yes should be flashed after the rom.
What gov are you recommending for this. It sure flies at 1200. Nice and smooth.
Don't like me...... BITE ME!!!
Too soon to tell, am updating Row and i am adding Smartass2 pegasusQ interactiveX soon.
I updated Lcd with Nook HD configs and it rocks, amazing clarity and performance.
Stay tuned
demetris_I said:
Too soon to tell, am updating Row and i am adding Smartass2 pegasusQ interactiveX soon.
I updated Lcd with Nook HD configs and it rocks, amazing clarity and performance.
Stay tuned
Click to expand...
Click to collapse
Sounds nice. Guess I'll use interactive for now. I'll let you know how it goes. If you ever need a tester for anything I am more than willing any time. Thanks for the work on this device.
Don't like me...... BITE ME!!!
Nice job. For completeness can you post a link to source? Might be there-- I did a quick search and didn't see it. Any point to adding the BFQ io scheduler? Or is that in the stock kernel, I cant' remember.
Hi demetris_I:
Is this kernel in any way related to kuzma30's kernel work?
@kur41
You have any other kernel in mind that can boot on Nook Tablet? :silly:
@fattire
BFQ io scheduler is already implemented
Hi. Thanks for your answer.
Do I really need to format the sdcard onto exfat? Didn't get it.. :/
Sent from my Barnes & Noble Nook Tablet using xda app-developers app
LacerdaPT said:
Hi. Thanks for your answer.
Do I really need to format the sdcard onto exfat? Didn't get it.. :/
Sent from my Barnes & Noble Nook Tablet using xda app-developers app
Click to expand...
Click to collapse
Nope.
Only if you need exfat filesystem support example files bigger than 4gb onto sd card.
New kernel released,
Flash, test, and report back.
Thanks
Edit:
Source changes pushed to git
YES!!! 1200mhz! Thank you!
Sooo far sooo good on CM10.1
Don't suppose 1300 or 1400 could be added for us to try on our devices. Or just mine... Screw them! I want it!
Thanks again for all your hard work! I REALLY appreciate it!
Merrell
Sent from my Barnes & Noble Nook Tablet using Tapatalk 2
Quick question -- will this kernel work with your Nooked CM10.1 (Succulent based) ROM? I've been running that for four or five days and loving it -- my Nook Tablet has never felt as quick and smooth. Thanks very much for all the great work you're doing.
paulbonner said:
Quick question -- will this kernel work with your Nooked CM10.1 (Succulent based) ROM? I've been running that for four or five days and loving it -- my Nook Tablet has never felt as quick and smooth. Thanks very much for all the great work you're doing.
Click to expand...
Click to collapse
Here is what you can do,
get this v08.zip package and the 3rd edition rom
copy the v08.zip once more in a folder and rename it to backup.zip
get boot.img from 3rd edition rom and replaced the boot.img in backup.zip
tranfer both into sd card and reboot to recovery.
flash v08 and reboot.
If it works your golden if not press power key to shutdown device and give another retry
If it fails again go flash backup.zip and report here that it doesnt work, so other know and you save them precious time doing the same.
demetris_I said:
Here is what you can do,
get this v08.zip package and the 3rd edition rom
copy the v08.zip once more in a folder and rename it to backup.zip
get boot.img from 3rd edition rom and replaced the boot.img in backup.zip
tranfer both into sd card and reboot to recovery.
flash v08 and reboot.
If it works your golden if not press power key to shutdown device and give another retry
If it fails again go flash backup.zip and report here that it doesnt work, so other know and you save them precious time doing the same.
Click to expand...
Click to collapse
Unfortunately this kernel won't work with that ROM. Just tried it, will not boot.
razzbaronz said:
Unfortunately this kernel won't work with that ROM. Just tried it, will not boot.
Click to expand...
Click to collapse
Yep, same for me
Sent from my SGH-T959V using xda app-developers app
Added Succulent kernel with NOF changes
Enjoy
P.s
Untested
Source:
https://github.com/Ntemis/kernel3NookTablet/tree/p-android-omap-3.0.y

[KERNEL] [v0.14] [MM 6.0.0 Stock ROM] Frankenclark

Introduction
This is a kernel for XT1572/XT1575 built from stock sources (marshmallow-6.0.0-release branch) with cherry picks from other kernels and some ports/mods done by me. It started as a personal build tailored to my preferences but just thought I'd share in case somebody might find it useful. My main goal is building the smoothest kernel I can get so performance is top priority.
This kernel is for stock ROM MPH24.49-18*
Disclaimer
Although I have experience with Linux kernels on desktops and servers this is my first Android kernel. I've been running this kernel on my XT1572 for a few days and seems pretty stable but that doesn't mean it's risk free. In fact I wouldn't dare to install it if you don't have a proper backup and some basic skills to deal with unexpected situations.
Features
Aroma Installer
CPU profile scripts (see this)
Color control (KCAL)
Frandom
Updated to kernel version 3.10.101
Overclocking (a53: 1536MHz a57:2016MHz)
Underclocking (302MHz)
Additional CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley, InteractiveX/Interactive, Impulse, Zzmoove)
Additional I/O schedulers (SIO, FIOPS, Zen, BFQ, SIOPLUS)
Bricked Hotplug
Updated ZRAM driver
Updated Lowmemorykill driver
Basic init.d support
KSM and UKSM
Voltage readings
Fsync on/off
Touchboost on/off
Vibration control
KEXEC Hardboot (MultiROM support)
Patched cdrom code (DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (EXPERIMENTAL)
Power efficient workqueues
Support for additional FS: NTFS, NFS, CIFS
Additional Xpad drivers (read this)
Device as USB trackpad/keyboard driver (read this)
WiFi module optimizations
Many minor optimizations
Optimization flags
UBER Toolchain 4.9
Installation instructions
Download ZIP and flash from TWRP/Flashify. Read the following notes carefully before flashing.
Important notes:
This kernel is still experimental, make a proper backup first
You need to be rooted
DO NOT play with DT2W/S2W before reading the release notes and the update
In case you want to tune some parameters (ie: CPU frecuencies) I recommend you install EX Kernel Manager, Kernel Adiutor or Kernel Adiutor-Mod.
If you're using Kernel Adiutor to control vibration or TCP congestion read this.
Questions? Read the FAQ before posting.
Download
Latest version is v0.14 (see release notes)
https://www.androidfilehost.com/?w=files&flid=49225​
Donations
Although quite a deal of the important work has been done by the developers mentioned in the Credits section I spend many hours working on this. If you feel like helping me out I'd appreciate some tiny donations to cover some minor expenses.
​Thanks to all of you who have donated, it's very much appreciated.​
Profiles
One of the FAQ in most kernel related threads is "What are the best settings for .....?". This is the 10 million question since the usage pattern can be very different for each user. However, I understand less experienced users will appreciate some hints in this department, so that's why I'm posting some basic settings you can use as a starting point.
It's your job to further tune them to suit your needs. You should be able to modify these settings with whatever Kernel Control App you like the best, although not all settings are available in every app, in such a case tune those you can. The list is not complete (just the most importante settings) and is loosely based on Kernel Adiutor arrangement.
Please, keep in mind these are subjective values (based of personal preferences or popularity) and some people might like other settings for whatever reasons.
Performance Profile: Very smooth and responsive but average battery life
CPU
LITTLE Cluster
CPU Governor: bluactive
CPU Max Frequency: 1536MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: bluactive
CPU Max Frequency: 2016MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 6
Max Cores Screen Off: 2
Idle Frequency: 384MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: cpufreq​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Balanced Profile: Above average battery life with good performance on most situations
CPU
LITTLE Cluster
CPU Governor: interactive
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: interactive
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 2
Maximum CPU online: 5
Max Cores Screen Off: 2
Idle Frequency: 768MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 600MHz
Min Frequency: 180MHz
Govenor: msm-adreno-tz​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Battery Profile: Good battery life at the expense of somewhat limited performance
CPU
LITTLE Cluster
CPU Governor: ondemand
CPU Max Frequency: 1440MHz
CPU Min Frequency: 302MHz​BIG Cluster
CPU Governor: ondemand
CPU Max Frequency: 1632MHz
CPU Min Frequency: 302MHz
NOTE: If you get N/A or weird values when trying to change settings on BIG cores it means both have been hotunplugged. To work around this select "performance" governor, make your desired changes and then select you previous governor.​CPU Boost
Input Boost Frequency Core 1: 960MHz​
Hotplug
MSM MPDecision
Minimum CPU online: 1
Maximum CPU online: 3
Max Cores Screen Off: 2
Idle Frequency: 960MHz​
Thermal
Core Control: Off
VDD Restriction: Off
Temperature Throttle: On​
GPU
Max Frequency: 450MHz
Min Frequency: 180MHz
Govenor: simple_ondemand​
I/O
Scheduler: noop
Read-ahead: 1024KB​
Thanks To/Credits
vadimtk
flar2
franciscofranco
nimrodsv
anarkia1976
savoca
myfluxi
AudioGod
osm0sis
nychitman1
jollaman999
imoseyon
showp1984
HashBang173
neobuddy89
rehpyc
Alcolawl
soniCron
Spasticdroid
XDA:DevDB Information
Frankenclark, Kernel for the Moto X Style (Pure)
Contributors
dirtyhank
Source Code: https://github.com/dirty-hank/frankenclark/
Kernel Special Features:
Version Information
Status: Beta
Current Beta Version: 0.14
Created 2016-01-10
Last Updated 2016-10-11
Changelog
v0.14 (2016-08-29)
Proper KCAL control (thanks to @Spasticdroid)
Updated xpad driver for compatibility with gamepads/controllers (thanks to @Spasticdroid)
Driver to use device as USB trackpad and keyboard (thanks to @Spasticdroid)
Misc minor updates (see github)
100Hz version uses stock compiler flags
v0.13 (2016-06-21)
Update to Linux Kernel 3.10.102
Misc minor updates (see github)
New start-up CPU governor profiles: bluactive, maddog and silverfish
v0.12 (2016-05-15)
Disable DT2W/S2W while phone call is in progress
New CPU governors: impulse, zzmoove
New and updated CPU profile scripts
Runtime CPU profile switcher script (see release notes)
Minor changes to Aroma installer
v0.11.1 (2016-05-01)
Aroma Installer update (see release notes)
v0.11 (2016-04-27)
Aroma Installer
Better camera focus
Less CPU usage from DT2W/S2W
Minor updates and bugfixes
v0.10 (2016-04-03)
Updated lowmemorykiller driver
BFQ and SIOPLUS I/O schedulers
Updated ZRAM driver (on by default)
User togglable WLAN wakelocks
Basic init.d support (see release notes)
Misc minor updates
v0.9 (2016-03-20)
Update to Linux Kernel 3.10.101
Bug fixes
Changes from Google update to N5X and N6P (see release notes)
v0.8 (2016-03-06)
Update to Linux Kernel 3.10.99
Power efficient workqueues
NTFS support
NFS and CIFS support (you'll probably need additional user space binaries)
v0.7.1 (2016-02-28)
Workaround for the dimmed screen upon unlock bug when DT2W/S2W is enabled
v0.7 (2016-02-21)
Hotplug thresholds tuned to keep BIG cores offline more often
KEXEC Hardboot (MultiROM support)
Patched cdrom code (full DriveDroid support)
DoubleTap2Wake/Sweep2Wake/Sweep2Sleep (HIGHLY EXPERIMENTAL, Read this)
v0.6 (2016-02-07)
Vibration control (non-haptic)
Relaxed CPU macros for better power usage
File hosting now on AndroidFileHost
v0.5.2 (2016-02-03)
Fixed USB and WiFi Tethering
Minor tweaks
v0.5.1 (2016-02-01)
Changes to installer
v0.5 (2016-01-31)
Update to Linux Kernel 3.10.95
InteractiveX governor (as patches to the interactive gov)
Bricked Hotplug
KSM and UKSM (disabled by default, use Kernel Adiutor to enable)
Many minor optimizations
WiFi module optimizations
Modules recompilation
Disabled core_ctl (due to broken module after some internal changes to kernel)
Voltage readings (any attempt to modify values is silently ignored)
v0.4.1 (2016-01-24)
Prevent msm_performance from messing with the user selected min/max CPU frequencies
v0.4 (2016-01-23)
New CPU governors (ElementalX, Intelliactive, Lionheart, BioShock, BluActive, Wheatley)
New I/O scheduler (Zen)
Default I/O scheduler set to noop with a read ahead of 1024kb
Fixed bug CVE-2016-0728
Minor optimizations
Introduce ZIP installer (Anykernel2)
v0.3 (2016-01-18)
Color control (KCAL)
frandom support
New optimization flags
ZRAM disabled by default
v0.2 (2016-01-14)
Updated to Linux kernel 3.10.94
Underclocking (302MHz)
v0.1 (2016-01-10)
First public version
FAQ
I get random reboots, what is happening?
This kernel overclocks both clusters by default (a53: 1536MHz a57:2016MHz) and although this is very safe for most devices some CPUs are in the lowest spot of the binning spectrum and can't handle O/C very well. In such a case use a kernel control app (see the OP for references) to limit the maximum CPU frequencies, play with them until you find stable values for your device.​
What are the best settings for battery life/performance/whatever?
That's hard to tell as every user is different. You can find some basic profiles in the OP you can use as a starting point. Notice the differences between then and build you own.​
Why do some BIG cluster settings display N/A?
Why can't I change some settings on the BIG cluster?
If you get N/A or weird values when trying to change settings on BIG cores it means both are offline ("hotunplugged"). To work around this select "performance" governor, make your desired changes and then select you previous governor. You can also disable hotplug, make the changes, and enable hotplug again.​
DoubleTap2Wake doesn't work sometimes. How can I get it to work all the time?
When device goes into suspend mode first tap is often missed (I suspect this is caused by Moto Sensor Hub). If you tap three times and get the timing right you'll probably make it work most of the time. As an alternative, Sweep2Wake works almost all the time​
DT2W/S2W is acting weird or disabling itself
Make sure Moto Display is disabled. Open the Moto app, click on the stars in the top right corner, select Display and set to Off​
Can I use this kernel in ROM X/Y/Z?
This is for stock ROM MPH24.49-18 only. It'll probably work on any stock based ROM but not guaranteed.​
I use stock ROM but WiFi is not working
Due to some internal changes all modules had to be recompiled (WiFi included). In order to expose the new modules without modifying the system partition I had to implement a hack that requires root. Make sure you're properly rooted.​
What's the deal with ZRAM?
ZRAM is a technique to increase memory available to the apps at the expense of CPU time. Memory space from apps not being used is compressed into a memory swap area and uncompressed on the fly whenever needed. As you can imagine this compress/uncompress process burns CPU cycles, potentially leading to worse battery life, lag and higher temperatures. Since this device comes with 3GB I can only think of one scenario where ZRAM can be beneficial: heavy multitaskers who care more about apps not reloading than battery life. For the rest of users enabling ZRAM doesn't make much sense in my opinion, and that's why it's disabled by default.
UPDATE: v0.10 includes an updated ZRAM driver that improves performance significantly. So much so that the benefits seem to outweigh the costs and it's been enabled by default.​
What's the deal with KSM/UKSM?
Since many apps use the same libraries/resources it's very likely that at any given time there are multiple copies of the same data on different memory locations. KSM/UKSM tries to take advantage of that fact by scanning memory pages periodically and consolidating that multiple copies into a single shared copy. Much as like ZRAM it can have a good effect on heavy multitasking performance but at the expense of CPU cycles, and thus it's only recommended in the same scenario as ZRAM. Disabled by default​
Ok, so do I enable ZRAM/KSM/both/neither?
I honestly think most users will be better off not using neither. If you feel like you need extra RAM I'd try KSM first, then ZRAM. Using both at the same time is overkill unless you are an ultra multitasker, in which case you should probably get a 4GB device anyway ​
How do I get WiFi on 6.0.1?
It's a modem version mismatch issue, you need to downgrade the modem. See this post.​
Love to see more options! Thanks for sharing!!
Yeah this will be very good
Only One think that would be awesome try to implement the double tap to wake
Awesome! More custom kernels are always welcome are there many governors to choose from?
krohme said:
Awesome! More custom kernels are always welcome are there many governors to choose from?
Click to expand...
Click to collapse
Right now only the stock governors are available but I plan on adding a few
Can't we install it through twrp???
guraki said:
Can't we install it through twrp???
Click to expand...
Click to collapse
Yes, TWRP supports boot image flashing
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
guraki said:
I lost root after the kernel install....
---------- Post added at 03:22 PM ---------- Previous post was at 02:39 PM ----------
Seems to work fine!!! Any battery life expectations?
Click to expand...
Click to collapse
As I said on the OP my main goal is performance/smoothness, so I haven't specifically sought better battery life. That being said I'm getting about the same battery life as stock with better performance, that works for me.
Nevertheless, I'm very interested on how it works for other configurations and usage patterns.
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Is there any chance for a CM13 version and a DT2W fork from elementalx?
sir-harlekin said:
Is there any chance for a CM13 version and a DT2W fork from elementalx?
Click to expand...
Click to collapse
DT2W maybe, CM13 unlikely.
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
cerobles1 said:
@dirtyhank could you please add hotplugging to the kernel? Preferably one that allows you to select how many cores to run as well as which ones, as in run the two A57s and turn off the four A53s. Currently I'm running two A53s at 1.2Ghz and the remaining four cores are always off.
The screenshot is from Lolipop, and it is the only reason why I havent upgraded to MM. Turning off cores definitely makes a difference on battery life.
Also, if possible, adding a lower speed to the min speed. Will gladly test anything you thow my way. Thanks in advance.
Click to expand...
Click to collapse
What kernel are you using on LP?
patt2k said:
very nice thank you! slowly slowly we getting more and more things. Just making sure this is only for stock based rom/s Thanks!!
Click to expand...
Click to collapse
Yep, stock ROM, I'll edit the OP
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Awesome gonna flash this soon
I hope a port for CM based roms might be possible in the future! Thanks for sharing your work and replying so quickly!
dirtyhank said:
Yep, stock ROM, I'll edit the OP
Click to expand...
Click to collapse
Getting bootloop on TruePure rom 2.4. Anything I can try to avoid bootloops?

[10][KERNEL][06.12.2019] Kirisakura-Q 10.1.0 [3.18.140]

Hey guys and girls,
So straight to Topic.
The Kirisakura-Harmony is based on the latest google sources. On top of it are the latest EAS patches directly from Linaro. It also includes a few Audio Patches from CAF. Power Gating is disabled so you can use this kernel with @chdloc ´s excellent, I am wholeheartedly recommending it, biquads mod. If you grasp what you can do with it, you will never need an equalizer in your life again. So this is also an audio oriented kernel.
As I said I am still learning. The Feature list Comes here:
- Based on the latest Sources from Google for Android Q/10
- Upstreamed to 3.18.140
- Schedutil included again
- GPU Adrenoboost
- Wake gestures from flar2
- KCAL from savoca and ported by tbalden
- HBM enabled and accessible for the user
- Backlight dimmer is added
- FIOPS, SIO and MAPLE I/O Scheduler included
- Updated BFQ I/O Scheduler
- I managed to merge some Audio Patches from CAF, which should enhance Audio
- Power Gating disabled so you can use @chdloc ´s biquad mod
- Vibration Control
- Sound Control
- sdcardfs
- Sched and latest Schedutil (with latest upstream patches is also default)
- Updated EAS Machinery
- USB fast charge
Instructions for Android P
How to flash the Kernel:
1. Download the kernel.zip to your device
1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img, re-root with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!
You only need to do either 2a OR 2b
2a. Boot to TWRP and flash my kernel.zip. Root will be preserved!
or
2b. Flash kernel zip in EX Kernel Manager or FKM app. Root will be preserved!
3. After booting up make sure to set schedutil as default CPU governor (check apply on reboot option) to fully profit from the kernel´s changes!
4. Enjoy your device now!
Android 10 Download:
Download:
https://www.androidfilehost.com/?w=files&flid=300707
Download for PIE
Download:
https://www.androidfilehost.com/?w=files&flid=198589
Oreo Kernel Stuff
Download:
https://www.androidfilehost.com/?w=files&flid=152851
Changelog-Mainline:
0.1
- Initial release
0.2
-added safetynet patch
0.3
- Add GPU OC
- Update wake gestures
- Many new Performance Patches
- Updated dm verity
0.4_1
- More performance tweaks
- Made my kernel a flashable zip <-- I hope you guys are satisfied now
0.5
- add Slimbus OC <-- Increases Audio Quality
- Various crypto Patches
- More Patches that may help with Performance
- added wakelock Patches
- added a few alsa patches
0.6
- added soundcontrol
- disabled some logging stuff
- some more tweaks
0.7
-enabled few other tcp congestion algorithms <-- westwood is now default
- set default iosched to deadline as it works best with eas kernels if we trust the documentation
0.8
- added sdcardfs <-- take a look at the FAQ on how to enable it
- added in two new governors, alucardsched and darknesssched
- merged in some other commits. take a look at my github
0.9
- when deactivating kernel side dt2w and s2w, one is still able to use the stock google dt2w implementation
- code updates for both alucardsched and darknesssched <--- if anyone has time please test and report back how they work with 0.9
- added option for GPU boost <--- disabled by default, take a look at the faq please
- update to cpuidle <--- deep sleep is improved for me
- the simple_ondemand GPU governor is now usable and does not crash upon choosing
- fix an issue were tasks were not given properly to cpusets
- a few other changes, please take a look at my github
0.9_5
- fixed a typo which would the user not choose msm-adreno-tz GPU governor after choosing simple_ondemand <--- also have no worries I implemented a patch that will let you choose only GPU governors that will not crash
- a few more commits for schedutil and sdcardfs
0.10
- all security patches
- some patches that may help with efficiency
- many patches to schedutil,sched, and walt (many)
- few patches to sdcardfs
- tuned WALT values a bit
- other things I forgot, check my github
0.11
- I added a few additional commits to adrenoboost, it is now more conservative and suited for daily use. I run it on moderate boost and don´t notice any battery drain
- performance of the fingerprint reader may be improved <-- I need feedback from you, don´t use it myself
- update to slimbus OC
- a few patches that may help with stability and performance in general
- many patches to schedutil , it is the recommended governor now in conjunction with nohint.zip
- introduced a new governor, called helix_schedutil based on schedutil; thanks to @ZeroInfinity
I had a little play with it, if anyone finds better values I can include them.
- for more details check my github
- please check this post prior to flashing: https://forum.xda-developers.com/showpost.php?p=71415045&postcount=210
Changelog for 0.12:
- added blu active governor
- updates to helix_schedutil, alucardsched and darknesssched
- updates to sdcardfs
- maybe some performance improvements <-- please give feedback
- other things look at my github
- made a non oc version
- please check this post prior to flashing: https://forum.xda-developers.com/showpost.php?p=71502126&postcount=241
Changelog for 0.13
- Implemented CPU_Input_Boost by sultanxda <--- disabled by default, if you experience scrolling lag activate it in EXKM, CPU Tab
- Implemented a new sched governor called energy-dcfc (Dynamic Capacity and Frequency Capping), more information in second and third post
- Some adjustements for schedutil
- Updated helix_schedutil
- some improvements to alucardsched and darknesssched
- adjusted WALT to final parameters
- bumped up and improved BFQ, thanks @DespairFactor <-- new default
- introduced Maple I/O scheduler
- updated sdcardfs
- please check this post prior to flashing: https://forum.xda-developers.com/showpost.php?p=71502126&postcount=241
Changelog for 0.14
- Added April Security Patches
- Updates to Schedutil, Sched, energy-dcfc
- Introduced a new EAS governor called pwrutil <-- more information on the second post
- Some upstream patches
- some more crypto patches
- updated wakelock blockers
- for other things look at my github
- please check this post prior to flashing: https://forum.xda-developers.com/showpost.php?p=71502126&postcount=241
Changelog for 0.16
- Linux Kernel Version is now 3.18.51
- Applied May security Patches
- many other little improvements and changes
Changelog-Rebase:
- Features EAS 1.2 Machinery
- May security update
- Linux version 3.18.53
- Includes all features from mainline except the EAS Governors (sched and schedutil are included) and CPU Boost.
- IO switcher
- some patches to schedutil
1.24
Updated sdcardfs
little performance tweak
updates to low power mode
1.28
- IO switcher
- some patches to schedutil
1.29
- performance tweak
1.32
- 3.18.55
- June Security Update
1.36
- updated sdcardfs
- EAS patch
- Linux Bump to 3.18.56
- ipv6, net and ext4 patches
1.40
- Linux Version now at 3.18.59
- July Security Patches
- updated sdcardfs
- little patch for sched
- boost now also ufs storage controller upon turning on the screen additionally to boost ddr bandwidth(even faster wakeup)
- extended recharge rate when battery is near full (aids longevity of our battery)
Changelog-Harmony:
4.00
https://forum.xda-developers.com/showpost.php?p=75835635&postcount=1105
5.01
https://forum.xda-developers.com/showpost.php?p=76106520&postcount=1129
6.00
https://forum.xda-developers.com/showpost.php?p=77515614&postcount=1166
6.01
https://forum.xda-developers.com/showpost.php?p=77533981&postcount=1178
6.02
https://forum.xda-developers.com/showpost.php?p=77588617&postcount=1180
6.04
https://forum.xda-developers.com/showpost.php?p=77758260&postcount=1188
6.05
https://forum.xda-developers.com/showpost.php?p=77776533&postcount=1189
6.06
https://forum.xda-developers.com/showpost.php?p=78125103&postcount=1198
6.07
https://forum.xda-developers.com/showpost.php?p=78342154&postcount=1209
7.00
https://forum.xda-developers.com/showpost.php?p=78916917&postcount=1243
7.01
https://forum.xda-developers.com/showpost.php?p=78968314&postcount=1251
8.10
https://forum.xda-developers.com/showpost.php?p=79506878&postcount=1287
10.0
https://forum.xda-developers.com/showpost.php?p=80581575&postcount=1301
10.1.0
https://forum.xda-developers.com/showpost.php?p=81119421&postcount=1311
FAQ:
Q: Which app do you recommend to apply changes to the kernel?
A: EX Kernel Manager from @flar2 is a great choice. He is constantly updating it.
Q: Which CPU governor I can choose freely and not hinder the EAS?
A: schedutil
Q: what is GPU boost and how should I choose the boost level?
A: I also implemented GPU Boost.
if you use the default GPU governor which is msm-adreno-tz you will have the option of GPU boost in EXKM. if you choose simple_ondemand not.
I think GPU Boost is not really needed on this phone as it raises GPU freqs aggressively enough for most tasks. So I leave it disabled at default.
It was originally introduced on the HTC 10, to counter an issue whereby the GPU failed to scale up aggressively enough, to run some not demanding games properly in 60fps locked. But there are some performance junkies (like me) who want to try such things.
So you can enable this setting and it has 3 profiles. Low, medium and high. It defines how aggressively the GPU gets scaled up.
I found GPU boost on low to be quite a good all day setting. Maybe a little bit more performance and not a too big hit on battery.
Medium and High are definitely more battery hungry and you should do this only for gaming or benchmarks.
Q: What is the difference of WALT and PELT and how does it affect me?
A: https://forum.xda-developers.com/showpost.php?p=71336204&postcount=179
Credits:
@Eliminater74 for bringing me into the game and the Inspiration
@flar2 for all his work
@tbalden
@savoca
@franciscofranco
@DespairFactor for the zip and the help
@Alucard24
@ZeroInfinity
@RenderBroken for helping me out
@dorimanx
@Sultanxda
if i forgot anyone just pm me and I will gladly add you
Source: https://github.com/freak07
Info Post
So this post will be dedicated to information about EAS in general.
Another amazing write up about alucardsched by a talented new dev @joshuous:
This is what I understand from tracing the Alucardsched code. I apologise if my understanding is incorrect.
Firstly, next frequency selection with Schedutil (very simple):
Code:
next_freq = 1.25 * Max_freq * current_util / max_util;
Now, here's a quick overview of one cycle of frequency selection in Alucardsched:
1. You have two key extra tunables: PUMP_INC_STEP and PUMP_DEC_STEP
2. Current utilisation here refers to the system's current demand. It is calculated using:
Code:
curr_util = (util * (100 + tunables->boost_perc)) / max_utilisation
The "util" is a value determined by the EAS scheduler.
3. Target load here refers to what processor is currently supplying. It is calculated using:
Code:
target_load = (current_freq * 100) / max_freq;
4. The key idea is to ensure that supply satisfies demand. That is, target load ≈ current load.
5. If target_load <= current_load (too little supply), then we want to increase frequencies to match the system’s load. For Alucardsched, frequency is increased by jumping up PUMP_INC_STEP number of steps in the OPP table. (By OPP table, I refer to the available frequencies that you can switch to)
6. If target_load > current_load (too much supply), then we want to decrease frequencies to match the system’s load. For Alucardsched, frequency is decreased by jumping down PUMP_DEC_STEP number of steps in the OPP table.
7. Do note that Alucardsched jumps several frequency steps, compared to Schedutil and Interactive which try to jump immediately to a calculated next frequency. In this way, Alucardsched doesn't care about the specific value of the next speed. It's like driving a car, and deciding to increase gears by several steps instead of deciding to jump immediately to a specific gear.
Extra Tunables
FREQ_RESPONSIVENESS
PUMP_INC_STEP_AT_MIN_FREQ
PUMP_DEC_STEP_AT_MIN_FREQ
Sometimes you want the "pumping" behaviour to behave differently at lower and higher frequencies. FREQ_RESPONSIVENESS can be seen as the mark that divides the low and high frequencies. If the current frequency is less than FREQ_RESPONSIVENESS, the number of frequency skips will be PUMP_INC_STEP_AT_MIN_FREQ and PUMP_DEC_STEP_AT_MIN_FREQ instead of the usual PUMP_INC_STEP and PUMP_DEC_STEP.
How is it used? If your frequency is low (lower than FREQ_RESPONSIVENESS) and your system demand is high, you ideally want to boost frequency speeds quickly. This is when PUMP_INC_STEP_AT_MIN_FREQ kicks in. PUMP_INC_STEP_AT_MIN_FREQ is usually (and should be) a larger value than PUMP_INC_STEP. When your frequency is high (higher than FREQ_RESPONSIVENESS) and your system demand is high, you don't want to be jumping so many steps up otherwise you will hit max frequencies too quickly (overkill). I'm pretty sure you can figure out how PUMP_DEC_STEP and PUMP_DEC_STEP_AT_MIN_FREQ works after having read this paragraph
Tldr;
Schedutil: simpler
Alucardsched: more tunable
Code:
IF CURRENT_FREQ < FREQ_RESPONSIVENESS:
PUMP_INC_STEP_AT_MIN_FREQ and PUMP_DEC_STEP_AT_MIN_FREQ are used
ELSE:
PUMP_INC_STEP and PUMP_DEC_STEP are used
PUMP_INC_STEP_AT_MIN_FREQ should be larger than PUMP_INC_STEP.
Note: There is however a potential problem (if you may call it one) with Alucardsched: just like Interactive you rely almost entirely on heuristics (trial and error) to control your frequency jumps instead of letting the system choose it for you, like in Schedutil. In that way, Alucardsched detracts from the goal of Schedutil to provide a simple frequency choosing mechanism. Without the proper tuning to meet your specific usage, it is likely that your frequencies will overshoot or undershoot past the needed load on Alucardsched (just like in Interactive). I would recommend that you play with the tunables to see what works best for you.
Here is information about energy-dcfc (Dynamic Capacity and Frequency Capping):
This new governor is based on schedutil. It uses target_load variables as thresholds to let the governor decide when to cap the frequencies for both clusters. These variables are called "load1_cap" and "load2_cap". Load1_cap corresponds to target_load1 meaning anything that is below target_load1, it caps using load1_cap. Anything above target_load1 and below target_load2, use load2_cap. Anything above target_load 2 and the maximum frequency will be used.
As a result of this behaviour, bit shift value must be set to 1. Anything higher than 1 and frequency scaling will be extremely slow. This is because the lower the maximum frequency, the lower the next frequency target is because the frequency range is being limited.
AS OF V009: The governor has now incorporated @Kyuubi10 's schedutil dynamic formula change. When load is below target_load1 it will use add bitshift in the formula. If load is above target_load1 but below target_load2, it won't use any bit shifting at all. If load is more than target_load2, it will subtract bitshift in the formula. This has proven to be very efficient with a touchboost-like behaviour when scrolling (Up to the capped frequency of this governor), then steady performance in between, and on heavy workloads it will not just stay on maximum frequency, in fact it will hover around 1.3-1.9GHz to ensure thermals are good as well as battery endurance.
This governor is aimed with maximum efficiency in mind. Do not expect outstanding performance with this governor.
helix_schedutil explained by @Kyuubi10
To understand Helix_schedutil you must first understand the original schedutil algorithm.
Here it is:
next_freq = maxfreq + (maxfreq >> bitshift) * util/maxcapacity
Explanation:
The most obvious difference of this algorithm is that it moves away from the idea of scaling frequencies up or down which were used in previous generations of governors.
Instead the aim of the above algorithm is to calculate the most appropriate frequency for the TOTAL CPU load.
NOTE: This is TOTAL load on CPU, not just load for the current frequency step as Interactive used to calculate with.
Now, for you numberphiles like myself that like understanding algorithms... Let's break it down:
"util/maxcapacity = Load."
The above creates a percentage value in decimal format (80% = 0.8) which represents the TOTAL load on CPU.
the algorithm now reads the following way:
next_freq = maxfreq + (maxfreq >> bitshift) * load
"maxfreq + (maxfreq >> bitshift)"
Essentially the aim of the above is to ensure that next_freq is always a little higher than the exact value needed to cover the load.
Bitshift: (paraphrasing @ZeroInfinity) in programming the ">>" mathematical function allows for shifting the binary values towards the direction of the arrows by "N" times.
In this case it is towards the right.
The relationship between "N" and the calculation in the "()" is as follows:
Bitshift = 1 = maxfreq/2
Bitshift = 2 = maxfreq/4
Bitshift = 3 = maxfreq/8
If the "+()" didn't exist in the algorithm, the chosen frequency would be exactly enough to cover the load.
If load is 0.6, aka 60%, all you need is a frequency = 60% of max frequency.
This would be bad since it doesn't leave any capacity/bandwidth leftover for inevitable bumps in load, nor space for EAS itself to run. Thus inevitably creating lags.
To keep a bit of free bandwidth you add "(maxfreq >> bitshift)".
Finally the problem I encountered, if bitshift = 2, then the result of the algorithm is that any load above 0.8 will result in a next_freq HIGHER than maxfreq. - This is your tipping point. As any load higher than 80% will wake up a new CPU.
Which means you have still about 20% of the CPU's max capacity being unused. Such a CPU is only 80% efficient.
Therefore by increasing bitshift to 3, the algorithm reads:
"maxfreq+(maxfreq/8)*load = next_freq"
This way you can use 89% of capacity before reaching max frequency of the CPU.
With bitshift=4 it reads:
"maxfreq+(maxfreq/16)*load = next_freq"
This allows you to use up to 94% total CPU load before reaching max frequency.
While this is great for improving efficiency at the higher frequencies, it doesn't leave enough bandwidth when calculating lower frequencies, and creates lag when load spikes at lower frequencies.
Update to the explanation:
After being inspired by the concept of @ZeroInfinity's new governor - Energy-DCFC, I decided to carry out a couple of tests on HTC 10 using variations of Helix_Schedutil.
The focus was stress-testing by increasing the current frequency load above 100%. (AKA Use up all of the bandwidth of the current frequency step.)
After the testing me and Zero worked on this new version of Helix_Schedutil.
The current behaviour of the governor is the following:
- Boost frequencies when load is below Target_Load1. (Boost can be increased by DECREASING bit_shift1 value.)
- Between Target_Loads there is no bit_shift at all. The governor just uses the following algorithm instead - (max_freq*util/max = next_freq)
- Loads higher than Target_Load2 will be THROTTLED. Bit_Shift2 here is subtracted rather than added. (Throttle effect can be increased by DECREASING bit_shift2 value.)
The result is that low freqs have spare bandwidth to avoid lags, middle frequencies leave no extra bandwidth at all, while higher frequencies are throttled to save battery.
Another focus of the governor update is to reduce overhead as much as possible. This results in a very responsive governor which isn't overly demanding on battery life.
Schedtune.boost values recommended for use with this governor:
Top_App: 5
Foreground: -50
Background: -50
Global: -50
Energy-DCFC is still recommended for those who prefer battery life over performance, but if you prefer greater performance then this governor can be used without making you feel guilty about wasting battery.
correction a misconception:
Some people describe tipping point as the load threshold which the governor uses to decide whether to ramp up or down.
While if you look into the behaviour of the governor it may appear that it behaves in such a way, it is technically incorrect.
As I mentioned previously this new algorithm moves away from the behaviour of legacy governor algorithms which focus on the current frequency load.
This governor does no ramping up or down.
It isn't even aware of the current frequency load, as it only knows the load relative to max capacity.
The misconception appears based on a property of the algorithm that results in a consistent load at any chosen frequency. This is a coincidental result of the algorithm, even though the algorithm is completely unaware of it.
Tipping point is in fact the load percentage at which the CPU reaches max frequency and any increase in load forces it to wake up a new core
here is some Information about pwrutil governor:
This new governor is based on schedutil.
A much simpler yet very effective governor based on schedutil. All this changes is the calculation to get the next frequency. Rather than using bit shift to calculate tipping point and what not, we don't use it at all. This is much much more efficient if you use my program called "schedutilCalculator" to calculate what the next frequency is. For example, a load of 25% with a max freq of 2150400 will get 500MHz as next frequency. A load of 50% will get 1GHz as next frequency. A load of 75% will get 1.5-1.6GHz as next frequency. A load of 100% will get 2.15GHz as next frequency. You can see the lower the load, the much lower the frequency selection will be, but the higher the load and the higher the frequency selection is. So it can go from a very low powered state with 50% load and under, to a high performance state from 75% load and above.
Includes a tunable called "utilboost" which is basically a load multiplier - it makes load higher than it is perceived by the governor, thus making next frequency selection higher. Remember utilisation does not equal load. The equation of calculating load is util / max capacity of a CPU (which should be 1024). So 512 / 1024 = 0.5 (50% load).
UTIL BOOST IS NOT MEANT TO BE USED WITH SCHEDTUNE.BOOST AT THE SAME TIME! EITHER USE ONE OR THE OTHER OR ELSE PERFORMANCE WILL BE OVERKILL AND BATTERY LIFE WILL DRAIN MUCH FASTER!!!
Util boost is supposed to be a replacement of schedtune.boost. schedtune.boost applies boosting to both clusters, whereas util boost allows boosting per-cluster so users can have much more control.
how to gather logs:
There are several apps that can do this process for you, Here is one: PlayStore: SysLog
And here is another: PlayStore: Andy Log (ROOT)
ramopps: is an oops/panic logger that writes its logs to RAM before the system
crashes. It works by logging oopses and panics in a circular buffer. Ramoops
needs a system with persistent RAM so that the content of that area can
survive after a restart.
logcat: the logoutput of the Android system
kernel log: (kmsg / dmesg): the kernel messages
Additionally there's the last_kmsg which is a dump of the kernel log until the last shutdown.
radio log: the log outpur ot your System / BB / RIL communication
4
ramopps:Some Documentation on Ramopps
Normal Logcat:
Radio Logcat:
Ramoops:
Via adb:
adb shell su -c cat /sys/fs/pstore/console-ramoops > kmsg.txt
Via terminal on phone:
su
cat /sys/fs/pstore/console-ramoops > /sdcard/kmsg.txt
Kernel Log:
Kernel Log:
adb shell su -c dmesg > dmesg.log
Last_Kmsg:NOTE:
New location of last_kmsg on Android 6.0 and above: /sys/fs/pstore/console-ramoops
adb shell su -c "cat /proc/last_kmsg" > last_kmsg.log
NOTES:
-v time will include timestamps in the logcats
-d will export the complete log.
If you want to save a continuous log you can remove the -d parameter - then you need to cancel the logging process via CTRL+C.
To export a continuous kernel log use adb shell su -c "cat /proc/kmsg" > dmesg.log (and cancel it via CTRL+C again).
PS: This Document was taked from another XDA Thread Called: [Reference] How to get useful logs
URL: http://forum.xda-developers.com/showthread.php?t=2185929
Also check this one out: [Tutorial] How To Logcat
I only Revived it a bit for ramopps.
I will update this more at a later time..
Excellent work my friend thanks for supporting the Pixel XL I hope you get lots of joy from your new hobby!
Will flash in the morning and see how it goes...
Most of those audio patches you backported seem to be interesting, specially the ones that are meant to reduce power comsumption. Will pick. Suggestion, you don't need to specify the slot in the fastboot command, just fastboot flash kernel kernel_binary
can you disable storage force-encryption?thanks!
Sent from my Pixel XL using XDA Labs
Are the safetynet patches implemented by any chance?
franciscofranco said:
Most of those audio patches you backported seem to be interesting, specially the ones that are meant to reduce power comsumption. Will pick. Suggestion, you don't need to specify the slot in the fastboot command, just fastboot flash kernel kernel_binary
Click to expand...
Click to collapse
When I did only fastboot flash, I ended up twice with a system that somehow didn’t know which boot slot to boot to.
Each reboot it would boot into the different boot slot. The only thing that resolved this was to flash the factory image from google.
Even specifying the boot slot via fastboot did not alter this behaviour.
Somewhere in the q & a section someone is describing the problem too. It occured the first time after using fastboot flash kernel command.
almightysiman said:
can you disable storage force-encryption?thanks!
Click to expand...
Click to collapse
I will look into it.
ghostENVY said:
Are the safetynet patches implemented by any chance?
Click to expand...
Click to collapse
No I didn’t implement them yet. I will look into it.
Let us know when you'll have a flashable zip for this! Sounds good!
Thanks for another kernel option!
Sent from my Pixel XL using XDA Labs
Freak07 said:
When I did only fastboot flash, I ended up twice with a system that somehow didn’t know which boot slot to boot to.
Each reboot it would boot into the different boot slot. The only thing that resolved this was to flash the factory image from google.
Even specifying the boot slot via fastboot did not alter this behaviour.
Somewhere in the q & a section someone is describing the problem too. It occured the first time after using fastboot flash kernel command.
Click to expand...
Click to collapse
Well, I've been using that command since day 1. I've flashed countless times, it never failed to boot once...
franciscofranco said:
Well, I've been using that command since day 1. I've flashed countless times, it never failed to boot once...
Click to expand...
Click to collapse
are you running stock rom? I believe you, if you say, you never had issues.
I ran into the issue I described earlier. It would Change Slots upon each reboot and nothing except flashing back stock Google Image fixes it.
new kernel 0.2 is available
I added safetynet patch and another commit that may help with Performance
Download is here or in the OP
https://www.androidfilehost.com/?fid=529152257862702410
It's great to see development for our beloved Pixel XL! I'll be checking this out. I thank you friend!
Freak07 said:
It also includes a few Audio Patches from CAF.
Click to expand...
Click to collapse
Anything related to aptX Bluetooth?
CZ Eddie said:
Anything related to aptX Bluetooth?
Click to expand...
Click to collapse
Don’t know. What are you searching for exactly?
Hey
I updated the kernel to 0.3
Main changes are:
- Add GPU OC to 652mhz like the performance edition of our soc
- Update wake gestures
- Many new Performance Patches
- Updated dm verity
Download is here:
https://www.androidfilehost.com/?fid=745425885120707916
Lots of sweet features and commits. Definitely keeping my eye on this kernel. :good:
Can you make it TWRP flashable please?
Sent from my Pixel XL using XDA Labs

Categories

Resources