[OPEN SOURCE][TWEAK] Project WIPE - ONE hr longer battery life with LITTLE compromise - Android Apps and Games

Update
20180803:
Project WIPE is now OPEN SOURCE.
See: https://github.com/yc9559/cpufreq-interactive-opt/tree/master/project/20180603-2
20180628 (20180603.2):
misc: change input boost strategy, first value of targetloads 80->(3~60) for 2.5s, may reduce jitters while interacting
misc: change dynamic freq lock from 2.0G to 1.9G
template: new template architecture, easy to transplant, easy to read,but a bit abstract
template: check whether parameters have been applied before the script finish
template: add platform name
template: fix hmp parameters chmod error
template: fix ignore_hispeed_on_notif error
template: turn off msm_thermal/core_control
template: fix clusters stuck at the highest freq problem caused by perfd
Supported SOCs
Snapdragon 835, 820/821, 810/808, 801/800/805, 660, 636, 652/650, 625/626
Exynos 8895, 8890, 7420
Kirin 970, 960, 950/955
Helio X20/X25, X10
Atom z3560/z3580
Introduction
Compared to manually tuning interactive governor parameters, can we go further?
YES.
The interactive governor is very popular in Android phones. In the past, there have been projects that have achieved excellent life by tuning its parameters, such as AKT and Helix Engine. This is also true of this project. I used to benefit from @soniCron's tutorial posts, "Advanced Interactive Governor Tweaks". After repeated argumentation, I got a set of suitable parameters to share on the web. But soon I received such replies, "Why scrolling screen is laggy?", "Why the game isn't running smoothly?". After a long period of trying, I realized that you can not have it both ways. This should have a better solution. In order to avoid some misunderstanding of interactive, I try not to rely on understanding from the tutorial posts, in-depth source code to understand the role of each parameter in the process.
Tuning the interactive parameters by our feeling, there are the following problems:
difficulties to have clear feedback
hard to reach the balance of power consumption and performance
complex interactive parameters
This project aims to solve the problems above by creating automated programs as follows:
real world workload capture
interactive governor process simulation
cost function of lag and power comsuption
iteration to obtain local optimum using NSGA2
{
"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"
}
S821 Kyro Gold powermodel
The workload sequence captured on Nexus 9
This idea is similar to EAS, which takes into account both performance and power consumption costs through power consumption models and workload sequence, but obviously, EAS has a much lower response time and replaces tuning with decision logic.
Compared to manual tuning parameters, Project WIPE generates parameters that can adapt to multiple styles of workload sequences and produce a suitable combination of parameters for almost all mainstream SOCs.
This project began in July 2017, reached the first version in November 2017, and ended after the completion on June 3, 2018. Previous tests and feedback for improvements were performed on the Coolapk platform and the results were excellent. Now I share this result in the XDA forum.
Profile contains...
This is an executable script file generated by Project WIPE, the Workload-based Interactive Parameter Explorer.
Performance configuration brings four modes:
Balanced: ~1 hour longer on-screen battery life with little performance compromise, recommended
Laggy: ~1.5+ hours longer on-screen battery life, may lag in some scenarios where the load fluctuates dramatically
Power-wasting: ~0.5 hour longer on-screen battery life, balanced profile with quicker response
Low latency: for soft real tasks, butter smooth in tense gamming for a long period
In addition, it also includes other parameter tuning, such as IO scheduler and HMP parameters, to unify the rest of the parameters for a more consistent experience.
Requirements
ROOTED
Deep sleep time exceeds 90% of standby time
No other modifications which may tweak kernel tunables automatically (e.g. Advanced Kernel Tweaks)
Do it by yourself
Download performance configuration corresponding to your phone SOC, and extract it
Move it to "/data", rename it as "powercfg", set the permission of this file to 0755
Use the commands below to apply temporary changes to your system, it will recover after reboot
After applying changes, use `sh /data/powercfg debug` to make sure that it works
Use it with utilities to switch mode according to Top-App, such as Tasker, Magisk, vtool
Switch mode:
Code:
# switch to Balanced
sh /data/powercfg balance
# switch to Laggy
sh /data/powercfg powersave
# switch to Power-wasting
sh /data/powercfg performance
# switch to Low latency
sh /data/powercfg fast
Download
https://github.com/yc9559/cpufreq-interactive-opt/blob/master/20180603-description.md
OR
See the "Downloads" TAB of this thread
Credit
@soniCron: Advanced Interactive Governor Tweaks; Buttery smooth and insane battery life!
Distributed Evolutionary Algorithms in Python
Comrades who have helpful feedback on the Coolapk platform (in ascending order of time):
Code:
@Fdss45 @yy688go @Jouiz @lpc3123191239 @小方叔叔 @星辰紫光 @ℳ๓叶落情殇 @屁屁痒 @发热不卡算我输 @予北 @選擇遺忘 @想飞的小伙 @白而出清 @AshLight @微风阵阵 @半阳半心 @AhZHI @悲欢余生有人听 @YaomiHwang @花生味 @胡同口卖菜的 @gce8980 @vesakam @q1006237211 @Runds @lmentor @萝莉控の胜利 @iMeaCore @Dfift半島鐵盒 @wenjiahong @星空未来 @水瓶 @瓜瓜皮 @默认用户名8 @影灬无神 @橘猫520 @此用户名已存在 @ピロちゃん @Jaceﮥ @黑白颠倒的年华0 @九日不能贱 @fineable @哑剧 @zokkkk @永恒的丶齿轮 @L风云 @Immature_H @xujiyuan723 @Ace蒙奇 @ちぃ @木子茶i同学 @HEX_Stan @_暗香浮动月黄昏 @子喜 @ft1858336 @xxxxuanran @Scorpiring @猫见 @僞裝灬 @请叫我芦柑 @吃瓜子的小白 @HELISIGN @鹰雏 @贫家boy有何贵干 @Yoooooo @揪你鸡儿
[/SIZE]
XDA:DevDB Information
Project WIPE, Tool/Utility for all devices (see above for details)
Contributors
yc9559
Project: https://github.com/yc9559/cpufreq-interactive-opt/
Version Information
Status: Stable
Current Stable Version: 20180603.2
Stable Release Date: 2018-06-28
Created 2018-06-09
Last Updated 2018-06-09

Reserved

self pop

How to switch profiles by using kernel auditor?
And also to check if the profile is switched?

bagajohny said:
How to switch profiles by using kernel auditor?
And also to check if the profile is switched?
Click to expand...
Click to collapse
Use simulate init.d to execute the shell script.
Check whether the interactive parameters have changed.

well, self-pop again

what is the font used in images tell please

can support exynos 7870 ?

Did someone tried on kirin 970?
Sent from my HUAWEI BKL-L09 using XDA Labs

Want to try this but didn't fully understood the execution part

It seems work on my Mi4LTE, now on see how the performance about a weeks

pokepokepoke said:
what is the font used in images tell please
Click to expand...
Click to collapse
PingFang SC

luuphong559 said:
can support exynos 7870 ?
Click to expand...
Click to collapse
It actually can, but I won't support this soc due to the little market share of it.

Dbj.Dhaval said:
Want to try this but didn't fully understood the execution part
Click to expand...
Click to collapse
Go to this link: https://github.com/yc9559/cpufreq-interactive-opt/blob/master/20180603-description.md
Some pictures on this webpage will help you to understand it.

wkobaint said:
It seems work on my Mi4LTE, now on see how the performance about a weeks
Click to expand...
Click to collapse
I'm looking forward to your reply.

Can you update a version forn Snapdragon 430
Im eager to try. Cuz the Advanced Interactive Governor Tweak too complex for me.

toji12 said:
Can you update a version forn Snapdragon 430
Im eager to try. Cuz the Advanced Interactive Governor Tweak too complex for me.
Click to expand...
Click to collapse
Sorry, S430 is not supported.

yc9559 said:
I'm looking forward to your reply.
Click to expand...
Click to collapse
I've a little bit problem.
Why your script doesn't stick on one of my Mi4c?
I had some setup same as on my Mi4 but it can't stick.

wkobaint said:
I've a little bit problem.
Why your script doesn't stick on one of my Mi4c?
I had some setup same as on my Mi4 but it can't stick.
Click to expand...
Click to collapse
Do not execute the script for s801 on s810 device

yc9559 said:
Do not execute the script for s801 on s810 device
Click to expand...
Click to collapse
just executed the script (balance) for my sd810. debug shows it applied but whenever the script is executed it shows few errors like CPU4 permission denied
powercfg has 755 permission correct
"can't create /sys/devices/system/cpu/cpu4/online: permission denied
can't create /sys/devices/system/cpu/cpu5/online: permission denied
can't create /sys/devices/system/cpu/cpu6/online: permission denied"

Related

Battery Tweak Epic Edition RC1

Plans for next revision:
*Add in Decad3nce's temperature control
*Bug nullghost till he gets init scripts running so we can have this startup at boot
This is really a tool for power users
If you don't consider yourself 'comfortable' with messing with your phone, then don't.
This is mostly the work of collin_ph, all the ideas are mostly his and I have only contributed in part to getting some things functioning correctly and some optimizations for the Epic.
What does it do?
This tweak creates a service that periodically checks the phone's power source.
If the power source changes, it reconfigures the device for maximum performace, battery and safety.
Tweaks memory settings for current power source
Re-clocks CPU based upon battery remaining or current power source
Reclocks for maximum performance if on AC power
Reclocks for maximum performance and charging safety if on USB
Reclocks for performance and battery if on Battery
As Battery life is diminished, Maximum CPU frequency is lowered
Tweaks scaling charactaristics depending on power sourcee
CPU Scales up less frequently on battery power
CPU Scales up more frequently on USB/AC power
The CPU is allowed to scale dynamically in all charging states based upon CPU usage
Includes a batt-cfg utility to configure the system
You may load 1 of 3 pre built profiles
Manually configure CPU Frequencies in all charging states
Determine the percentage of underclocking as the battery drains
Configure how often to poll the power state / battery statys
Disable batt.sh service from running at startup
Includes a batt-rm.sh uninstall utility
Includes a batt-diag diagnostic utility
Includes optional Disk performance tweaks (enabled by default)
The Tools
The entire 'application' is written in shell code and was first written just to give a performance and battery boost, but since has evolved more and more.
All the tools mentioned will be utilized either through the terminal, or in adb shell.
batt.sh
This is the core of the entire script. Don't mess with it.
The one thing you should do after installing the script:
Code:
Code:
pidof batt.sh
If theres any number showing up after it, then it's working fine.
batt-cfg
This is the 'main menu' of sorts, as it gives the user all the options and allows them to toggle tweaks/mods on the fly.
{
"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"
}
batt-diag
It's a diagnostics utility, allowing you or someone knowledgeable to figure out any issues that you may be having with your device and be able to pinpoint exactly where the problem is.
batt-diag -v gives a more thorough output as you can see here; http://pastie.org/1162034
batt-rm.sh
It's a battery tweak removal script, follow the onscreen prompts and it should remove just about any trace of the battery tweak script.
The Presets
The presets are just default configurations that I have set up that can make your phone more efficient without you, the user, having to manually set everything.
The preset of 800 literally means that 800000 is the scaling_max_freq, or the max frequency, that your phone can achieve after you enable it.
Just typing 1, and then enter, you'll be ready and set to go. Same with 2 or 3.
Customize Settings
This is only for the experienced user, and it allows you to manipulate most/ifnotall the configurables on your device.
Note, you do not need to configure anything to enable this battery mod. Default settings will be assigned at 800MHz.
All the settings explain what each option does, so read them carefully.
Disk Boost
Remounts via noatime and nodiratime. Look up what that means on your own, and why it benefits performance the way it does.
Prerequisites needed to run this
Phoenix kernel 1.48 with Epic Experience should run this just fine
If you're running any other kind of rom, feel free to try it but i cannot guarantee that it will work.
This script will WORK even if you don't have the import call at boot, but it won't survive on the next reboot.
You can check via:
Code:
Code:
pidof batt.sh
NOTE: This script will also prompt you to try to run itself as root if you use it in terminal.
Contributors:
Collin_ph
Decad3nce
myn
onicrom
shabbypenguin
nullghost (aka tehdarkknight)
*make sure you are running these as root*
*disable setcpu while running this*
*been reported as rom manager fc's after batt tweak, simple fix reinstall rom manager* - thanks for the tip Raiderep
Finally got that working
This is perfect. As a former hero user, I was thinking to myself a couple days ago "I wonder if anyone is going to port the collin_ph battery tweak," and here it is.
Thanks!
I'm about to head into work and I got this downloaded. I'll put it to the test for the day. Thanx for the port or whatever you call it, I had this on hero and loved being able to get rid of setcpu(which I never really liked) but still have something governing battery use
Is this compatible or even needed with the mix up kernel?
compatible? maybe as i said this is known working on phoenix kernel as for others i cannot say. needed? well that depends are you happy with your current battery life?
Using Phoenix kernel 1.48 with Epic Experience bogged down my phone after installing, im only at 76% battery life, i cant imagine how slow it would be at 20%
edit:
its fine now, i guess it had to load initially?
Whats the best settings you think we should run..for the best battery life
800mhz or you can use configure to keep that even lower... obviously the lower the cpu freq the less voltage it uses = better battery life
I just set this up to the 800mhz defaults. I will come back with results
How does this govern cpu clocking and usage? I'm assuming there's no live governer such as ondemand or interactive at play here?
phoenix 1.48 has a working interactive governor
shabbypenguin said:
compatible? maybe as i said this is known working on phoenix kernel as for others i cannot say. needed? well that depends are you happy with your current battery life?
Click to expand...
Click to collapse
I don't think anybody is That being said, great work shabby, can't wait til nullghost gets his init scripts working.
shabbypenguin said:
phoenix 1.48 has a working interactive governor
Click to expand...
Click to collapse
So how does this affect setcpu? I'm runnin baked 1.3 ghz kernel..does this mean after I install I won't be at 1.3?
Sent from my SPH-D700 using Tapatalk
this is set for 800/1ghz/1.2ghz i included the configure option so people can make teh .conf however they see fit.. if batt.sh runs on it then it will scale from 1.3ghz after you configure it. witht he beta versions i dont believe anyone got it working on baked snack but if you try please let me know if it works what doesnt etc etc
when i try to run batt.sh i get this message...Mount: cant find /mnt/sdcard in /proc/mounts..what does this mean
its an issue im trying to figure out, batt.sh works fine without it, thats part of the disk speedups, in batt-cfg you can disable it
new feature will update tomorrow
not sure why but shootme is screwy for me recently as you can see. i have 0% tws, 37% voice calls at 30 mins 29s display is on for over an hour. screen is at auto, 3g, drm services RUNNING. oh yea im at 1.2ghz
Still have problems with this tweak...this is wat iam getting when I do batt-cfg I hit number one and I get this....
Loading 800mhz default
[: Bad number
Save settings...
Settings saved
Starting batt.sh
Note: when you exit ADB or terminal, you may have to hit
CTRL-C
Then my phone freezes and I have to pull the battery
Sent from my SPH-D700 using Tapatalk

[APP]Voltage Control - control OC/UV for OC kernels

I take no responsibility for ANY damage / data loss may occur. Use this at your own risk. Beta quality software!/Alpha quality features!
The app has its roots in Samsung i9000 (Galaxy S) and i9100 (Galaxy S2).
Now its time for wider audience, I think its ready for use on many more devices.
Stats:
It has over 100.000 market downloads and over 50.000 active users!
I know its been posted elsewhere, but I've seen some similar apps posted in this forum, I think that my app is worth it.
ICS compatible
(lol ofc)
Look for kernels with this label:
Kernel developers who added VC support please show this image in your topic
{
"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"
}
Features:
- minimum/maximum CPU frequency choosing
- selecting IO scheduler
- selecting CPU governor
* changing voltage per frequency
* chosing which frequencies should be used and which shouldnt
- saving settings to be automatically applied at boot (init.d script, startup service)
- save/load 1 profile (lite)
- Widget with profile switcher and app launcher (passive, little to no resources used!)
- well designed and highly optimised UI (I hope..)
- robust kernel detection, support of not-so-well-working kernels
- device info page
- Siyah SGS2 kernel interfaces (Charging current and GPU OC/UV, bus frequency)
- (extreme) CPU usage history page
- (extreme) multiple profiles support
About donations:
This software is available free of charge.
It cooperates with OC kernel by raspdeep.
It uses some code from: MarketEnabler (Fool your market to make all apps visible!)
If you find this software useful, please consider funding a beer and pizza. There is a "Donate to me" link just over my avatar.
Donator list:
nitr8
kalpik
laststufo
glitterballs
screwyluie
Gembol
Coreym
...
many, many more (1000+) users from Android Market!
Thanks!
How to?
Generally idea is simple: make changes and hit apply. If any changes have been made apply/discard buttons appear on bottom.
The first tab, "General" allows to change scheduler, governor/min and max frequencies.
Everything is easy and straightforward, if You need help ask here.
You can always discard changes before applying if you want start from loaded settings.
Profile support:
To save as boot -> press menu key, then select "Save as boot settings".
Boot settings are automatically loaded on every device boot.
RECOVERY
If Your device freezes after boot because of too agressive boot settings (init.d):
Just use vcremoveboot.zip which is placed on /sdcard/. App will ask you to place it, I recommend to do so.
To avoid problems use startup service; its safer and more realiable.
FAQ:
Q: Extreme version?
Yes, I wanted to give some extras for people that support my work.
For now features exclusive to Extreme version are:
+ overvolting capability (max +50mV, 1500mV absolute maximum)
+ increased uv range (max -250mV)
+ CPU usage history page
+ multiple profiles support
Basic functionality will allways remain free. This relies on work of multiple kernel developers, so I really cant ask money for what they have done!
Q: What is it?
Its voltage control app for undervolt and overclocking kernels providing sysfs interface.
More and more developers are releasing wonderful kernels with customisation options. My goal is to make it user-friendly, easily and safe to use them.
Q: What does it mean to undevolt, and what is overclocking?
Read more in "OC / UV 101" section That is a detailed(sort of) explanation what UV/OC means.
Check this great overclocking/undervolting guide by shaolin95 (thanks!) and discussion topic!
Prerequisites:
-root (superuser + su)
-busybox
-OC kernel supporting either UVLF and UVHF
Voltage Control Extreme unlock Key on Android Market!
For now features exclusive to Extreme version are:
+ More than two profiles
+ CPU History page
+ overvolting capability (max +50mV, 1500mV absolute maximum)
+ increased uv range (max -250mV)
Click to expand...
Click to collapse
-----reserved-----
good one! thanks
How ca I set profiles? I have valid Extreme license.
Edit: Ok, I found it. But is there some tasker to set profiles depending of time or screen state for example?
Go to profiles menu by pressing on the app title, then press + button on the end of the list, enter a name, select it from list, apply
//edit: no there is no such functionality yet.
I can do that, but I'm not sure it shoud be present. I dont want the app to consume any resources when not running.
I think it would be nice feature, but it's just my opinion... Maybe some poll?
I just downloaded SleeperRom on my Epic 4g and this app came in with the rom. I'm curious and want to play around with it, since I am new to rooting. I see that there are few different cpu governors, but I do not know anything about it. So I'm wondering to see if you could list and explain what those are? Any help will be appreciated!
Here you go:
http://forum.xda-developers.com/showthread.php?t=1369817

[GUIDE] Make da Phone run FASTER. Settings optimilization, Barebones, Modding CM11

{
"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"
}
Settings Optimilization
(Requirements: being literate, at least half a brain, common sense. If you don't meet these, listen to da song
and go away)​Processor Tweaks
CPU Governor
A CPU governor in Android controls how the CPU raises and lowers its frequency in response to the demands the user is placing on their device
1: OnDemand Governor:
Main goal of the ondemand governor is to switch to max frequency as soon as there is a CPU activity detected to ensure the responsiveness of the system. Ondemand jumps to maximum frequency and decreases the frequency gradually when CPU is less loaded/apporaching idle.
2: Userspace Governor:
This governor, exceptionally rare for the world of mobile devices, allows any program executed by the user to set the CPU's operating frequency.
3: Interactive Governor:
Can be considered a faster ondemand. Snappier with similar battery life.
4: Performance Governor:
This locks the phone's CPU at maximum frequency. Not very power efficient but God, it's fast.
Minimum and Maximum CPU Frequency
These are the values between which your cpu will scale it's clockspeed. The lower is Min value the less battery your phone should consume when not bothered. Max value is the border of how high you will let you CPU go.
The higher it goes the more battery it eats. Many people say it improves the performance, some that it doesn't. Too high values can cause freezes so don't be surprised when that happens
HTC Desire S values:
Min 245-368
Max 1024-1516
Experimental 1612-1804
I/O scheduler
I/O scheduler basically determines the order in which things get written to or read from storage. It will prioritize each block of data based on which process is requesting the operation or how much time it takes to complete each operation
1: Noop:
Inserts all the incoming I/O requests to a First In, First Out queue and implements request merging.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
2: Deadline:
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
3: ROW
The ROW IO scheduler was developed with the mobile devices needs in
mind. Favoring READ requests over WRITEs decreases the READ latency greatly.
Advantages:
Best READ values so very fast user experience
Disadvantages:
Not so good at WRITEing
4: CFQ:
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ.
5: BFQ
Instead of time slices allocation by CFQ, BFQ assigns budgets. Disk is granted to an active process until it's budget (number of sectors) expires.
Advantages:
Believed to be very good for usb data transfer rate.
Believed to be the best scheduler for HD video recording and video streaming. (because of less jitter as compared to CFQ and others)
Considered an accurate i/o scheduler.
Achieves about 30% more throughput than CFQ on most workloads.
Disadvantages:
Not the best scheduler for benchmarking.
Higher budget assigned to a process can affect interactivity and increased latency.
Set on boot
This option sets your CPU values on boot. It's good to let your phone run on your settings for a while before doing that.
Memory management and miscellaneous
zRAM
zRam is a virtual memory, also known as swap space, which lives in the ram. Virtual memory is the part where the system stores memory fragments which are not accessed, making more room for apps to store information in the ram. From my experience makes phone faster.
Advantages:
More memory for you.
Disadvantages:
It uses CPU to compress/decompress so battery dies faster/might cause some lags.
Allow purging of assets
Purging of bitmap memory assets. Think of it as allowing stale items in RAM to be tossed out when you need more RAM.
Kernel samepege merging
Let's say that we have processes called "A" and "B". "A" needs "Y" data to be loaded in memory to run and "B" needs "Z" data. Assuming that "Y" and "Z" are identical kernel samepege merging merges those identical processes into "X" thus increasing available RAM.
16bit transparency & Surface iprovement
Some users claim better performence/smaller battery usage after enabling 16bit and disabling Surface improvement
Barebones
Some of the apps that come with your phone can be safely removed without causing stability issues. They take up space and use resources that could be used for other things. Removing unwanted apps will theoretically make your phone run faster and smoother, plus, you can configure your phone just the way you want it.
WE WANT YOU​to help developing Barebones​
How do I do that?
1. Click on the link.
2. Login to cyanogenmod wiki.
3. Click edit
4. You will see a list of templates. Click (edit) next to Template:Barebones cm10.1
How do I add an app?
You will see something like this:
! <apk name>
! <package name>
! Remove
! Description
! Version
|-
|Android keyboard
|com.android.inputmethod.latin
|{{yes}}
|Stock android keyboard. Safe to remove if replaced with something else for eg. Swype,Swift
|4.2.2
|-
Click to expand...
Click to collapse
These are columns:
! <apk name>
! <package name>
! Remove
! Description
! Version
Click to expand...
Click to collapse
This is how you start and end your row:
|-
Click to expand...
Click to collapse
Behind this you have to write your column content
|
Click to expand...
Click to collapse
Warning! You always have to make all columns even if you want to leave them empty.
Modding
Modding​
So, Google IT guys are the best, they know everything better and magic rainbow is flowing out of their arses... Yet still some people find ways to improve Android:
V6 Supercharger:
Turbo Boost:
RTMixManager™
Looking for a real functioning game booster? Get one here!
CrossBreeder
Lag Reduce/Entropy/DNS+/Tether+/Adblock/Censor Bypass
Direct Injection Turbo
The end
What do you want from us?​
1. Post your settings/OC/ideas on how to make Phone run Faster.
2. Help updating Barebones.
3. Post Mods you're using
Credits: droidphile, mj.vikram, http://androidforums.com/, http://rootzwiki.com/, http://wiki.cyanogenmod.org/, and others...
not bad.... here are some suggestions for post 3
http://forum.xda-developers.com/showthread.php?t=2076101
http://forum.xda-developers.com/showthread.php?t=2113150
http://forum.xda-developers.com/showthread.php?t=2158329
Sent from my GT-I9505 using Tapatalk 2
hisname said:
not bad.... here are some suggestions for post 3
http://forum.xda-developers.com/showthread.php?t=2076101
http://forum.xda-developers.com/showthread.php?t=2113150
http://forum.xda-developers.com/showthread.php?t=2158329
Sent from my GT-I9505 using Tapatalk 2
Click to expand...
Click to collapse
Thanks! Updated.
Hi there is like this new setting in cm11, force high end setting. Anyone care to share their thoughts about that?

KERNEL ❯ PIXEL 5 ❯ Proton Kernel

Proton Kernel
Performance-oriented kernel​
Proton Kernel is a minimal kernel focused on improving overall UX with performance and battery tuning.
Usage with my ProtonAOSP ROM is recommended to get the most out of your phone. The ROM does not include Proton Kernel, so you will need to flash it yourself. The kernel alone will work just as well on stock, but you will not get the benefits of the ROM. More tightly coupled features may be added in the future.
Installation
This kernel is provided as a bootable flasher image. It is not a boot image for flashing into the boot partition. Boot the image with "fastboot boot ProtonKernel-pixel5-VERSION.img" to flash it. The image is specially packed with a custom flasher that is fast and easy to use, so flashing it into the boot partition directly will not work.
All versions of all ROMs are supported, as well as Magisk if you wish to use it. Magisk will be preserved after flashing if you already have it installed. If not, you can install Magisk by patching your boot image before flashing the kernel.
DO NOT FLASH THE IMAGE DIRECTLY TO THE BOOT PARTITION! It will not work, no matter what you flash it with — fastboot, kernel managers, etc.
Features
• Advanced CPU tuning specifically for the Snapdragon 765G to improve performance and reduce jitter
• Scheduler ramp/decay tuning for faster response to quick actions
• Display power-saving tweaks (mostly Pixel 5 only)
• Near-instant display wakeup (Pixel 5 only)
• Reduced touch latency and motion jitter (at the cost of losing Deep Press)
• ThinLTO optimizations for performance
• TCP ECN, BBR congestion control, and fq_codel network scheduler for faster and more reliable networking
• 80 MiB of extra RAM unlocked for apps to use
• More linear and consistent battery percentage curve
• Custom fast & easy kernel flasher with support for Magisk and all ROMs
• Minimal debugging for better security, performance, and reduced size
• Sultan's Simple Low Memory Killer to improve memory utilization
• Tuning for F2FS garbage collection, low-level atomic operations, and more
• System call filters compiled to machine code for 66% faster filtering
• Reduced CPU usage when using cellular data (for testing with 5G mmWave networks)
• Compiled with the latest Proton Clang 13 toolchain
• zRAM disabled to reduce CPU waste
• WireGuard VPN acceleration
• Support for power user tasks: USB modem-like devices (e.g. RFID tools), custom virtual USB Ethernet networking, isolated Linux containers
• SafetyNet basic attestation passing without Magisk
Click to expand...
Click to collapse
Downloads
Downloads and changelogs can be found on GitHub. The topmost release is the latest.
Make sure you download a flasher image, not source code! Source code cannot be flashed.
Join the Telegram group for support and extras
Donate to support development: recurring donation to keep the project alive in the long term or buy me a coffee
Source code
Nice
How come min CPU is 1516
jaythenut said:
How come min CPU is 1516
Click to expand...
Click to collapse
I think it's based on this commit: https://github.com/kdrag0n/proton_kernel_redbull/commit/08b5b13c4a1f551163106691b42c3c8bdb339e0d
Have a read of the description of the commit to understand why it's done this way.
Sent from my Pixel 5 using XDA Labs
Going to give this a try today! Thanks
Thanks a lot for your hard work .
Sent from my BASIC using Tapatalk
Where's the performance? This is a lagfest. I'm sorry I hurt your feelings. But usually the truth hurts.https://www.linuxjournal.com/content/android-low-memory-killer-or-out
Jackie Coyote said:
Where's the performance? This is a lagfest. I'm sorry I hurt your feelings. But usually the truth hurts.https://www.linuxjournal.com/content/android-low-memory-killer-or-out
Click to expand...
Click to collapse
That sounds like something is wrong with your setup (not necessarily your fault) because my own device is performing great on this kernel. Please send kernel and Android logs using the SysLog app. It would also be helpful to get more details: slow or janky, where, what, when, etc.
I'm not sure what you're trying to say with the Simple LMK article, but I've had a great experience with SLMK on all of my devices. It's very unlikely that it's causing issues for you. The stance of mainline Linux developers do not always align with providing the best possible experience on mobile and Android as they are interested in satisfying a much wider array of needs and unifying them as much as possible.
kdrag0n said:
That sounds like something is wrong with your setup (not necessarily your fault) because my own device is performing great on this kernel. Please send kernel and Android logs using the SysLog app. It would also be helpful to get more details: slow or janky, where, what, when, etc.
I'm not sure what you're trying to say with the Simple LMK article, but I've had a great experience with SLMK on all of my devices. It's very unlikely that it's causing issues for you. The stance of mainline Linux developers do not always align with providing the best possible experience on mobile and Android as they are interested in satisfying a much wider array of needs and unifying them as much as possible.
Click to expand...
Click to collapse
Good luck with your kernel. I have the deepest RESPECT for you and Sultan. You guys make the Android community far better than it could ever be. There is not many of you guys that are so committed i will always appreciate your work.
That being said, I am so sensitive and picky it's not even funny. Lol
Here's my problem. I'm so busy and overwhelmed that trying to help you is futile.
I really think I could and would. If I could retire. This is always my work device. They pay me for this. That being said. I have no logs and wish you the best.
Battery life and stability are superior. .. thanks for all your efforts @kdrag0n .. I wish the old pixels got this superior life . Cya in telegram keep it up fella..
Thank you very much for your work! Everything is working really well for me, battery life is amazing!
I am using your rom and kernel and flashing your kernel just improved perfomance im my favourite game (which I've been playing for years) a LOT!
In certain parts it was really laggy before and now it's just smooth
So thanks again
Works great with your ROM brother, thank you so much for your work <3
so once the phone is rebooted, fastboot process needed to be redone?
Vio281 said:
so once the phone is rebooted, fastboot process needed to be redone?
Click to expand...
Click to collapse
No, the installed kernel is persistent.
kdrag0n said:
No, the installed kernel is persistent.
Click to expand...
Click to collapse
Thanks appreciate it, been a while since I am in the flashing game, your kernel is really good, I can tell by how it scroll in youtube. Anyway if you could look into swap space, and disable it, I know I done this in my Linux computer at work and I use to do it on android phones, not sure if they evolve into z-swap but that always give me an improve performance.
Vio281 said:
Thanks appreciate it, been a while since I am in the flashing game, your kernel is really good, I can tell by how it scroll in youtube. Anyway if you could look into swap space, and disable it, I know I done this in my Linux computer at work and I use to do it on android phones, not sure if they evolve into z-swap but that always give me an improve performance.
Click to expand...
Click to collapse
Modern Android phones use zRAM for swap, which this kernel has disabled.
Hi, it's not possible to flash it with Ex kernel manger app isn't it ?
Jarrod666 said:
Hi, it's not possible to flash it with Ex kernel manger app isn't it ?
Click to expand...
Click to collapse
No it's not possible,
You have to fastboot boot the kernel. When it boots the kernel it will flash itself in its own little installer and then reboot to android with the kernel flashed.
rav101 said:
No it's not possible,
You have to fastboot boot the kernel. When it boots the kernel it will flash itself in its own little installer and then reboot to android with the kernel flashed.
Click to expand...
Click to collapse
Ok thank you
I keep coming back to this kernel after flashing the other...this kernel is legit!
Was already impressed with the battery-life provided by ProtonAOSP's bundled kernel, but was shocked by the gains in battery-life after installing the ProtonKernel (no Gapps):
{
"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"
}

How To Guide Optimise Stock Kernel Scheduler & Governor Setting

So, after months of using Pixel 7 family, surely we all know that Tensor 2 is not exactly the best flagship SOC in term of raw power or energy usage, probably due to it's "Exynos Genetics Trait"
that being said, doesnt mean it's down bad. And with some optimisation, we can always try to make it run better. One of the example is by seeing how much better it run on custom kernel. But what about other stock kernel user ?
Well, fortunately, as long as we have root access, the stock kernel still allow us to play with some parameter. And here are some tunables parameters that i use to balance the energy usage and responsiveness of the device. (my aim is 10% battery for 1 Hour of SoT and ±0-1% decrease during 6-10hrs idle)
If you want to know more about each parameters, you can google a lot of linux kernel documentation (like here for example : https://access.redhat.com/solutions/177953)
but for now i'll just write down the change and my configurations. (I used EX Kernel Manager to change the parameters) :
CPU Section :
Switch governors for all CPU clusters from 'sched_pixel' to 'shedutil'
Open "Governor Options" and change the 'rate_limit_us' for all clusters from '10000' to '0'
Open "CPU scheduler options" and use bellow value for respected parameters :
sched_wakeup_granularity_ns : 10000000
sched_tunable_scaling : 1
sched_min_granulatity_ns : 2000000
sched_latency_ns : 12000000
Memory Section :
Disable "ZRAM"
That's it for now. Try and feedback if you find any improvement in your energy usage.
I've been using it for weeks, and pretty happy especially with idle drain. As for SoT, normally i end up with 5-6 Hrs screen time when i down to bed with ±30% battery remaining.
otonieru said:
So, after months of using Pixel 7 family, surely we all know that Tensor 2 is not exactly the best flagship SOC in term of raw power or energy usage, probably due to it's "Exynos Genetics Trait"
that being said, doesnt mean it's down bad. And with some optimisation, we can always try to make it run better. One of the example is by seeing how much better it run on custom kernel. But what about other stock kernel user ?
Well, fortunately, as long as we have root access, the stock kernel still allow us to play with some parameter. And here are some tunables parameters that i use to balance the energy usage and responsiveness of the device. (my aim is 10% battery for 1 Hour of SoT and ±0-1% decrease during 6-10hrs idle)
If you want to know more about each parameters, you can google a lot of linux kernel documentation (like here for example : https://access.redhat.com/solutions/177953)
but for now i'll just write down the change and my configurations. (I used EX Kernel Manager to change the parameters) :
CPU Section :
Switch governors for all CPU clusters from 'sched_pixel' to 'shedutil'
Open "Governor Options" and change the 'rate_limit_us' for all clusters from '10000' to '0'
Open "CPU scheduler options" and use bellow value for respected parameters :
sched_wakeup_granularity_ns : 10000000
sched_tunable_scaling : 1
sched_min_granulatity_ns : 2000000
sched_latency_ns : 12000000
Memory Section :
Disable "ZRAM"
That's it for now. Try and feedback if you find any improvement in your energy usage.
I've been using it for weeks, and pretty happy especially with idle drain. As for SoT, normally i end up with 5-6 Hrs screen time when i down to bed with ±30% battery remaining.
Click to expand...
Click to collapse
Someone said that it reverts back once you reboot?
elong7681 said:
Someone said that it reverts back once you reboot?
Click to expand...
Click to collapse
In the Franco Kernel Manager, there's an option to "keep" the new settings on a reboot. (Not sure about the EX Kernel Manager.)
elong7681 said:
Someone said that it reverts back once you reboot?
Click to expand...
Click to collapse
Right, it reverts back for CPU Governor (Cluster 3) after a reboot. (with EXKM)
{
"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"
}
Then I tried with FKM and problem is the same.
I will see after the night how is my battery drain.
But i can't complain because i loose only 2 or 3% during night (8h)
(Bluetooth and 5G on) No wifi because 5G signal is good.
No custom rom, rooted, january update.
Plathoon said:
Right, it reverts back for CPU Governor (Cluster 3) after a reboot. (with EXKM)
View attachment 5817379
Then I tried with FKM and problem is the same.
I will see after the night how is my battery drain.
But i can't complain because i loose only 2 or 3% during night (8h)
(Bluetooth and 5G on) No wifi because 5G signal is good.
No custom rom, rooted, january update.
Click to expand...
Click to collapse
It's expected that it reverts back to default because it's controlled by multiple things. People shouldn't change the governor. There is a write-up on this in Freak's kernel thread.
ekin_strops said:
It's expected that it reverts back to default because it's controlled by multiple things. People shouldn't change the governor. There is a write-up on this in Freak's kernel thread.
Click to expand...
Click to collapse
Can you provide a link to the write-up please?
Pixel86 said:
Can you provide a link to the write-up please?
Click to expand...
Click to collapse
Post
Mrcactuseater what's your deal always laughing at genuine posts?
ekin_strops said:
It's expected that it reverts back to default because it's controlled by multiple things. People shouldn't change the governor. There is a write-up on this in Freak's kernel thread.
Click to expand...
Click to collapse
Actually you can change the CPU governor from the default one to one of the additional existing alternatives.
The issue is just that the frequency scaling driver for the affected CPU cluster(s) will break if the PowerHAL detects that the Sched_Pixel governor isn't "there" anymore for doing the job that it is supposed to do.
Plathoon said:
But i can't complain because i loose only 2 or 3% during night (8h)
(Bluetooth and 5G on) No wifi because 5G signal is good.
No custom rom, rooted, january update.
Click to expand...
Click to collapse
Damn that's less than half of mine...
Not_Purgatory said:
Actually you can change the CPU governor from the default one to one of the additional existing alternatives.
The issue is just that the frequency scaling driver for the affected CPU cluster(s) will break if the PowerHAL detects that the Sched_Pixel governor isn't "there" anymore for doing the job that it is supposed to do.
Click to expand...
Click to collapse
I never wrote you can't change it, I wrote people SHOULDN'T change it to avoid the issues you mentioned.
You say to try to deactivate zram. Is there any real benefit? Zram is useful?
Techboyz97 said:
You say to try to deactivate zram. Is there any real benefit? Zram is useful?
Click to expand...
Click to collapse
You save CPU cycles at the expense of additional vRAM.
If you use smartpack kernel manager there's an option to apply all changes with a script on boot. That's the way I've always worked with kernels that won't allow changes to stick on boot
Pixel86 said:
You save CPU cycles at the expense of additional vRAM.
Click to expand...
Click to collapse
WUT? lol

Categories

Resources