[KERNEL][PRO] LuPuSv3 [CM9 BASED][LINARO][UPDATED-17-08-12][WiFi-FIXED] - Xperia Arc Android Development

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"
}
Built with Linaro
Has added init.d support
LuPuS-PRO-STOCK KERNEL
Hi I know I haven't updated this in a long time so going to change it. The problem was the wifi but finally I got it fixed with the help from FXP - Jerpelea
and of course my trusty tester DYMPY been trying to get wifi going on this the last week lol anyway done now
so what i'm going to do is just update this by the end of the week to add everything else in.
So here is whats added so far ------------
What Works --
Wifi - (flash modules)
Data
Camera
Panorama
Video Recording (720p now works)
Video Playback
Front Camera
Bluetooth
Everything Else that works on FXP
What doesn't work --
Anything that doesn't work on FXP
Added Governors --
brazillianwax
smartass
Smartassv2
Savagedzen
Smoothass
Scary
InteractiveX
Minmax
Userspace
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.
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
- Superbad
- a "superbad" super smooth rendition of a highly optimized "smartass" governor!
- Darkside
- a "slightly more agressive smart" optimized governor!
-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.
-Virtuous
Virtuous is a modded smartassV2 which gives even more battery time then smartassV2
Added Io-scheduler --
VR io-scheduler - 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.
- SIO- Simple IO-Scheduler
- Updated and Changed Zram (thanks to faux123)
- Updated and changed LZO compression and decompression = Double increase in performance
- Added Init.d Support
- Added tweaks on boot
-Overclocked to 2ghz--- Stable up to 1.9ghz, 2ghz may just reboot device, although I do not recommend O/C for long at high settings,
if you damage your phone I am not responsible
- Supports CIFS
- Built with LINARO
Added in v3
-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).
- New Governor - Intellidemand2
- BFQ IO-Scheduler
- Cleancache
- Increased Wifi-Signal
- Tweaks for smoother & quicker UI :victory:
- 0% Battery Patch - Thanks to Bazoocaze
I would like to say a big thanks to -
FXP - Sources/help with wifi (thanks Jerpelea)
Cyanogenmod - Sources
DooMLoRD - for patches and all the work he has done for Xpeeria's
xeozus
NobodyAtAll
Faux123
Erasmus
Leedroid
Jerpelea
Anyone missing please PM me
Dympy - For helping me test alot
Dexmorr - testing
tempest918 - For the New Logo
Please Click Thanks :good:
Sources here

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.
Thank you to members -
~ Frenchdroid
~ [user_99]
For your kind donations
Disclaimer
Code:
[COLOR="DarkOrchid"]#include[/COLOR] [COLOR="Magenta"][/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"]#if[/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 your [COLOR="DarkRed"]problems[/COLOR]
[COLOR="Magenta"]#endif[/COLOR][/COLOR]
LuPuSv3 Downloads
LuPuSv3-CM9-PRO.img
MD5 = AF25D5164DA13973EA465D25C6AF47B0
WiFi-FIX-LuPuSv3-PRO-CM9.zip
MD5 = 39BD6F753AF6E68D955E9504BA48E015
Some people are having boot problemw with v3 if you are try this
LuPuSv3.1-cm9.img
LuPuSv3.1-cm9-wifi-fix.zip
Also added CIFS support....
What is CIFS???
Server Message Block (SMB) or Common Internet File System (CIFS) are normally used to provide shared access to files on a network, mostly involving computers running MS Windows.
It allows you to conveniently mount/unmount your network accessible file resources and access the files transparently via your favourite Android app (playing music / videos, accessing documents etc.) Settings are stored on your SD card with permissions to write also to your SD card.
Instructions
- extract cifsfile.zip
- save cifs,ko file to your sdcard
- in terminal emulator
- cd sdcard
- su
- insmod cifs.ko
Not download CifsManager or similar app and configure it
- zRam is not enabled by default to enable it flash the wedgess-zram-enabler.zip in CWM
- If for whatever reason you want to disable Zram after you have flashed the .zip, just go to ect/init.d and delete 00zram
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:

Will try and report as soon as wifi works
Sent from nowhere

HI,
Is this kernel can be used with CM10. If not, can you post one that can be used with.
Thanks
Tried it, no bootsplash, don't work with CM10.

can we get a stock rom based lupus kernel with jimbo77's (arcknight) kernel's lcd voltage lowering, wifi voltage lowering tweaks, camera-memory lowering (among some other kernel tweaks he has on there) as well as KTG anzu kernel's 2d drawing and touchscreen drivers?
also, it seems that at low vfs values and low sampling rate, arcknight does random reboots ;; while ktg-anzu has aweful battery life. even during sleep. plus, i am able to run the ktg-anzu stable at lower voltages (825 for 122mhz and 1000 for 1024) than i am able to run the arcknight stably. ktg-anzu's kernel's memory usage, strangely, moves between 20mb and over 150mb --- it has very recently started staying over 130mb after happily working at about 20mb (at least when i'd check it it'd be at 20) for weeks.
arcknight and ktg both seem to have certain awesome aspects of them while neither of them is complete --- plus, they both seem dead now.
all arc users are now relying on you.

This kernel not working for me only blank screen and does nothing does not even go to recovery/ aroma by pressing either of the buttons
Sent from my Arc S using xda premium

If there's one thing I've learnt, it's that it's never lupus.

Yay finally als disabled! btw will this support undervolting?

mekayzer said:
HI,
Is this kernel can be used with CM10. If not, can you post one that can be used with.
Thanks
Tried it, no bootsplash, don't work with CM10.
Click to expand...
Click to collapse
No its only for CM9 as stated JB is to unstable at the moment
hootnath said:
can we get a stock rom based lupus kernel with jimbo77's (arcknight) kernel's lcd voltage lowering, wifi voltage lowering tweaks, camera-memory lowering (among some other kernel tweaks he has on there) as well as KTG anzu kernel's 2d drawing and touchscreen drivers?
also, it seems that at low vfs values and low sampling rate, arcknight does random reboots ;; while ktg-anzu has aweful battery life. even during sleep. plus, i am able to run the ktg-anzu stable at lower voltages (825 for 122mhz and 1000 for 1024) than i am able to run the arcknight stably. ktg-anzu's kernel's memory usage, strangely, moves between 20mb and over 150mb --- it has very recently started staying over 130mb after happily working at about 20mb (at least when i'd check it it'd be at 20) for weeks.
arcknight and ktg both seem to have certain awesome aspects of them while neither of them is complete --- plus, they both seem dead now.
all arc users are now relying on you.
Click to expand...
Click to collapse
I can see if I can get the stock kernel I have from the play working on the arc.had no problems with it on the play.I don't have an ARC so need you all to test it for me.
PAVNEET101 said:
This kernel not working for me only blank screen and does nothing does not even go to recovery/ aroma by pressing either of the buttons
Sent from my Arc S using xda premium
Click to expand...
Click to collapse
It 100% works in the ARC pro as I said I don't have an ARC so can't test
Phrenks said:
If there's one thing I've learnt, it's that it's never lupus.
Click to expand...
Click to collapse
Huh???
Sent from my Xperia Play

Hmm, seems like an interesting kernel, would love to try this one out on my Pro.
However, I only see an .img labeled ARC, so no image for Pro yet?
Dympy.

dympy said:
Hmm, seems like an interesting kernel, would love to try this one out on my Pro.
However, I only see an .img labeled ARC, so no image for Pro yet?
Dympy.
Click to expand...
Click to collapse
That one is for PRo buddy
Sent from my Xperia Play

Awesome!
Going to download, flash and report
Dympy.
EDIT:
Just flashed it, and there's some crazy sh*t happening here..
It seems CWM is simultaneously running with android itself..
Each time I press a hardware button my screen starts flickering between CWM and my Android screen.
It does work, except for wifi, it can't turn on for some reason.
Going to try wiping some stuff and see if it gets fixed.
EDIT2:
Nope, couldn't wipe a thing because I couldn't get into CWM.
Both the home key as the volume down key booted into Aroma, never used it but it was awesome!
Hope you can help, I'll dig up some logcats if I can and I'll retry when I get home, kinda need my phone for developing at work
EDIT3:
Took out the logcat where I tried turning WiFi on, see attachment.

dympy said:
Awesome!
Going to download, flash and report
Dympy.
EDIT:
Just flashed it, and there's some crazy sh*t happening here..
It seems CWM is simultaneously running with android itself..
Each time I press a hardware button my screen starts flickering between CWM and my Android screen.
It does work, except for wifi, it can't turn on for some reason.
Going to try wiping some stuff and see if it gets fixed.
EDIT2:
Nope, couldn't wipe a thing because I couldn't get into CWM.
Both the home key as the volume down key booted into Aroma, never used it but it was awesome!
Hope you can help, I'll dig up some logcats if I can and I'll retry when I get home, kinda need my phone for developing at work
Click to expand...
Click to collapse
Hhhmmmmm strange maybe CWM 6 doesn't work with the arc I'll switch to v5.yes log cats would be good .......anyone else having this problem??????
Sent from my Xperia Play

You say it's for the Arc, but when I asked if it would work for Pro, I asked there's only 1 download available in the OP and that one was labeled ARC, you replied yes.
I think this kernel isn't compile for the Pro, but only Arc specific.
It's all a bit confusing since the Pro doesn't have his own forum.
By the way, I added the first LogCat, for the WiFi bug, in the post you quoted.
Dympy.

dympy said:
You say it's for the Arc, but when I asked if it would work for Pro, I asked there's only 1 download available in the OP and that one was labeled ARC, you replied yes.
I think this kernel isn't compile for the Pro, but only Arc specific.
It's all a bit confusing since the Pro doesn't have his own forum.
By the way, I added the first LogCat, for the WiFi bug, in the post you quoted.
Dympy.
Click to expand...
Click to collapse
Sorry ye the person who was testing was using ARC PRO so that's what it works for as of now.will it still not boot with CWM 6 it worked for the person testing it?? That's what I thought the log at was for. Wifi won't work yet because of the modules. I will try fix this once I get home.
Sent from my Xperia Play

Okay, I think I got a bit confused now.
The phone we're talking about is the PRO, since xperiap (I believe) tested it, it must work on my phone.
Anyway, Is there something I have to wipe after flashing this kernel, because I wiped absolutely nothing the first time I flashed it.
And yes, CWM worked the first time, it booted into it when I just flashed the Kernel.
Dympy.

dympy said:
Okay, I think I got a bit confused now.
The phone we're talking about is the PRO, since xperiap (I believe) tested it, it must work on my phone.
Anyway, Is there something I have to wipe after flashing this kernel, because I wiped absolutely nothing the first time I flashed it.
And yes, CWM worked the first time, it booted into it when I just flashed the Kernel.
Dympy.
Click to expand...
Click to collapse
Ok so it booted into CWM while holding the the home key?? Ye xperiap is using the ARC-PRO and he said he's having no problems it boots everytime for him, I'm not sure if he wiped anything but I never usually wipe anything when flashing kernels so don't think that could be the problem, so it just wont go past the boot screen for you, correct??

wedgess said:
Ok so it booted into CWM while holding the the home key?? Ye xperiap is using the ARC-PRO and he said he's having no problems it boots everytime for him, I'm not sure if he wiped anything but I never usually wipe anything when flashing kernels so don't think that could be the problem, so it just wont go past the boot screen for you, correct??
Click to expand...
Click to collapse
O.K mate you are confused and your confusion is confusing others.ARC and Pro are two diffrent Phones.There is no ARC-PRO.there is:
Xperia Arc
Xperia Pro
This kernel is for pro.

manasgirdhar said:
O.K mate you are confused and your confusion is confusing others.ARC and Pro are two diffrent Phones.There is no ARC-PRO.there is:
Xperia Arc
Xperia Pro
This kernel is for pro.
Click to expand...
Click to collapse
^^
Sent from my Xperia Play

Thank you.
That was indeed the part confusing me because the dev kept calling it the Arc Pro.
And no, both home and volume down button boots into Aroma, not CWM.
The first time I booted it went into CWM automatically.
After that it booted, but I had CWM flashing through my normal android screen each time I pressed a button which was also linked to a CWM function (vol up/down, home, back, etc.).
But like I said, almost home and I'm going to do a retry then
Hope you get wifi modules fixed soon.
Dympy.
Sent from my Pro using xda premium

Related

[Kernel][Sense] 2.6.35.14 - Gingertiny-v2 (Updated 04/25/13)

Changelog
Notes on the new interactive governor below.
04/25/13
interactive governor updates from Tinykernel (Galaxy Nexus)
new sysfs path for fast charge - still compatible with incredicontrol
additional TCP congestion scheduler options with a default scheduler of cubic
10/04/12
New interactive governor backported from Incredikernel GB. Smartassv2 still default
Removed rarely used CPU governors
08/10/12
added mamarley's fastcharge USB patch to enable fastcharge without needing to unplug the charger
enabled KSM (Kernel Samepage Merging) - no change needed to make it active
03/11/12
Added Lazy governor - credit to Ezekeel
Enabled Smartass and Conservative governors
02/25/12
Disabled smartass,interactive,conservative governors
Disabled CFQ and BFQ governors as they were found not to be a efficient on flash devices
New I/O scheduler - SIO
New CPU governor - lagfree
smartassV2 is default governor again
Tweaked deadline scheduler for performance
Applied different zram patch, should be more stable, and removed memory tweaks in zram script (have to disable/enable to reset)
12/31/11
Patch kernel to 2.6.35.14
Tweak intellidemand and interactiveX governors for battery life
Ext4 patch for performance
Add ZRAM and swap support and add script to toggle ZRAM - see bottom of OP for more info
12/25/11
Increase min and max voltages by 25 for all non-OC frequencies
Added faux123′s intellidemand governor (thanks faux123!) - similar to ondemand but with screen off
Added imoseyon’s interactiveX governor (thanks imoseyon!) - interactive with screen off
12/01/11
Revert config setting that was causing freezing issues
Allow overvolting up to 1375 for more stability in overclocking
Revert default smartassv2 settings back to those of pre-11/6 kernel
Fix permissions on sysfs which were causing force closes in some apps
Use new ondemand,performance, and conservative governors
11/19/11
Tweak ondemand governor
Interactive governor fix
Update BFQ to v3-r1
Add and enable Tiny Preempt RCU (should perform even better than Tiny RCU)
11/10/11
Adjust smartassv2 scaling (see github for details)
Fix touchscreen issue that occurs on some devices
config: set tiny rcu (lower memory footprint)
add 1152000 and 1190400 CPU frequencies - only try if you're adventurous
various behind-the scenes fixes
11/06/11
Add interactive governor
Add smartass governor
Increase smartassv2 ideal wake frequency to 998Mhz - should help performance (if you don't like, underclock to 768 - this may change in a future release)
Add BFQ I/O Scheduler
HAVS+Sysfs interface (use Incredicontrol or boot scripts - see incredikernel.com and incredikernel thread for more information)
Fixed wifi not starting on certain ROMs such as McTwist - hopefully
11/02/11
Added unified panel driver from incredikernel and gingertiny-v1 for better responsiveness
Added msm_vibrator from gingertiny-v1 for smoother haptic feedback with smartass
Enabled TUN VPN support
10/31/11
Features:
Rebased on HTC official Incredible gingerbread .13 kernel
Audio Boost (Thanks Chad0989 for letting me use your source for this)
USB Fast Charging (Thanks Chad0989 for letting me use your source for this)
compressed kernel further for better support with boot manager
support for 128Mhz as well as overclock up to 1113
3/5 point multitouch support on supported devices
lowered wifi voltage
OC up to 1.113Ghz
Built in modules for cifs, smartassv2, conservative, ext4, ntfs (read only)
HTC's perflock removed
Ext4 driver used to mount ext2/3 filesystems (default in cyanogenmod and incredikernel)
Enabled swap support (need app like swapper from market to utilize)
SD Card and EMMC mount should work properly on all Sense ROMs now.
incorporated some tweaks from incredikernel
support for wifi-n (2.4ghz only - hardware limitation)
Audio Boost and USB fast charging are disabled by default in this version (I don't like audio boost). You can enable audio boost in the same way you enable USB fast charge.
10/23/11
Ext4 driver used to mount ext2/3 filesystems (default in cyanogenmod and incredikernel)
Updated to new OJ driver from Cyanogenmod kernel
[*]Sysfs interface for SVS (can now use incredicontrol) Not working properly
10/15/11
Fixed G-sensor issue (calibration, 3d-home screen, auto-rotate should work now)
10/08/11
Adjusted smartassV2 parameters for better performance
10/05/11
Set smatassV2 as default governor
incorporated some tweaks from incredikernel
added support for wifi-n (2.4ghz only - hardware limitation)
09/29/11
Added smartassV2 (erasmux)
09/20/11
Tweaked smartass governor to resolve reboot issues reported with using smartass (please let me know - it seems better for me so far)
Enabled swap support (need app like swapper from market to utilize)
Enabled compcache support (if ROM has uitility installed I can work on a script, currently I can't get the utility to work)
09/01/11
set max speed to 998 as phone would overclock at boot regardless of setcpu/overclocking app's setting which caused bootloops for phones that couldn't handle overclocking (Thanks Chad for the tip!)
08/31/11
Initial Release
Audio Boost (Thanks Chad0989 for letting me use your source for this)
USB Fast Charging (Thanks Chad0989 for letting me use your source for this)
compressed kernel further for better support with boot manager
support for 128Mhz as well as overclock up to 1113
3/5 point multitouch support on supported devices
lowered wifi voltage
OC up to 1.113Ghz
Built in modules for cifs, smartass, tun, conservative, powersave, ext4
HTC's perflock removed
Bootup frequency increased to 998
Known issues:
Beats will not work. This is not a specific issue with this kernel but rather that the support is not built into the stock kernel. It worked in the port but I'm not sure what needs to be changed.
Incredicontrol force closes when trying to open the HAVS tab. This only seems to happen at boot and clears up. Since it clears up on it's own, I don't think it's a kernel issue though but I'm leaving it on here so people are aware.
*Disclaimer*
Please do not report bugs if you overclock or undervolt/overvolt differently than what is set by default. It adds too many variables. Set CPU max back to 998 and report a bug then if it doesn't go away after that.
I am not supporting the older .10 kernels at this time though if you decide to still use it I may need your assistance to get Beats audio working.
*Note*
1. Just because it's been asked before about what ROMs this kernel supports, this kernel does not need to be built to support any particular ROM but is confirmed to be working fine on many of the most popular Gingerbread Sense ROM by multiple users and several leading devs. If it does not work on your ROM let the dev know first in case it's a known issue.
2. Smartass (v1 and v2) has a built in min speed of 245 and will go to the set min speed only when the screen is off. Due to the nature of the governor, don't use a screen off profile with Smartass. It has been reported to cause issues. If you want a screen off profile use a different governor.
OC voltages are set to the same as 998 Mhz. Sense is a tricky animal when it comes to voltage adjustments. I had about 10x the issues with undervolting on sense froyo as on aosp, but maybe it's because that kernel was undervolted more.
*Important*
If you get random reboots or freezes on the new kernels (10/31 or 11/2), I will need the logs of that:
If it's a reboot grab the file /proc/last_kmsg using adb or root explorer. For adb setup please do a search on xda or the internet.
It would be adb pull /proc/last_kmsg for the adb command.
For root explorer just copy to the sdcard. It's a text file so you can post it online and post the link here or attach to your post when you report the issue.
If it is a freeze try to use logcat and output to a file when you're trying to reproduce it. Google logcat usage if needed. Also grab the last_kmsg after rebooting.
Release kernel found at
incredikernel.com
Update: 11/15/12 - I've added a mirror for my files on goo.
http://goo.im/devs/tiny4579/inc/kernels
Source Code(Dev Only, not flashable)
Github.com Kernel Source
All releases are built from the master branch.
The config for the kernel is in arch/arm/configs/incrediblec_defconfig.
I use the GCC 4.4.3 toolchain for this kernel due to GCC 4.6 causing build issues.
Below is a link to the original tiny-gingersense source which is a hybrid kernel running off code released for the Evo Sense kernel as well as some code from the Froyo Incredible sense kernel. This one uses the master branch as well and the same config filename and toolchain as v2.
Original tiny-gingersense kernel source
Frequently Asked Questions:
Some key differences between smartass and smartassv2 so users can decide which they prefer and learn a bit more about the differences:
Smartass
1. Screen off profile built in maxed at 384mhz.
2. Wakeup frequency is 998mhz.
3. Min screen on is 245mhz.
4. Improved by Chad to run better on our devices.
5. Purely load based, no ideal value.
Smartassv2
1. This is the same exact governor in Erasmux's Nexus One kernel (github.com/erasmux/n1-kernel)
2. Ideal wake frequency is 768 (also default that can be changed).
3. Screen on min is actually 128mhz).
4. No screen off profile.
5. Ideal sleep frequency 245mhz.
6. Improved upon from erasmux's version, not Chad's.
Basically the smartassv2 ideal wake frequency allows the phone to favor a certain speed to attempt to save battery life. It can still go above ideal wake and below ideal sleep so there's no caps on max and min while awake or sleep.
Some tips/info on various governors:
Smartass/smartassv2/interactive:
Use 128 min so the governor can scale as it needs to. Max speed I'd recommend at least 768Mhz.
Ondemand:
Try 128 min and if it lags use 245 min. Max speed I'd recommend at least 768Mhz.
Performance:
Only recommended for benchmarks but speed will always run at max.
InteractiveX:
Same as interactive except it has an auto screen off set to the min. Ideal with 245 min in setcpu but try 128 for battery life but it you have wake lag then set to 245.
Intellidemand:
Based on ondemand with a built in screen off. Any speed settings should be fine.
Interactive:
Some new features with this one. Starting with 10/4/12 release I am using the interactive kernel from Google which features a new kernel option called input_boost.
It is off by default but can be enabled by writing a 1 to /sys/devices/system/cpu/cpufreq/interactive/input_boost. Also there is another parameter for interactive called hispeed_freq in the same location. The hispeed_freq is where the governor jumps to first. Hispeed_freq by default is 614400 to help save battery. In the older interactive governor there was a maxspeed freq which meant the governor was a bit jumpier to the max speed. This should be a good blend of performance and battery.
ZRAM, what is it and how to I add it? (starting officially with 12/31/11)
If you are familiar with swap space in linux or virtual memory in Windows it is a similar concept. Except instead of using the hard drive as swap space it compresses swap space in RAM for faster access times than conventional swap. This will also wear out our storage memory less than typical swapping.
Enable ZRAM is simple thanks to a script built by imoseyon which is provided in the kernel zip file. To enable, use adb shell or download a terminal app and run zram enable. This will persist across reboots (if init.d is setup in your ROM) so if you don't want it anymore run zram disable and it will remove the bootscript and deactivate it.
You need to have root privileges to enable/disable zram. Run the su command in terminal emulator to request root.
Way to go! But I bet this was a headache to put together.
Let me know if you need a beta tester and the slots haven't filled up.
godsmacked4653 said:
Way to go! But I bet this was a headache to put together.
Let me know if you need a beta tester and the slots haven't filled up.
Click to expand...
Click to collapse
Check your PM.
Is this the beginning of a whole slew of custom kernels for the inc ?
How is the battery life on this?
i can test if needed
Exciting stuff...
any idea or have you looked at how difficult it would be to enable 5 pt multi touch in the future? or GPU+?
Hit me up... I'd love to test.
Love to test. Would begging help. Lol
Sent from my ADR6300 using Tapatalk
Ok, got the 5 testers I want. Actually I found 6 so I'm good for now.
tiny4579 said:
Hi all!
Good news! I have successfully initially ported the HTC Incredible kernel to gingersense using the Evo gingerbread source as a base and pulling from the Inc's froyo source code. I have spent significant time over the past few weekends trying to get this work and I have something usable finally. (I never ported a kernel before but am satisfied with what I have here).
Thanks Chad for inspiring me to do this port and giving me pointers along the way!
What works:
1. 3g+wifi
2. all modules from modules thread are built in+cifs added as well (perflock_disable is not needed on this kernel)
3. camera - initially had trouble, it wouldn't boot with camera enabled. 720p video SHOULD work as well
4. artifacting issues should be resolved
5. overclock works (1.13Ghz)
I would like to have some testers prior to releasing it as open beta. I want 4 additional testers, have 1 already. The first 4 to volunteer to test (via PM or this thread) will get a PM with a link to test the kernel. It will flash like any other kernel. I would like to post tomorrow night so please give feedback.
Known issues:
May be overheating issues. Though I cannot confirm issue. Battery temp is fine for me.
It is a port. Not everything will necessarily work 100%.
Haptic feedback and vibration are currently broken. Will look into it.
Github.com Kernel Source
Click to expand...
Click to collapse
try changing the inc-kepad.kl to incrediblec-keypad.kl in the /usr folder of the rom
Damn...
Sent from my ADR6300 using xda premium
And amazing work man!!
runs nice so far...
i do miss haptic
JoelZ9614 said:
try changing the inc-kepad.kl to incrediblec-keypad.kl in the /usr folder of the rom
Click to expand...
Click to collapse
Tried it but no go. Thanks for trying to assist me though.
Checked up on GPU+. It is not needed as the changes needed to implement it have already been done in the stock HTC kernel.
5-point multitouch will be tricky as my panel has never worked with more than 2. I remember Chad trying to get it to work for everyone but it was tricky even for him. I think certain phones will just not work with it. I can see if I can at least enable it and have others test. If you're going to test, make sure that it works currently on say a Froyo Sense ROM or your AOSP ROM of choice first.
Going to bed so no more requests tonight.
Ran through some quick tests and everything looks to be working, and working well. I'm running godsmacked's senseless 2.0 with lp+. Gps locks on quick. Camera, gallery, etc all good. Overclocking stable so far, and definitely makes a notable difference. I will do more in depth testing tomorrow. Thanks for the breakthrough!
baboonsRus said:
Ran through some quick tests and everything looks to be working, and working well. I'm running godsmacked's senseless 2.0 with lp+. Gps locks on quick. Camera, gallery, etc all good. Overclocking stable so far, and definitely makes a notable difference. I will do more in depth testing tomorrow. Thanks for the breakthrough!
Click to expand...
Click to collapse
Is your haptic feedback working with the kernel?
love to be a tester too.
Great job Tiny!! This had to be very difficult to port. Your work is much appreciated.
Tiny, I PMd you about the vibrator, should be an easy fix.
And I would also like to commend tiny for doing the work on this. It has lifted a bit of a burden off of my shoulders since I simply didn't have the time to put work into it myself. He's quite adept and problem solving and was able to continue when he ran into a problem with just a little bit of guidance. I trust that he will put out a good kernel.

[KERNEL][AOSP] Incredikernel (Chad+Tiny) - 11/30/2013

Current Release: 12/20/2012(JB)/10/03/2012(GB+ICS)
Important, Please read: There are now two kernel versions starting with 8/10/2012 release, one for GB+limited ICS(no HWA) support and another for the ICS branch with HWA. Changes will be loggged separately for each kernel type. If you see no changelogs specifically for that type, then there's no release made. For example, 8/10/12 for GB is a continuation of the 3/21 release with none of the post-3/21 kernel ICS changes made.
Update 9/21/12: As of 9/21/12, jellybean is officially supported with the JB specific kernels.
First of all, I started this thread to make commenting and tracking easier for the incredikernel releases following Chad's latest release (8/15/2011).
I also wanted to make a distinction between Chad's initial kernels and the ones I've updated since that release and this is one way to do it. Initially I didn't want to do that but now I regretted not splitting sooner.
If you want the changelog for anything prior to my first kernel please refer to:
Chad's Incredikernel thread
Changelog:
11/30/2013 JB 4.3
Android 4.3 support
synced with updates from Android 4.3 Evervolv kernel
04/25/2013 ICS Sense+JB 4.2
dynamic fsync control
WiFi driver updates
Interactive governor updates - see Tinykernel
Entropy Tweaks
Netfilter updates
New sysfs location for fast charge for broader app compatibility - still compatible with latest incredicontrol
FUSE filesystem support
12/20/2012 JB 4.2 ONLY
add back governors that were removed in 12/15
12/15/2012 JB 4.2 ONLY
enabled UHID support
updated msm_fb for 4.2
12/11/2012 JB ONLY
cpufreq: enable overclocking of 1.15Ghz and 1.19Ghz
numerous interactive and ondemand governor tweaks
cpufreq: send uevent when governor changes
ondemand: boost pulse for JB's powerHAL
10/11/2012 JB ONLY
defconfig: several config changes to fix data usage not working
10/06/2012 JB ONLY
defconfig: enable conservative governor by request
10/03/2012 ICS+JB+GB
defconfig: remove rarely used governors and set max frequency to preventing booting higher than 998mhz
lower default hispeed_freq to 614Mhz
cpufreq: interactive: always limit initial speed bump to hispeed_freq
09/21/2012 ICS+JB+GB
ALL: New Interactive governor
ALL: Built with GCC 4.6 toolchain from Google
GB: interactive governor tweaked for battery
ICS+JB: interactive governor tweaked for butter
JB: genlock patched for JB support
JB: new wifi driver for compatibility with JB ROMs
08/11/2012 ICS+GB
KSM wasn't enabled as it should have been in the last build - fixed that - also nothing needs to be done to enable it on GB as it's on by default
08/10/2012 ICS ONLY
fixed data usage features for ICS
added mamarley's fastcharge USB patch to enable fastcharge without needing to unplug the charger
enabled KSM (Kernel Samepage Merging) - still need to enable in CM settings
08/10/2012 ICS+GB
added mamarley's fastcharge USB patch to enable fastcharge without needing to unplug the charger
07/07/2012 ICS ONLY
Merged in multiple driver updates to support HWA (chad0989)
Updated adreno kernel drivers to latest
added xtqta_guid - for ICS' data usage feature, also seems to have resolved stability issues
Added lazy CPU governor
Added back intellidemand
03/21/2012 ICS+GB
Added lazy CPU governor
02/26/2012 ICS+GB
Smartassv2 default governor for sure - doesn't override ramdisk settings though
new governor lagfree - balance between ondemand and interactive
new I/O scheduler SIO
tweaked deadline for better performance
removed CFQ/BFQ schedulers and smartass, conservative, and interactive govenors (still have interactiveX and smartassv2)
01/03/2012 ICS+GB
Tweak intellidemand and interactiveX governors for battery life
Add ZRAM and swap support and add script to toggle ZRAM - see bottom of OP for more info
SmartassV2 default governor again
12/26/2011 ICS+GB
Added faux123's intellidemand governor (thanks faux123!)
Added imoseyon's interactiveX governor (thanks imoseyon!)
Works on GB and ICS currently
interactiveX may not play nicely with ICS so intellidemand is default
Conservative is disabled, let me know if you need it back
12/08/2011 (Chad) ICS+GB
Added ICS support (limited)
11/27/2011 GB
Use ondemand, performance, and conservative governors from the Android Linux 3.0 kernel
Set minimum voltage back to 800 as the voltages will not go below 800 anyway. Anything lower is placebo effect. This is a hardware limitation.
11/14/2011 GB
Update OJ driver
BT fix for newer CM nightlies
WIFI module updates
Update and re-add BFQ scheduler as well as disable deadline
Ondemand is back
Fixes/Tweaks to ondemand and interactive
10/08/2011 GB
Adjusted smartassV2 parameters for 1GHz processor (originally for 500Mhz device)
10/01/2011 GB
Set smartassv2 to default governor
09/30/2011 GB
Added SmartassV2 governor
Current CPU governors as of the latest release:
SmartassV2
Ondemand
Interactive
Lagfree
Lazy
Technical doc on CPU governors (most of the ones in this kernel anyway)
https://raw.github.com/tiny4579/android_kernel_common/android-2.6.38-incredikernel/Documentation/cpu-freq/governors.txt
Update: 11/30/13 - removed link to incredikernel.com as the site has no content - fully on goo.im now
http://goo.im/devs/tiny4579/inc/kernels
Kernel Source
https://github.com/tiny4579/android_kernel_common
Here are a couple notes if you want to build this kernel from source:
Jellybean kernel branch is android-2.6.38-incredikernel-jb.
ICS kernel branch is android-2.6.38-incredikernel-ics.
Gingerbread kernel branch is android-2.6.38-incredikernel.
The config for the kernel is in arch/arm/configs/incrediblec-incredikernel_defconfig. If you want to switch branches I recommend doing a make incrediblec-incredikernel_defconfig after checking out that branch.
I use the GCC 4.4.3 toolchain for this kernel due to GCC 4.6 causing build issues.
Frequently Asked Questions
Some key differences between smartass and smartassv2 so users can decide which they prefer and learn a bit more about the differences:
Smartass
1. Screen off profile built in maxed at 384mhz.
2. Wakeup frequency is 998mhz.
3. Min screen on is 245mhz.
4. Improved by Chad to run better on our devices.
5. Purely load based, no ideal value.
Smartassv2
1. This is the same exact governor in Erasmux's Nexus One kernel (github.com/erasmux/n1-kernel)
2. Ideal wake frequency is 768 (also default that can be changed).
3. Screen on min is actually 128mhz).
4. No screen off profile.
5. Ideal sleep frequency 245mhz.
6. Improved upon from erasmux's version, not Chad's.
Basically the smartassv2 ideal wake frequency allows the phone to favor a certain speed to attempt to save battery life. It can still go above ideal wake and below ideal sleep so there's no caps on max and min while awake or sleep.
Some tips/info on various governors:
Smartass/smartassv2/interactive:
Use 128 min so the governor can scale as it needs to. Max speed I'd recommend at least 768Mhz.
Ondemand:
Try 128 min and if it lags use 245 min. Max speed I'd recommend at least 768Mhz.
Performance:
Only recommended for benchmarks but speed will always run at max.
InteractiveX:
Same as interactive except it has an auto screen off set to the min. Ideal with 245 min in setcpu but try 128 for battery life but it you have wake lag then set to 245.
Intellidemand:
Based on ondemand with a built in screen off. Any speed settings should be fine.
Interactive:
Some new features with this one. Starting with 9/21/12 release I am using the interactive kernel from Google which features a new kernel option called input_boost.
It is off by default but can be enabled by writing a 1 to /sys/devices/system/cpu/cpufreq/interactive/input_boost. Also there is another parameter for interactive called hispeed_freq in the same location. The hispeed_freq is where the governor jumps to first. Hispeed_freq by default in 10/3/12 is 614400 to help save battery. In the older interactive governor there was a maxspeed freq which meant the governor was a bit jumpier to the max speed. This should be a good blend of performance and battery.
Lagfree:
Based on ondemand but with a softer CPU scaling which should help with battery life. It also seems to be very responsive (starting with 2/26)
Lazy:
Based on ondemand as well (Ezekeel is the developer of this governor). I cannot explain this too well but its apparent behavior seems to be to switch between low and high frequencies pretty evenly.
A note from Ezekeel on this governor:
"Thus I took the ondemand governor and implemented an additional parameter 'min_timeinstate' defining a minimum time the CPU will stay in a certain frequency state before it will be allowed to switch frequencies again. This way one can have a fine grained polling by setting the sampling_rate to a low value without running into problems with these fast frequency changes.
I did some extensive testing with a sampling_rate of 10000, min_timeinstate of 40000 and up_threshold of 90 and FLAC, mp3 and video playback all seem to work flawlessly. So it seems the root of the problem was indeed that the CPU does not handle fast frequency changes well.
I tested several apps and games and so far I have not found anything that this governor cannot handle. Thus I dare to say that it seems to be the superior choice over ondemand."
ZRAM, what is it and how to I add it? (starting officially with 12/31/11)
If you are familiar with swap space in linux or virtual memory in Windows it is a similar concept. Except instead of using the hard drive as swap space it compresses swap space in RAM for faster access times than conventional swap. This will also wear out our storage memory less than typical swapping.
Enable ZRAM is simple thanks to a script built by imoseyon which is provided in the kernel zip file. To enable, use adb shell or download a terminal app and run zram enable. This will persist across reboots (if init.d is setup in your ROM) so if you don't want it anymore run zram disable and it will remove the bootscript and deactivate it.
You need to have root privileges to enable/disable zram. Run the su command in terminal emulator to request root.
I was wondering when lazy was gonna make it's way to aosp...
Sent from my ADR6300 using xda premium
OMG_VTEC said:
I was wondering when lazy was gonna make it's way to aosp...
Sent from my ADR6300 using xda premium
Click to expand...
Click to collapse
The name of the new governor says it all....
You just answered your own question. I took my own sweet time releasing it. It was built like 2 weeks ago. I was being lazy.
tiny4579 said:
Scripts/Mods if I think of something...
Click to expand...
Click to collapse
Tiny, this new thread is great, as is the work you and Chad have done on these kernels. Keep up the great work. Thank you.
jlokos said:
Tiny, this new thread is great, as is the work you and Chad have done on these kernels. Keep up the great work. Thank you.
Click to expand...
Click to collapse
Yeah, the old way was sloppy. Tired of it. I think this thread is cleaner than the sense one and it took me less time to write it.
To help out users (and document the probable future deviation), how about adding a tag to each kernel stating whether it works with froyo (which I believe is none), GB, ICS, or a multiple (which is only the last couple or so, I think).
Great work, by the way.
PonsAsinorem said:
To help out users (and document the probable future deviation), how about adding a tag to each kernel stating whether it works with froyo (which I believe is none), GB, ICS, or a multiple (which is only the last couple or so, I think).
Great work, by the way.
Click to expand...
Click to collapse
Done. 10char
Nice.....great work to you and Chad. Thanks.
Sent from my ADR6300 using Tapatalk
Thanks for the thread tiny, I was wondering what the benefits of the lazy governor were
I'm running my CPU at 128/806 Mhz with Lazy and it's been nice and smooth all day. Battery life has been as good or better than SA2 for me.
It also seemed to drop my ping time and increase the throughput in SpeedTest. I was getting really discouraged with ICS and >400ms ping times but I'm attributing the Lazy governor with right around 100ms ping and smoother data rates. When I switch back to the SA2 governor that I've been running for months data gets choppy again. The system itself seems smooth enough with SA2 but data has been very choppy.
Thank you to all you great developers for all your time, effort, and hard work. We really do appreciate it.
azradiohead said:
I'm running my CPU at 128/806 Mhz with Lazy and it's been nice and smooth all day. Battery life has been as good or better than SA2 for me.
It also seemed to drop my ping time and increase the throughput in SpeedTest. I was getting really discouraged with ICS and >400ms ping times but I'm attributing the Lazy governor with right around 100ms ping and smoother data rates. When I switch back to the SA2 governor that I've been running for months data gets choppy again. The system itself seems smooth enough with SA2 but data has been very choppy.
Thank you to all you great developers for all your time, effort, and hard work. We really do appreciate it.
Click to expand...
Click to collapse
The ROM/kernel/governor have no impact on data signal or speed so what you're seeing is coincidental. Network speed varies on so many factors outside of the control of the ROM or kernel. I'm glad to hear you like the new kernel and the lazy governor. I'm a fan of the dev of the lazy governor's work and run his kernel on my nexus.
My concern is that others will assume it will improve network performance and be disappointed when it doesn't.
Thank you for your compliments!
I just want to make sure I clarified this matter.
chocolate8175 said:
Thanks for the thread tiny, I was wondering what the benefits of the lazy governor were
Click to expand...
Click to collapse
I was looking around for something good that would make sense but I couldn't find anything so far.
Basically I added this governor on a whim. So far it seems to like lower frequencies even more than smartassv2 without too much sacrifice on speed. It might have better battery life. It seems smooth on Nil's Business Sense 3.5 though.
Interesting post here on smartassv2 from the developer of the lazy governor:
User:
and smartassV2 too but let him fix find the cause of the reboots before
Dev:
I will not integrate any new stuff until I have the cause for reboot problems tracked down. I will look into lulzactive, but I definitely will not include smartass since it is an inefficient governor.
Not sure why he said it was inefficient but could see no post about it.
Needless to say, I like lazy and lagfree so far. Give lazy and lagfree a try for a week and see what you think.
azradiohead said:
I'm running my CPU at 128/806 Mhz with Lazy and it's been nice and smooth all day. Battery life has been as good or better than SA2 for me.
It also seemed to drop my ping time and increase the throughput in SpeedTest. I was getting really discouraged with ICS and >400ms ping times but I'm attributing the Lazy governor with right around 100ms ping and smoother data rates. When I switch back to the SA2 governor that I've been running for months data gets choppy again. The system itself seems smooth enough with SA2 but data has been very choppy.
Thank you to all you great developers for all your time, effort, and hard work. We really do appreciate it.
Click to expand...
Click to collapse
may be placibo effect but I have noticed this too and confirmed with speedtest.
Sent from my incredible incredible.
RebelShadow said:
may be placibo effect but I have noticed this too and confirmed with speedtest.
Sent from my incredible incredible.
Click to expand...
Click to collapse
How does it fare with ondemand or lagfree? I still think its placebo. I can't test on my phone as I don't have data on the incredible.
Sent from my Galaxy Nexus using Tapatalk
Running GB and just installed the new Incredikernel, I saw no appreciable difference with data usage on Lazy, Lagfree, SAV2, Ondemand. Depending on your wireless signal, just moving your body by even a few inches could have an impact on data speeds (high frequency shadowing of transmission waves). The ping, might have some more sway by the CPU of the device if the program doesn't get as much processor in when communicating with the server, but not in the order of milliseconds (would be my though).
tiny4579 said:
I was looking around for something good that would make sense but I couldn't find anything so far.
Basically I added this governor on a whim. So far it seems to like lower frequencies even more than smartassv2 without too much sacrifice on speed. It might have better battery life. It seems smooth on Nil's Business Sense 3.5 though.
Interesting post here on smartassv2 from the developer of the lazy governor:
User:
and smartassV2 too but let him fix find the cause of the reboots before
Dev:
I will not integrate any new stuff until I have the cause for reboot problems tracked down. I will look into lulzactive, but I definitely will not include smartass since it is an inefficient governor.
Not sure why he said it was inefficient but could see no post about it.
Needless to say, I like lazy and lagfree so far. Give lazy and lagfree a try for a week and see what you think.
Click to expand...
Click to collapse
I'm using your latest GB kernel with the lazy governor on Warm TwoPointThree 3.5 rom. It is very smooth with very good battery life (undervolted).
jlokos said:
I'm using your latest GB kernel with the lazy governor on Warm TwoPointThree 3.5 rom. It is very smooth with very good battery life (undervolted).
Click to expand...
Click to collapse
Better than SAV2? I can't really comment myself but I like it so far.
Also, try to keep Sense kernel talk in the sense thread and aosp kernel talk in the AOSP thread. It makes tracking easier. But I also brought up the comment in this thread so it makes sense why you posted here.
tiny4579 said:
Better than SAV2? I can't really comment myself but I like it so far.
Also, try to keep Sense kernel talk in the sense thread and aosp kernel talk in the AOSP thread. It makes tracking easier. But I also brought up the comment in this thread so it makes sense why you posted here.
Click to expand...
Click to collapse
I have used both the GB and AOSP versions of the lazy governor. The GB version appears to make the Sense 3.5 rom smoother. As far as battery life, I haven't been able to tell if its better than SA2 since I have a much longer history with SA2. In any event, thanks for adding this governor to both versions (as I switch between the new ICS roms and Sense 3.5); it's another great choice for us to experiment with.
Could you make lulzactive possible tiny?
Sent from my DROIDX using Tapatalk

[KERNEL][3.0.31][HDMI][FULL HD][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 is a custom kernel mostly based on Motorola's 3.0.8 Hybrid Kernel which was initiated first by the STS-Dev-Team (Hashcode, Dhacker).
I created this kernel for my main goal: BATTERY LIFE! Like many other custom kernels this one also supports several performance related features like OVERCLOCKING, UNDERVOLTUNG, GPU CONTROL, CPU OPTIONS, RAM TWEAKS, etc etc... But my main goal was not to bring up a kernel which is fast as hell - I want to bring up a kernel that is fast + a long lasting battery! Many custom kernels are also very fast but they don't save battery. JBX-Kernel is supposed to push your device to great speed while being on low power settings. I hope you enjoy it!
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
FULL HD Video Recording is working now!!! See Downloads section below!
--> DETAILED CHANGELOG JBX-kernel Hybrid 4.4 <--
Kernel Guide by Placca 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
Added IVA_NITROSB
Dynamic fsync control: FSYNC interval is dynamic depending on screen state (SCREEN OFF: synchronous, SCREEN ON: asynchronous)
HTC's Asynchronous Fsync port - read explanation below*
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)
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 C4 states / 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 scheduler ever!
CPU: More Governors
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
* 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.
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.
TO DO LIST
- Fix bugs
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
NOTE:
Only for Android 4.4!
JBX-Kernel 3.0.8 Version:
2.x == > Android 4.4
JBX-Kernel 3.0.31 Versions:
3.x == > Android 4.4
TEST BUILDs
Test builds are potential prerelease builds which need some more testing before pushing to all users.
CAUTION: Should be stable mostly! But use at your own risk though!!
---> TEST BUILDS [CF] <---
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.8
PDF: http://www.mediafire.com/download/7zaddcmvtxfk9ry/JBX+Kernel+Guide_v1.8.pdf
CHM: http://www.mediafire.com/download/g3ck1bf1k3a3j38/JBX+Kernel+Guide_v1.8.chm
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
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
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
JBX-Kernel 4.4
CREDITS
Shurribbk - Co-Development
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
RandomPooka - for special testing and support
- reserved -
Hey guys, welocme to JBX-Kernel for Targa! This is the first initial release and needs to be tested! Please give me some feedback if it boots and how it works for you. It comes with built-in OTA Updater and many extra stuff. Just check it out.
Keep in mind that this release will only work on 4.4 builds! Currently I don't have the time for others. Also you should use a newer build with Full HD Cam support! When using this kernel with older 4.4 builds your camera won't work.
Oh cool, i happy Someone help you with targa kernel ?
Maksim_ka said:
Oh cool, i happy Someone help you with targa kernel ?
Click to expand...
Click to collapse
Nope.. But it doesn't matter. Currently I have a problem with paying my server, and as long as I am able to build I wanted to release the Targa Kernel. The only difference seems to be in the CMD-line (Targa doesn't have a utags partition), so I just had to switch this line and build it with CM11 Targa sources to get the right ramdisk and modules. The whole source is the same like RAZR kernel.
I test it, and dont see weighty differences with RAZR kernel, have same bugs, display backlights don't turn on sometimes. I think you can talk with Hush about it, he can help.
Maksim_ka said:
I test it, and dont see weighty differences with RAZR kernel, have same bugs, display backlights don't turn on sometimes. I think you can talk with Hush about it, he can help.
Click to expand...
Click to collapse
You mean Hashcode? I am in static contact with him. But thx
What do you mean with "backlight doesn't turn on sometimes" ? I don't see this problem on RAZR... But sometimes you need to be a little patient when you want to wake it up. That's because of things like "DEEP IDLE" and others which keep the device in "deeper" sleep mode. It can take 1 or 2 seconds until you will see the lights - but it will turn on for sure. Maybe you're talking about something else? What bugs else exactly?
dtrail1 said:
You mean Hashcode? I am in static contact with him. But thx
What do you mean with "backlight doesn't turn on sometimes" ? I don't see this problem on RAZR... But sometimes you need to be a little patient when you want to wake it up. That's because of things like "DEEP IDLE" and others which keep the device in "deeper" sleep mode. It can take 1 or 2 seconds until you will see the lights - but it will turn on for sure. Maybe you're talking about something else? What bugs else exactly?
Click to expand...
Click to collapse
Yep, i mean Hashcode.
It will happened if use proximity sensor when calling, and sometimes when wake up phone. Backlight don't turn on generally, help only reboot. And it don't happened if change frequency to 300-1xxx. I think if you change minimal frequency to 300mhz it gone.
Maksim_ka said:
Yep, i mean Hashcode.
It will happened if use proximity sensor when calling, and sometimes when wake up phone. Backlight don't turn on generally, help only reboot. And it don't happened if change frequency to 300-1xxx. I think if you change minimal frequency to 300mhz it gone.
Click to expand...
Click to collapse
Well that's not an issue, but a well known phenomen. Some devices cannot handle 100 MHz (depends on silicon, each one is different). The min frequency is 300 by default, and the battery friend min frequency is 200 by default. Just check your settings in trickster mod.
Gesendet von meinem XT910 mit Tapatalk 4
I'm able to boot the kernel but cannot get radio. Any ideas?
Sent from my XT875 using Tapatalk
BZguy06 said:
I'm able to boot the kernel but cannot get radio. Any ideas?
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Not yet. I need more informations from other users. Any feedback here????
Just try the today's OTA (soon). I forgot to update device tree sources in yesterday's builds.
Because I had a weird drain myself on yesterday's RAZR kernel (not very much, but noticable)
EDIT: I got a workaround for the RADIO issue - if it's actually an issue Wait for the OTA.
I was only able to get radio working on your 1-08 build of the kernel for rzr. Ever since then I haven't been able to get it to come up.
Edit: I went ahead and installed your 1-21 update and its better. It eventually connects to LTE but only holds it for 30 secs and then drops with no radio. Thanks for the help in advance.
Sent from my XT875 using Tapatalk
BZguy06 said:
I was only able to get radio working on your 1-08 build of the kernel for rzr. Ever since then I haven't been able to get it to come up.
Edit: I went ahead and installed your 1-21 update and its better. It eventually connects to LTE but only holds it for 30 secs and then drops with no radio. Thanks for the help in advance.
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Please download the latest build from same links again (any mirror, I overwrote it). It should have fixed radio now. But you have to replace your build.prop with that one from your rom or open it and remove all additions made by JBX. The easiest way is to flash the rom again, then flash jbx.
I went ahead and redownloaded and reinstalled and I'm still getting the same thing. Attached is my "phone info" screen. And under "select preferred network" my only option is unknown
{
"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"
}
Sent from my XT875 using Tapatalk
Just flashed latest 1/21 JBX with cm 1/20. Have lte. Haven't played with settings yet. Need to read the faq first. Thanks void time buddy.
Sent from my XT875 using Tapatalk 2
BZguy06 said:
I went ahead and redownloaded and reinstalled and I'm still getting the same thing. Attached is my "phone info" screen. And under "select preferred network" my only option is unknownView attachment 2530635
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
So, have you reset your build.prop before as I said above?
Btw: just open it in a text editor (I.e. With root Explorer), scroll down until you see "dtrail - build.prop additions". Delete everything below that line. Now reboot and flash jbx (after downloaded again).
Gesendet von meinem XT910 mit Tapatalk 4
dtrail1 said:
So, have you reset your build.prop before as I said above?
Btw: just open it in a text editor (I.e. With root Explorer), scroll down until you see "dtrail - build.prop additions". Delete everything below that line. Now reboot and flash jbx (after downloaded again).
Gesendet von meinem XT910 mit Tapatalk 4
Click to expand...
Click to collapse
Yes. I went ahead and wiped system and data, installed cm11 1-20, and then installed the 1-21JBX targa kernel
Sent from my XT875 using Tapatalk
BZguy06 said:
Yes. I went ahead and wiped system and data, installed cm11 1-20, and then installed the 1-21JBX targa kernel
Sent from my XT875 using Tapatalk
Click to expand...
Click to collapse
Just flash the latest jb radio and don't change band in settings.
P.S. targa don't have BMM
Maksim_ka said:
Just flash the latest jb radio and don't change band in settings.
P.S. targa don't have BMM
Click to expand...
Click to collapse
I have the latest JB radio (CDMA_N_05.22.00R LTEDC_U_09.1D.00). My radio works fine using the stock CM11 kernel. I really wanna try out dtrails' work.

[KERNEL][3.10.71][KCAL] Velocity v1.1

*** Disclaimer
I am not responsible for any kind of damage to your device,
or in case it explodes, your surroundings.
Please use it at your own risk!
Click to expand...
Click to collapse
Features :
-O3, Cortex-A53, NEON, VFPv4 optimizations
Compiled from latest Linaro GCC 4.9.3 2015.02 Toolchain [Christopher83]
Upstreamed to 3.10.71 from kernel.org, from 3.10.28
Asynchronous Fsync ported from HTC Devices
Dynamic Fsync v2.0 [faux123/varunchitre15]
PowerSuspend v1.7 driver support (replaces EarlySuspend) [yank555.lu & faux123]
Android early_suspend/late_resume PM kernel driver framework has been
deprecated by Google. This new powersuspend PM kernel driver is a replacement
for it.
Conserves battery much better.
Triggered by Screen on/off.
Intelli_plug v3.9 driver [faux123]
Intelligent hotplug cpu driver with eco mode.
KCAL - Advanced color control
Disabled MMC CRC check for extra 30% boost in IO
Reduced debugging = More performance
Simple GPU Algorithm [faux123]
FIOPS, BFQ + stock I/O Schedulers
Filesystems support : NTFS, F2FS
Sysfs implementation for changing vibrator intensity [varunchitre15]
Zswap, Frontswap and znswap [faux123]
Support for kernel-mode NEON [faux123]
Increased charging current to 1.2A
Frandom - Fast Kernel Random Number Generator driver added
Added ARM NEON Crypto functions
Click to expand...
Click to collapse
Download :
Velocity v1.1 <- Mirror
Velocity v1.0 <- Mirror
Camera Fix
Changelog :
v1.1
- Added KCAL - Advanced color control (Thanks to @savoca for his great job) check this thread for more info
- Numerous fixes from android kernel_common 3.10 and 3.10.y repos.
- Enabled Conservative governor
v1.0
- Initial release
Installation :
1. Download and save the latest zip to your phone
2. Flash this zip from any custom recovery (eg. TWRP, CWM, Philz)
3. If camera doesn't work, perform steps 1 & 2 for the zip containing camera fix
Recommended Settings :
Min. CPU freq. : 400MHz (Under this might cause SOD)
GPU Governor : simple_ondemand
I/O Scheduler : FIOPS
Read-ahead size : 1536 kB
Intelliplug profiles :
* For general use : Eco Performance/Eco Conservative
* For gaming : Balanced/Disabled
Kernel apps : FauxClock, Kernel Adiutor, Trickster MOD
Credits :
@varun.chitre15
@faux123
@Christopher83
XDA:DevDB Information
Velocity Kernel, Kernel for the YU Yureka
Contributors
neomanu
Source Code: https://github.com/neomanu/android_kernel_yu_msm8916/tree/cm-11.0_exp
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: v1.1
Stable Release Date: 2015-03-11
Created 2015-03-07
Last Updated 2015-03-11
Reserved
ooo new kernel...
hello bro first of all thanks for contributions towards Development of yu yureka..
Now downloading...
FEEDBACK AFTER SOME HOURS OF PLAYING....
Hey, can I flash it directly on other custom kernel
screen shots??
ankurvvvv said:
screen shots??
Click to expand...
Click to collapse
Its a kernel not a rom. What do you need screenshots of?
My bad. too excited with my new Yureka that not paying attention to anything
flashed this kernel and used it for 5 hrs.
Good BATTERY command.
i attended a con-call for 90 plus minutes and battery drained only 5%
No lag while using basic games like clash of clan or clash of lords
Issues identified
screen black out while on call, you cant control your calls like add new call or check text while you are on phone calls. but no issue in voice and reception.
while making call you cant drop call as screen goes black out.
No heating issue as far i observed.
colour reproduction is good.
seems need little fine tune can make this kernel a must install.
All the very best to develops
Regards
question
MIUI custom ROM supported???
sunilnair007 said:
flashed this kernel and used it for 5 hrs.
Good BATTERY command.
i attended a con-call for 90 plus minutes and battery drained only 5%
No lag while using basic games like clash of clan or clash of lords
Issues identified
screen black out while on call, you cant control your calls like add new call or check text while you are on phone calls. but no issue in voice and reception.
while making call you cant drop call as screen goes black out.
No heating issue as far i observed.
colour reproduction is good.
seems need little fine tune can make this kernel a must install.
All the very best to develops
Regards
Click to expand...
Click to collapse
you are talking about proximity sensor issue , is it right?
Sent from my AO5510 using XDA Free mobile app
Review after using a whole day.
1. First & best intelli_plug driver - loved the live and smooth activation and deactivation of cores acc to load. only single core runs while using light apps (whatsapp,hike,tapatalk etc) i.e. full utilization of a single core.
2. Highly customizable using the FauxClock pro app.
3. cpu temp was usually higher (50-60 degrees) than my last kernel (Tz).
4. As @sunilnair007 posted the screen goes black while call. But one thing i noticed was when i press just at the side of proxi sensor the screen wakes up Exactly same as the Yureka proximity issue but on all other kernels the proxi was working fine on my phone (stock, thunderzap)...
5. i didn't used the phone for an hour or so i.e. phone was in deep sleep the i tried to wake up the device by the power button several times but finally had to remove battery and put again and booted the device :c
and after turning on the battery was 12% (earlier it was above 75%) and it was increasing by itself >.> battery usage graph ss --- i.imgur.com/y9QCyCz.png
and after keeping it turned off for sometime and restarting the battery got stable at 46% and started decreasing as per usage. (so got much less battery backup)
How to make best use of it.
Installed this kernel.
However, it seems very complex to make best use of it by a person like me who is not used to Custom Kernels. Before this I have used ThunderZap2, and Xcelerate, without much of tweaking. In Xcelerate for example, I found that different cores where shutting down by default. Here all the core are working by default. Obviously with this Kernel it seems I will have to do some tweaking.
I have also installed Kernel Adiutor as recommended in OP. However, information on recommended setting is too sketchy.
Would like to more detailed information as how to tweak / set this kernel to make best use of it.
tons of thanks to you bro... for kcal addition
Bro thanks a lot for adding kcal colour management to YU yureka..
Very nice bro..
One thing bro the hotplug is only working with 4 cpu of first cluster only...
I'm using kernel audiutor beta...
And please rommended any setting to run it cooller because comparing to other custom kernel it run little high temp..
Otherwise working grate.....
[KERNEL][3.10.71][KCAL] Velocity v1.1
Seems developer worked hard and results are visible.
No complaints so far testing since morning.
Need 2 days time to give a stable review.
Best wishes and please keep this spirit intact
Regards
Tarry! said:
5. i didn't used the phone for an hour or so i.e. phone was in deep sleep the i tried to wake up the device by the power button several times but finally had to remove battery and put again and booted the device :c
Click to expand...
Click to collapse
Noticed this too. Pressing the volume buttons once/twice, when it is unresponsive, wakes it right back up.
esukhdev said:
Here all the core are working by default. Obviously with this Kernel it seems I will have to do some tweaking.
I have also installed Kernel Adiutor as recommended in OP. However, information on recommended setting is too sketchy.
Would like to more detailed information as how to tweak / set this kernel to make best use of it.
Click to expand...
Click to collapse
Firstly, I'll try to simplify the recommended settings.
Secondly, hotplugging is not enabled by default.
Enable it by going to CPU Hotplug in Kernel Adiutor and enabling Intelliplug.
DGEEEK said:
One thing bro the hotplug is only working with 4 cpu of first cluster only...
I'm using kernel audiutor beta...
And please rommended any setting to run it cooller because comparing to other custom kernel it run little high temp..
Otherwise working grate.....
Click to expand...
Click to collapse
Set the Intelliplug profile to Eco Conservative/Eco Performance to hotplug upto 7 cores.
I'm looking into the cluster problem as mentioned.
To run cooler, try reducing the max frequency.
Tarry! said:
1. First & best intelli_plug driver - loved the live and smooth activation and deactivation of cores acc to load. only single core runs while using light apps (whatsapp,hike,tapatalk etc) i.e. full utilization of a single core.
2. Highly customizable using the FauxClock pro app.
3. cpu temp was usually higher (50-60 degrees) than my last kernel (Tz).
4. As @sunilnair007 posted the screen goes black while call. But one thing i noticed was when i press just at the side of proxi sensor the screen wakes up Exactly same as the Yureka proximity issue but on all other kernels the proxi was working fine on my phone (stock, thunderzap)...
5. i didn't used the phone for an hour or so i.e. phone was in deep sleep the i tried to wake up the device by the power button several times but finally had to remove battery and put again and booted the device :c
and after turning on the battery was 12% (earlier it was above 75%) and it was increasing by itself >.> battery usage graph ss --- i.imgur.com/y9QCyCz.png
and after keeping it turned off for sometime and restarting the battery got stable at 46% and started decreasing as per usage. (so got much less battery backup)
Click to expand...
Click to collapse
Regarding point 5 , I faced same behavior in TZ as well xccelerate kernel.I don't understand the problem.the battery completely drained out and more heat on backside of the mobile.whenever if i would make any changes on IO SCHEDULER or governed faced the issue.
Sent from my AO5510 using XDA Free mobile app
androidgalaxyman said:
Regarding point 5 , I faced same behavior in TZ as well xccelerate kernel.I don't understand the problem.the battery completely drained out and more heat on backside of the mobile.whenever if i would make any changes on IO SCHEDULER or governed faced the issue.
Sent from my AO5510 using XDA Free mobile app
Click to expand...
Click to collapse
The issue is that if you set performance profile to "Power save", gov "ondemand" & min frequency lesser than 500MHz, phone sleeps to death & you have to hard reboot to get back on. Its a known bug and is present in stock kernel too. Check if settings i stated are the reason for you. Doesn't happen with "Interactive" because it never scales lower.
Sent from my AO5510 using XDA Free mobile app
@neomanu , Do I need to wipe cache and dalvik cache while flashing this kernel over any ROM. Also I have flashed a custom kernel previously and now I want to flash this, so Should I simply follow your instructions or need to wipe something.
No Need to wipe anything. To give u extra boost you can wipe dalvik cache which will rebuild cache again and its always good. no need of cache or data wipe
Is this kernel support's volte?
Sent from my AO5510 using XDA-Developers Legacy app

[KERNEL][11] Placebo Kernel - LOS 18.1 Undervolting

Changelog:
2021-06-06
-Merge to 54ffccbf053b5b6ca4f6e45094b942fab92a25fc
Disclaimer: I have no idea what I'm doing, I just copy pasted some stuff together and compiled the kernel. This kernel was only momentarily tested on an SM-G900T (klte). If there's a compatibility problem you will probably boot loop until you fix it. Undervolting can cause issues. You have been warned!
This is the LOS 18.1 kernel from https://github.com/LineageOS/android_kernel_samsung_msm8974/ with the KTOONSEZ undervolting control mods from https://github.com/alaskalinuxuser/...mmit/37664e51977ccd27563458526463f53c6be0490a
The gcc version is a 4.9 I got from this GitHub page:
https://github.com/Duhjoker/arm-linux-androideabi-4.9
Intro:
This kernel allows tweaking CPU voltages. We're interested in undervolting the CPU so it uses less voltage to operate. The extent you can undervolt your CPU is based on luck. While your CPU will run more efficiently with an undervolt, real-world benefits are sometimes hard to tell. For example, your phone may compensate for cooler operation by running at a higher speed more often. Any battery life benefits to undervolting this one part of the phone are ambiguous, it's really hard to test.
Prerequisites:
You will need root on your phone! If you don't have root you can get it by installing Magisk. First install Magisk's apk file in Android. Then rename the apk so it has a .zip file extension and leave it in your phone's storage.
Releases · topjohnwu/Magisk
The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.
github.com
Instructions:
0. Keep a copy of Magisk's .zip on your phone!
1. Download the latest *boot.img and place it in your phone's storage
2. Boot to TWRP recovery or the recovery you use
3. Tap Install -> Tap "Install Image" to toggle the button
4. Select boot.img and FLASH TO YOUR BOOT PARTITION
4a. If you use Magisk it's broken now. Tap "Install Zip" to toggle the button and flash Magisk's zip
5. Reboot
6. Install SmartPack Kernel Manager OR Kernel Adiutor and grant it root privileges. You may now tweak your CPU voltage in the app. Once you are happy with your settings use the "Apply on Boot" to make the settings permanent.
https://f-droid.org/en/packages/com.smartpack.kernelmanager/
https://f-droid.org/en/packages/com.nhellfire.kerneladiutor/
Note: The kernel does not persist. You will need to reinstall it after every LOS update.
(Not) Optional: Consider making a TWRP backup of your phone. Unstable undervolting can result in data loss.
Help, I'm boot looping/can't boot because of unstable undervolt:
Download your phone's particular LineageOS zip from https://download.lineageos.org/ and unzip it. Put the boot.img file on your phone and flash it to the BOOT partition in recovery.
Undervolting guide:
Not all two phones are the same. Look at your stock voltages or old forum posts for reference. The S5's SoC is the MSM8974PRO/MSM8974AC, marketed as the Snapdragon 801. Also see the binning info at the bottom of this guide to learn your phone's binning.
Open SmartPack and go to CPU Voltage in the menu. It will display a big list of CPU clock speeds and voltages. These are your stock voltages. Your goal is to lower them some amount without your phone crashing. On the top part of the app you can scroll to "Global Offset" and enter one number to lower all the voltages at once.
I recommend trying a -30 mV or -40 mV global offset first, it seems like most phones can handle this. After you set your undervolt you should test for stability before making it permanent. Here are some ideas:
-Use your phone as you normally would.
-Keep playing videos on your phone
-Try the stress test in the bottom of this guide
Do not daily drive your phone for work until you're reasonably sure your undervolt is stable. You don't want it to crash when doing something important.
Once you have a good global offset you can start tweaking individual CPU states to lower voltages even more. This can get really annoying since there are so many. If you want to fine-tune I recommend only giving special attention to the top speed (2457), the middle speeds (1574 in particular, but include everything up to 1267 if you have to), and the lowest speed (300.)
The average phone tends to spend the most time in those states so focusing on those will help save your sanity.
To set your undervolt permanently enable "Apply on Boot" and SmartPack will set the values when your phone starts.
Spotting an unstable undervolt:
If one or more CPU states are unstable your phone will suddenly hang, hard reboot, fast reboot or other anomalies. You will probably also see CPU problems in the logs. Do "su; dmesg" in a Terminal or "su;logcat" to see. The cure for a bad undervolt is not undervolting so much. It can be hard to tell which CPU states are unstable unfortunately, you may have to adjust all of them to be sure,
Tips:
-Undervolts can be hard to test for stability, so try to leave some overhead if you don't have all day. SmartPack/Kernel Adiutor lets you set a global offset if you only want a small UV!
-You can set unusually low voltages for 300 MHz. Its stock voltage is about 750-800 mV but it will usually work on 650 mV and go as low as 600 mV if you're lucky.
-Low freqs are usually better at getting undervolted than the top freqs
-Not all cores will run at the same freqs/voltages. Disabling most of your cores is a good way to prevent your phone from heating up during stress tests but may lead to instability when you reactivate all of your cores.
-Your phone's battery draining may spontaneously cause your undervolt to become unstable. Unfortunately you just have to make the UV less aggressive if this happens.
-Try not switch the governor. To change CPU behavior go to Settings > Battery >Battery Saver and Performance > Performance Profile and toggle the slider as you see fit.
I recommend using Balanced and switching to Quick when you need your phone to be faster.
Performance is very energy inefficient. It prevents all cores from parking and tries to peg at least some of them to top speed. One core performance can be better than quick but multi-core makes it very easy for the phone to throttle.
LOS uses Qualcomm's MPDecision hotplugger. Switching governors causes glitches MPDecision and prevent CPU cores from parking. If you really want to try out governor tweaks, you should disable MPDecision in SmartPack first. Disabling MPDecision will incur a battery life penalty since your CPU will no longer park.
Synthetic stress test:
Install Termux and run this one-liner to stress one core:
Code:
while true; do openssl speed -evp aes-256-gcm; sleep 15s; done
For 4 cores:
Code:
while true; do openssl speed -multi 4 -evp aes-256-gcm; sleep 15s; done
You can also use this test to compare performance or to observe thermal throttling. OpenSSL will return a performance score after each run.
Sample stock/undervolt values from my speed3-pvs9-bin-v1 SM-G900T:
{
"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"
}
Very minor LOS power saving tweaks that don't help very much but they're funny:
-Search "Backlight" in the settings and turn off the backlight for the Menu and Back keys.
-The battery/notification LED can be adjusted down to about 7% brightness
-LOS has several settings for turning off haptic feedback/vibrations. I turned them off for the touch keyboard and the Menu/Back keys.
SoC Binning Information:
Your phone's SoC is tested for quality and assigned a PVS number at the factory. For S5, it ranges from PVS0 (low quality) to PVS15 (high quality). Higher quality have lower stock voltages. Check by running these in a terminal:
Code:
su
cat /sys/module/clock_krait_8974/parameters/table_name
You can compare the bins here
boot loop
vlad3647 said:
boot loop
Click to expand...
Click to collapse
Which device do you use?
I left some default undervolts in the PVS tables because they didn't work for me, maybe it's causing the problem. I'll remove them and compile it again later.
Klte
I don't mind boot loop,I reinstall everything
vlad3647 said:
I don't mind boot loop,I reinstall everything
Click to expand...
Click to collapse
You can always fix the boot loop by flashing boot.img from the lineageos zip.
I compiled build PlaceboKernel05072021V2.img without modified PVS tables in the first post. Still works on my phone.
I uploaded a V3 as boot.img, I don't know if this makes a difference. Works on my phone.
I didn't know thanks
Thanks, is working great
Flashed the `boot.img` file itself; verified working on my G900P!
Merged changes (includes the sdcard related ones.)
can't change the values on the voltage. phone keeps on rebooting. using g900t
update: got it to work. testing in progress
Boatshow said:
Changelog:
2021-06-06
-Merge to 54ffccbf053b5b6ca4f6e45094b942fab92a25fc
Disclaimer: I have no idea what I'm doing, I just copy pasted some stuff together and compiled the kernel. This kernel was only momentarily tested on an SM-G900T (klte). If there's a compatibility problem you will probably boot loop until you fix it. Undervolting can cause issues. You have been warned!
This is the LOS 18.1 kernel from https://github.com/LineageOS/android_kernel_samsung_msm8974/ with the KTOONSEZ undervolting control mods from https://github.com/alaskalinuxuser/...mmit/37664e51977ccd27563458526463f53c6be0490a
The gcc version is a 4.9 I got from this GitHub page:
https://github.com/Duhjoker/arm-linux-androideabi-4.9
Intro:
This kernel allows tweaking CPU voltages. We're interested in undervolting the CPU so it uses less voltage to operate. The extent you can undervolt your CPU is based on luck. While your CPU will run more efficiently with an undervolt, real-world benefits are sometimes hard to tell. For example, your phone may compensate for cooler operation by running at a higher speed more often. Any battery life benefits to undervolting this one part of the phone are ambiguous, it's really hard to test.
Prerequisites:
You will need root on your phone! If you don't have root you can get it by installing Magisk. First install Magisk's apk file in Android. Then rename the apk so it has a .zip file extension and leave it in your phone's storage.
Releases · topjohnwu/Magisk
The Magic Mask for Android. Contribute to topjohnwu/Magisk development by creating an account on GitHub.
github.com
Instructions:
0. Keep a copy of Magisk's .zip on your phone!
1. Download the latest *boot.img and place it in your phone's storage
2. Boot to TWRP recovery or the recovery you use
3. Tap Install -> Tap "Install Image" to toggle the button
4. Select boot.img and FLASH TO YOUR BOOT PARTITION
4a. If you use Magisk it's broken now. Tap "Install Zip" to toggle the button and flash Magisk's zip
5. Reboot
6. Install SmartPack Kernel Manager OR Kernel Adiutor and grant it root privileges. You may now tweak your CPU voltage in the app. Once you are happy with your settings use the "Apply on Boot" to make the settings permanent.
https://f-droid.org/en/packages/com.smartpack.kernelmanager/
https://f-droid.org/en/packages/com.nhellfire.kerneladiutor/
(Not) Optional: Consider making a TWRP backup of your phone. Unstable undervolting can result in data loss.
Help, I'm boot looping/can't boot because of unstable undervolt:
Download your phone's particular LineageOS zip from https://download.lineageos.org/ and unzip it. Put the boot.img file on your phone and flash it to the BOOT partition in recovery.
Undervolting guide:
Not all two phones are the same. Look at your stock voltages or old forum posts for reference. The S5's SoC is the MSM8974PRO/MSM8974AC, marketed as the Snapdragon 801. Also see the binning info at the bottom of this guide to learn your phone's binning.
Open SmartPack and go to CPU Voltage in the menu. It will display a big list of CPU clock speeds and voltages. These are your stock voltages. Your goal is to lower them some amount without your phone crashing. On the top part of the app you can scroll to "Global Offset" and enter one number to lower all the voltages at once.
I recommend trying a -30 mV or -40 mV global offset first, it seems like most phones can handle this. After you set your undervolt you should test for stability before making it permanent. Here are some ideas:
-Use your phone as you normally would.
-Keep playing videos on your phone
-Try the stress test in the bottom of this guide
Do not daily drive your phone for work until you're reasonably sure your undervolt is stable. You don't want it to crash when doing something important.
Once you have a good global offset you can start tweaking individual CPU states to lower voltages even more. This can get really annoying since there are so many. If you want to fine-tune I recommend only giving special attention to the top speed (2457), the middle speeds (1574 in particular, but include everything up to 1267 if you have to), and the lowest speed (300.)
The average phone tends to spend the most time in those states so focusing on those will help save your sanity.
To set your undervolt permanently enable "Apply on Boot" and SmartPack will set the values when your phone starts.
Spotting an unstable undervolt:
If one or more CPU states are unstable your phone will suddenly hang, hard reboot, fast reboot or other anomalies. You will probably also see CPU problems in the logs. Do "su; dmesg" in a Terminal or "su;logcat" to see. The cure for a bad undervolt is not undervolting so much. It can be hard to tell which CPU states are unstable unfortunately, you may have to adjust all of them to be sure,
Tips:
-Undervolts can be hard to test for stability, so try to leave some overhead if you don't have all day. SmartPack/Kernel Adiutor lets you set a global offset if you only want a small UV!
-You can set unusually low voltages for 300 MHz. Its stock voltage is about 750-800 mV but it will usually work on 650 mV and go as low as 600 mV if you're lucky.
-Low freqs are usually better at getting undervolted than the top freqs
-Not all cores will run at the same freqs/voltages. Disabling most of your cores is a good way to prevent your phone from heating up during stress tests but may lead to instability when you reactivate all of your cores.
-Your phone's battery draining may spontaneously cause your undervolt to become unstable. Unfortunately you just have to make the UV less aggressive if this happens.
-Try not switch the governor. LOS uses Qualcomm's MPDecision hotplugger. Switching governors will glitch MPDecision and prevent CPU cores from parking. If you really want to try out governor tweaks, you should disable MPDecision in SmartPack first. Disabling MPDecision will incur a battery life penalty since your CPU will no longer park.
Synthetic stress test:
Install Termux and run this one-liner to stress one core:
Code:
while true; do openssl speed -evp aes-256-gcm; sleep 15s; done
For 4 cores:
Code:
while true; do openssl speed -multi 4 -evp aes-256-gcm; sleep 15s; done
You can also use this test to compare performance or to observe thermal throttling. OpenSSL will return a performance score after each run.
Sample stock/undervolt values from my speed3-pvs9-bin-v1 SM-G900T:
View attachment 5302815View attachment 5302817
Very minor LOS power saving tweaks that don't help very much but they're funny:
-Search "Backlight" in the settings and turn off the backlight for the Menu and Back keys.
-The battery/notification LED can be adjusted down to about 7% brightness
-LOS has several settings for turning off haptic feedback/vibrations. I turned them off for the touch keyboard and the Menu/Back keys.
SoC Binning Information:
Your phone's SoC is tested for quality and assigned a PVS number at the factory. For S5, it ranges from PVS0 (low quality) to PVS15 (high quality). Higher quality have lower stock voltages. Check by running these in a terminal:
Code:
su
cat /sys/module/clock_krait_8974/parameters/table_name
You can compare the bins here
Click to expand...
Click to collapse
LMAO imagine undervolting a 7 year old device...
ralovesoc said:
LMAO imagine undervolting a 7 year old device...
Click to expand...
Click to collapse
Are you here just to make a fun of something? That's rude.
Yes, it's a 7 years old 28nm CPU, which is obviously isn't as power efficient as modern ones. 28nm is huge by today's standards.
7 years ago, this phone came in a box with additional battery and a battery charger, because it was an issue even then. What's the problem in undervolting or underclocking the device when performance isn't a priority, to make it last longer?
To change CPU behavior go to Settings > Battery >Battery Saver and Performance > Performance Profile and toggle the slider as you see fit. I think this is how you're supposed to do it because changing governor settings directly causes glitches. Performance preset pegs most cores to top speed.
Garry58 said:
7 years ago, this phone came in a box with additional battery
Click to expand...
Click to collapse
Maybe in some markets but I don't think that was true. Have an ad that didn't age well.
Boatshow said:
Maybe in some markets but I don't think that was true. Have an ad that didn't age well.
Click to expand...
Click to collapse
Maybe only in EU? I don't know. I have 900F model. That ad is just typical Samsung ad. They're openly laughing at iPhone, but literally next year do the same thing with Galaxy S6. At this point, I don't think marketing team has any communication with development team.
Boatshow said:
You can always fix the boot loop by flashing boot.img from the lineageos zip.
I compiled build PlaceboKernel05072021V2.img without modified PVS tables in the first post. Still works on my phone.
I uploaded a V3 as boot.img, I don't know if this makes a difference. Works on my phone.
Click to expand...
Click to collapse
what do you mean V3?
@vlad3647 That was an old post, there is no V3 anymore. Now I name by date. Currently the latest is 06-06-2021_boot.img.
@Boatshow
Are you able to add some hotplug options to the kernel? Without all cpu cores stay online all the time, what of course means unnecessary energy wasting.
@v00d007 Not sure what you mean, the default hotplugger MPDecision still works with the modified kernel. If the cores stop parking it's probably because MPDecision is disabled or a CPU settings change caused it to glitch.
If you're talking about an alternative hotplugger fbs wrote one here. Nobody can compare it to MPDecision because that is closed source. I read several years ago that hotpluggers only save small percents over a few hours so I don't know if testing differences is worth trying.
tuned-kernel-S5/drivers/staging/tuned at ten · bemerguy/tuned-kernel-S5
Contribute to bemerguy/tuned-kernel-S5 development by creating an account on GitHub.
github.com
Maybe a hackjob you can do is compile the tuned plugger (or get the binary from the zip) and swap it out with the MPDecision binary. It should be at /system/bin/mpdecision or somewhere similar.
Boatshow said:
Not sure what you mean, the default hotplugger MPDecision still works with the modified kernel. ...
Click to expand...
Click to collapse
Well, the problem for me is that in kernel adiutor the category "hotplug" doesn't show up. And category "cpu" shows that no core goes offline at any time. If MPDecision was active, 1 or 2 cores should go offline from time to time if there's no load. Normally I use Intelliglug and for me it makes a noticable difference in battery cycles (~10-15%).

Categories

Resources