6p Daydream Tweaks and Tips - Nexus 6P General

Hi all, got myself a Daydream and have been working on ways to make the experience better, and thought I'd share
Here's what I've done so far:
Make sure your build.prop device is set to angler and your ro.product.model is Nexus 6P
Check "Skip VR entry screens" in Developer Options in the Daydream app settings
Modify /etc/thermal-engine.conf to bump the throttling temperatures
Tweak governor to be as efficient as possible for Daydream use
Make sure Daydream, VR Services and Daydream Keyboard have all their permissions
I'm using stock ROM and the latest Franco kernel.
Results so far have been great, got through the Fantastic Beasts game without it lagging, then watched some youtube VR.
I'd love to make this even better, so share with me what you guys are doing to make your daydream experience better :highfive:
Updated 05/05/17 - v0.0.4
Code:
# Daydream Tweaks 0.0.4 - Xluco
#!/system/bin/sh
##################
# LITTLE Cluster #
##################
echo interactive > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 460000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 1344000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo '0:460000' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '1:460000' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '2:460000' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '3:460000' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '0:1344000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo '1:1344000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo '2:1344000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo '3:1344000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo "70 672000:79 768000:80 864000:54 960000:69 1248000:83 1344000:90" > /sys/devices/system/cpu/cpu0/cpufreq/interactive/target_loads
echo 400000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_slack
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/hispeed_freq
echo 20000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/timer_rate
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/above_hispeed_delay
echo 100 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/go_hispeed_load
echo 40000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/min_sample_time
echo 80000 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/max_freq_hysteresis
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boost
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu0/cpufreq/interactive/boostpulse_duration
###############
# big Cluster #
###############
echo 1 > /sys/devices/system/cpu/cpu4/online
echo interactive > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor
echo 1824000 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq
echo 633600 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq
echo '4:633600' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '5:633600' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '6:633600' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '7:633600' > /sys/module/msm_performance/parameters/cpu_min_freq
echo '4:1824000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo '5:1824000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo '6:1824000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo '7:1824000' > /sys/module/msm_performance/parameters/cpu_max_freq
echo "80 1248000:90 1536000:95" > /sys/devices/system/cpu/cpu4/cpufreq/interactive/target_loads
echo 3000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_slack
echo 768000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/hispeed_freq
echo 30000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/timer_rate
echo 30000 1248000:50000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/above_hispeed_delay
echo 90 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/go_hispeed_load
echo 30000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/min_sample_time
echo 80000 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/max_freq_hysteresis
echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/ignore_hispeed_on_notif
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/boost
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/fast_ramp_down
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/align_windows
echo 1 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_migration_notif
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/use_sched_load
echo 0 > /sys/devices/system/cpu/cpu4/cpufreq/interactive/boostpulse_duration
##################
# Boost Settings #
##################
# Enable Input Boost for LITTLE cluster @600MHz for 40ms
echo 1 > /sys/module/cpu_boost/parameters/input_boost_enabled
echo 0:0 1:0 2:0 3:768000 4:0 5:0 6:0 7:0 > /sys/module/cpu_boost/parameters/input_boost_freq
echo 0 > /sys/module/cpu_boost/parameters/boost_ms
echo 50 > /sys/module/cpu_boost/parameters/input_boost_ms
#################
# Thermal Settings #
#################
# Enable Core Control and Disable MSM Thermal Throttling
echo 0 > /sys/module/msm_thermal/core_control/enabled
echo Y > /sys/module/msm_thermal/parameters/enabled
#################
# IO Settings #
#################
echo 0 > /sys/block/mmcblk0/queue/iostats
echo 2 > /sys/block/mmcblk0/queue/rq_affinity
thermal-engine.conf
Code:
# [email protected]:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_fre>
# 384000 460800 600000 672000 768000 864000 960000 1248000 1344000 1478400 1555200
# [email protected]:/ # cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_available_fre>
# 384000 480000 633600 768000 864000 960000 1248000 1344000 1440000 1536000 1632000 1728000 1824000 1958400
# [email protected]:/ # cat /sys/class/kgsl/kgsl-3d0/devfreq/available_frequencies
# 600000000 510000000 450000000 390000000 305000000 180000000
[MONITOR_MSM_THERM_CLUSTER]
algo_type monitor
sampling 1000
sensor msm_therm
thresholds 46000 47000 48000 49000 50000 66000
thresholds_clr 45000 46000 47000 46000 47000 64000
actions cluster1 cluster1 cluster0 cluster0 cluster0 shutdown
action_info 1248000 960000 1344000 1248000 960000 1
[MONITOR_MSM_THERM_GPU]
algo_type monitor
sampling 1000
sensor msm_therm
thresholds 43000 45000 46000 47000 49000
thresholds_clr 42000 44000 45000 46000 48000
actions gpu gpu gpu gpu gpu
action_info 510000000 450000000 390000000 305000000 180000000
[MONITOR_MSM_THERM_HOTPLUG]
algo_type monitor
sampling 1000
sensor msm_therm
thresholds 46000 47000 48000
thresholds_clr 45000 46000 47000
actions hotplug_4+hotplug_5+hotplug_6+hotplug_7 hotplug_4+hotplug_5+hotplug_6+hotplug_7 hotplug_4+hotplug_5+hotplug_6+hotplug_7
action_info 0+0+0+1 0+1+0+1 1+1+1+1
[MONITOR_MSM_THERM_BUS]
algo_type monitor
sampling 1000
sensor msm_therm
thresholds 50000
thresholds_clr 47000
actions bus
action_info 1
[MONITOR_EMMC_THERM]
algo_type monitor
sampling 1000
sensor emmc_therm
thresholds 40000 42000 45000 53000
thresholds_clr 38000 40000 43000 50000
actions battery battery battery battery
action_info 1 2 3 4
[MONITOR_PA_THERM]
algo_type monitor
sampling 1000
sensor pa_therm1
thresholds 42000
thresholds_clr 40000
actions battery
action_info 3
[SS-GPU]
#algo_type ss
sampling 250
sensor gpu
device gpu
set_point 85000
set_point_clr 55000
time_constant 0
[SS-POPMEM]
#algo_type ss
sampling 10
sensor pop_mem
device cluster1
set_point 80000
set_point_clr 55000
time_constant 16
[SS-CPU7]
#algo_type ss
sampling 10
sensor cpu7
device cluster1
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU6]
#algo_type ss
sampling 10
sensor cpu6
device cluster1
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU5]
#algo_type ss
sampling 10
sensor cpu5
device cluster1
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU4]
#algo_type ss
sampling 10
sensor cpu4
device cluster1
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU3]
#algo_type ss
sampling 10
sensor cpu3
device cluster0
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU2]
#algo_type ss
sampling 10
sensor cpu2
device cluster0
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU1]
#algo_type ss
sampling 10
sensor cpu1
device cluster0
set_point 85000
set_point_clr 55000
time_constant 0
[SS-CPU0]
#algo_type ss
sampling 10
sensor cpu0
device cluster0
set_point 85000
set_point_clr 55000
time_constant 0
[SPEAKER-CAL]
sampling 30000 30000 10 1800000
sensor pm8994_tz
sensors tsens_tz_sensor1 tsens_tz_sensor2 tsens_tz_sensor3 tsens_tz_sensor4 tsens_tz_sensor5 tsens_tz_sensor11 tsens_tz_sensor12
temp_range 6000 10000 2000
max_temp 45000
offset -4000
[PMIC-ALARM-MONITOR]
#algo_type monitor
sampling 1000
sensor pm8994_tz
thresholds 107000 127000
thresholds_clr 103000 123000
actions hotplug_7+hotplug_6+hotplug_5+hotplug_4+hotplug_3+hotplug_2+hotplug_1+cluster1+cluster0 hotplug_7+hotplug_6+hotplug_5+hotplug_4+hotplug_3+hotplug_2+hotplug_1
action_info 0+0+0+0+0+0+0+302400+302400 1+1+1+1+1+1+1
[VDD_RSTR_MONITOR-TSENS15]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor15
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS14]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor14
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS13]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor13
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS12]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor12
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS11]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor11
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS10]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor10
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS9]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor9
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS8]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor8
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS7]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor7
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS6]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor6
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS5]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor5
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS4]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor4
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS3]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor3
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS2]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor2
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS1]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor1
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
[VDD_RSTR_MONITOR-TSENS0]
#algo_type monitor
sampling 1000
sensor tsens_tz_sensor0
thresholds 5000
thresholds_clr 10000
actions vdd_restriction
action_info 1
descending
v 0.0.4 - 05/04/17
XDA won't let me upload files for some reason so here are my tweak files:
* https://a.pomf.cat/nqnvdf.sh - these are the governor tweaks, I run with Tasker when Daydream app starts
* https://a.pomf.cat/qvcnnc.conf - this is my tweaked thermal-engine.conf, rename to that, place in /etc/ and reboot.
https://a.pomf.cat/ptmpmh.sh - old 0.0.3 tweaks
https://a.pomf.cat/uwikus.sh - old 0.0.2 tweaks
https://a.pomf.cat/bbpooh.txt - old 0.0.1 tweaks

What ROM are you using?
Sent from my Nexus 6P using XDA-Developers mobile app

rizzxx7 said:
What ROM are you using?
Sent from my Nexus 6P using XDA-Developers mobile app
Click to expand...
Click to collapse
Stock ROM w/ latest franco kernel

Nice thread, I've just ordered a daydream
Skickat från min Nexus 6P via Tapatalk

Is this still working on 7.1.1? Also does anyone else experience screen tearing in vr?

Humpie said:
Is this still working on 7.1.1? Also does anyone else experience screen tearing in vr?
Click to expand...
Click to collapse
Yes good question. I'd like to know too. I just got my snow white daydream and it is unbelievable. tweaks like these would really make a difference.

Hi, I'm using the Pixel Experience mod so my build.prop has already the line ro.product.model = Pixel XL, however when I try to download the Daydream app on Google Play it says "This app is incompatible with your device", so are a number of other apps too, like this one com.resolutiongames.wonderglade.
Do you have any idea how to fix this? Thanks a lot!

I don't have a daydream, but I was able to download Netflix VR from apkmirror...

thank you for starting this thread, i have been trying to get better daydream experience for a couple of days now. I installed Franco kernel and tasker but i am not sure how to apply your tweaks, do you think you could give more details about how you set this up? Thanks!

Humpie said:
Is this still working on 7.1.1? Also does anyone else experience screen tearing in vr?
Click to expand...
Click to collapse
Yep, working in 7.1.1 but have experienced screen tearing after update - try changing VR settings under the display settings menu.
v4victorii said:
Hi, I'm using the Pixel Experience mod so my build.prop has already the line ro.product.model = Pixel XL, however when I try to download the Daydream app on Google Play it says "This app is incompatible with your device", so are a number of other apps too, like this one com.resolutiongames.wonderglade.
Do you have any idea how to fix this? Thanks a lot!
Click to expand...
Click to collapse
Download the Daydream and Daydream Keyboard from apkmirror
jpfk said:
thank you for starting this thread, i have been trying to get better daydream experience for a couple of days now. I installed Franco kernel and tasker but i am not sure how to apply your tweaks, do you think you could give more details about how you set this up? Thanks!
Click to expand...
Click to collapse
if you have terminal emulator, type "su" press enter to change to root mode, then type "sh /sdcard/download/[FILENAME].sh" and thats it!
in tasker just use the same "sh" command as a shell script thats set to run at boot (make sure you click "use root")

Thank you!

xluco said:
Yep, working in 7.1.1 but have experienced screen tearing after update - try changing VR settings under the display settings menu.
Click to expand...
Click to collapse
Thanks for your response! Changing the settings from blur to flickering however doesn't change anything about the screen tearing for me

I have been having great results with my cardboard and controller emulator using latest CM14.1 build, your thermal conf and Franco kernel, no screen tearing (except for some small black part on the sides when moving head fast during intense parts of the games) and almost no lag. All games I tried were playable. I tried to run your script to hopefully get even better results but it returns "cant create /sys/...." and No such files or directoy errors. Any Idea why? Im running the script from terminal emulator as sudo
thanks!

are you typing "su" before the sh command?
if you are, it might be something to do with CM, I've only tested the script on stock ROM tbh. The script is pretty easy to recreate in a kernel app like kernel auditor, maybe give that a try
jpfk said:
I have been having great results with my cardboard and controller emulator using latest CM14.1 build, your thermal conf and Franco kernel, no screen tearing (except for some small black part on the sides when moving head fast during intense parts of the games) and almost no lag. All games I tried were playable. I tried to run your script to hopefully get even better results but it returns "cant create /sys/...." and No such files or directoy errors. Any Idea why? Im running the script from terminal emulator as sudo
thanks!
Click to expand...
Click to collapse

xluco said:
are you typing "su" before the sh command?
if you are, it might be something to do with CM, I've only tested the script on stock ROM tbh. The script is pretty easy to recreate in a kernel app like kernel auditor, maybe give that a try
Click to expand...
Click to collapse
i was so im not sure what the problem is, so I will try to recreate in kernel auditor as you mentionned. Thanks
---------- Post added at 03:27 PM ---------- Previous post was at 03:02 PM ----------
If anyone interested, here is a list of the Daydream apps I tested on my current setup
Device - Nexus 6P
Rom - Lineage OS 14.1 (20170105 build)
Kernel - FrancoKernel r44
Thermal Conf - the one posted by xluco
Headset - Official daydream
Note: I also tried returning to stock 7.0 rom and noticed it works much better than stock 7.1.1 rom.
Playable
The other room
Hello mars
Horizons VR
Fantastic Beasts
EarthShape
Poly Runner
Labster
Coloring VR
VR karts Sprint
Rose
Youvisit VR
Youtube VR
vTime
Gravity Pull
CNN Vr
Littlstar VR
Within
Jaunt VR
Google street view
inception: VR & 360 videos
Lego brickheads (some screen flickers but fully playable)
The turning forest (some screen flickers but fully playable)
Sisters : Faye and Elsa part 1 (Playable but gets hot and starts lagging after a while)
Works but problems
realestate (the downloaded tour would not launch)
Asteroids Holiday special (got a random freeze)
Google arts and Culture (got a random freeze)
Netflix VR (pointer not always appearing) -- this problem occurs if you scan QR code of another headset (ie: cardboard)
not working
Wonderglade (black screen at launch) -- Actually works if not using latest version from store, sideload previous version apk
Twighlight Pioneers (menu items disappears when trying to launch new game) -- Actually works if not using latest version from store, sideload previous version apk

jpfk said:
I have been having great results with my cardboard and controller emulator using latest CM14.1 build, your thermal conf and Franco kernel, no screen tearing (except for some small black part on the sides when moving head fast during intense parts of the games) and almost no lag. All games I tried were playable. I tried to run your script to hopefully get even better results but it returns "cant create /sys/...." and No such files or directoy errors. Any Idea why? Im running the script from terminal emulator as sudo
thanks!
Click to expand...
Click to collapse
Hey did you ever get this figured out? I'm having the same issue with it telling me no such file or directory. Tried a few different ways.

razgriz8426 said:
Hey did you ever get this figured out? I'm having the same issue with it telling me no such file or directory. Tried a few different ways.
Click to expand...
Click to collapse
No sorry, actually i did not investigate further as I realized i was getting good enough performances after reverting to stock 7.0 firmware and using Franco kernel. I dont know what they did between 7.0 and 7.1.1 but daydream works way better on the 6p with 7.0 firmware

jpfk said:
No sorry, actually i did not investigate further as I realized i was getting good enough performances after reverting to stock 7.0 firmware and using Franco kernel. I dont know what they did between 7.0 and 7.1.1 but daydream works way better on the 6p with 7.0 firmware
Click to expand...
Click to collapse
That's interesting, because I flashed back to 7.0 as well, reading that people had better luck with it, but I'm still having screen tearing. Could you tell me which firmware you're on? I flashed the very last factory image before 7.1.1. Also, are you using any other "enhancements" other than the Franco kernel? I immediately tried using the above mentioned throttling adjustments and am using the performance setting in the Franco kernel. Thanks in advance!

razgriz8426 said:
That's interesting, because I flashed back to 7.0 as well, reading that people had better luck with it, but I'm still having screen tearing. Could you tell me which firmware you're on? I flashed the very last factory image before 7.1.1. Also, are you using any other "enhancements" other than the Franco kernel? I immediately tried using the above mentioned throttling adjustments and am using the performance setting in the Franco kernel. Thanks in advance!
Click to expand...
Click to collapse
i am using 7.0 NRD90U but I didnt notice much difference with other 7.0 stock roms. And I just flashed franco kernel without changing any configs, using performance setting doesnt seem to improve much and drains battery faster. As for the screen tearing you are experiencing do you mean constant screen flickering when moving your head or image stopping completely at times and leaving black bars with small ligths flashing on the far ends before it gets back to normal. I had the later with 7.1.1 but not with 7.0. As for the weird screen flickering there are some games that does that and I did not find a solution for this.
games that i can confirm have screen flickering : Gunjack 2, Arcslingers, Lego brickheads,
Games that run perfectly (except maybe for some slowdowns when it gets hot) : Wonderglade, Mekorama, Hunters gate, Keep talking and nobody explodes, Bait!, FLoorplan, Arche E Bowman, Sherlock VR, The other room, Frostbound
Need for speed has a too low FPS to be enjoyable in my opinion
Note: If i modify the build.prop to make google play store think the 6P is a PixelXL to download any games all the games then suffer from the weird screen flickering but if you restore original build.prop it returns to normal.

jpfk said:
i am using 7.0 NRD90U but I didnt notice much difference with other 7.0 stock roms. And I just flashed franco kernel without changing any configs, using performance setting doesnt seem to improve much and drains battery faster. As for the screen tearing you are experiencing do you mean constant screen flickering when moving your head or image stopping completely at times and leaving black bars with small ligths flashing on the far ends before it gets back to normal. I had the later with 7.1.1 but not with 7.0. As for the weird screen flickering there are some games that does that and I did not find a solution for this.
games that i can confirm have screen flickering : Gunjack 2, Arcslingers, Lego brickheads,
Games that run perfectly (except maybe for some slowdowns when it gets hot) : Wonderglade, Mekorama, Hunters gate, Keep talking and nobody explodes, Bait!, FLoorplan, Arche E Bowman, Sherlock VR, The other room, Frostbound
Need for speed has a too low FPS to be enjoyable in my opinion
Note: If i modify the build.prop to make google play store think the 6P is a PixelXL to download any games all the games then suffer from the weird screen flickering but if you restore original build.prop it returns to normal.
Click to expand...
Click to collapse
Your last note is particularly interesting to me. I'm going to not edit my build.prop and see what happens. Will report back.

Related

setcpu screenoff profile

i have setup one profile for setcpu to be like this:
"Screen off"
Max: 245760
min: 245760
(this is the lowest value selectable)
Scaling: Powersave
Priority: 100
I assume the priority being the highest the better it is selected... correct?
also on the main screen i have it set to "Conservative" and a max value of 768 and minimum of 245.
I've noticed this has made some improvements when the phone is on standby.
anybody else got any tips / tricks?
The priority is the priority of the profile, not CPU. (e.g. the screen is off, but is also charging, which one should come first)
Bear in mind that...
The lower speed - the longer time it takes to perform a task, and vice versa.
If you are running a lot of CPU-eater software, lower the clock won't help. It will just make your device choppy. And it could take more time for 'you' to play with it while the screen is on. (And the screen is the greatest juice-drinker)
So, during screen-on, the default one should be the best (2xx-9xx, on demand)
While stand-by : just keep it low. but make sure that most background software run correctly.
cylent said:
i have setup one profile for setcpu to be like this:
"Screen off"
Max: 245760
min: 245760
(this is the lowest value selectable)
Scaling: Powersave
Priority: 100
I assume the priority being the highest the better it is selected... correct?
also on the main screen i have it set to "Conservative" and a max value of 768 and minimum of 245.
I've noticed this has made some improvements when the phone is on standby.
anybody else got any tips / tricks?
Click to expand...
Click to collapse
Use set Cpu only if u r still on 1.6 , Because Sony's 2.1 already optimises your system to run at 240mhz when not in use. So basically setcpu aint doing anything at all. untill you want it to run at higher speed , which i doubt. There is absolutely no use of setcpu anymore. Rest is upto you
I use these profiles:
Screen off - 576 max, 245 min, ondemand - Priority 70
Charging/Full - 998 max, 576 min, performance - Priority 50
Battery < 101% - 998 max, 576 min, ondemand - Priority 30
Great battery life, and great performance when the screen is on.

Set CPU Profiles

I m using this profile setup for SetCPU...........thanxx KEVINKILEER
Install SetCPU from the market or from the official thread :
http://forum.xda-developers.com/showthread.php?t=505419
(use Root browser and go to sdcard to install the apk)
Run SetCPU and click Autodetect Speeds. Allow Superuser.
Tick Set on boot.
Go to Profiles, tick enable / notifications.
Add profiles:
Profile 1: In call: Min 122880 , Max 787200 , Scaling conservative , Priority 100
Profile 2: Screen off: Min 122880 , Max 122880 , Scaling powersave , priority 90
Profile 3: Charging: Min 245760 , Max 825600 (set higher if you want, depends on the phone, I set it to 902400, your phone might reboot) , Scaling ondemand , Priority 80
Profile 4: Battery: 50%: Min 122880 , Max 787200 , Scaling conservative , priority 70 (remove this profile if you care more about performance)
Profile 5: Battery: 101%: Min 122880 Max 806400 (set higher for more performance and less battery life) , Scaling ondemand (set to conservative if you want to save more battery) , priority 60
(Set min CPU speed to 245mhz to fix wake up lag, uses more battery however.)
Add different/more profiles if you want, these are the ones I use.
Its great app to control the speed and battery as well, been using this too and it helps a lot.

CPU Governors, Hotplug drivers and GPU governors Explained Part 4 (Updated 23/12/16)

CPU Governors, Hotplug drivers and GPU governors Explained Part 4 (Updated 23/12/16)
---------------------------------------------------------------------------------------------------------------
Official XDA thread Of The Contributer: http://forum.xda-developers.com/member.php?u=5811506
Edited By ShivaY: http://forum.xda-developers.com/member.php?u=6704044
Guide Part 1 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528762
Guide Part 2 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528766
Guide Part 3 Link :http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528771
Here I've gathered some info for newcomers to the Android world.I've tried to keep it relatively simple. So if you want more info Comment Below
Recommended apps for manipulating kernel values:
1. Kernel Adiutor (Free to change governor and tune variables)
2. Kernel Adiutor-Mod (Free to change governor and tune variables)
3. Compatible kernel managers (e.g Stweaks, Synapse, UKM, etc.)
8. zzmoove
[ PARAMETERS ]
Quote:
sampling_rate_sleep_multiplier -> sampling rate multiplier on early suspend (possible values 1 or 2, default: 2)
up_threshold_sleep -> up threshold on early suspend (possible range from above 'down_threshold_sleep' up to 100, default: 90)
down_threshold_sleep -> down threshold on early suspend (possible range from 11 to 'under up_threshold_sleep', default: 44)
smooth_up -> smooth up scaling when screen is on (possible range from 1 to 100, default: 100)
smooth_up_sleep -> smooth up scaling on early suspend (possible range from 1 to 100, default: 100)
up_threshold_hotplug x -> hotplug threshold for cpu core x (0 disable core, possible range from 'down_threshold' up to 100, default: 68)
down_threshold_hotplug x -> hotplug threshold for cpu core x (possible range from 1 to under 'up_threshold', default: 55)
block_down_multiplier_hotplug x -> block down multiplier for core x
block_up_multiplier_hotplug x -> block up multiplier for core x
sampling_down_max_momentum -> max sampling down factor which should be set by momentum (0 disable momentum, possible range from sampling_down_factor up to MAX_SAMPLING_DOWN_FACTOR, default 0 disabled)
sampling_down_momentum_sensitivity -> how fast the sampling down factor should be switched (possible values from 1 to 500, default 50)
sampling_down_factor -> depending on which mode is active the factor for sampling rate multiplier which influences the whole sampling rate or the value for stock 'down skip' functionality which influences only the down scaling mechanism (possible values are from 1 to MAX_SMPLING_DOWN_FACTOR, default 1 disabled)
freq_limit_sleep-> limit freqency at early suspend (possible values 0 disable limit, 200-1600, default: 0)
freq_limit -> limit freqency at awake (possible values 0 disable limit, 200-1600, default: 0)
scaling_proportional -> if enabled load-proportional frequencies will be calculated in parallel and will be used in decision for next freq step. after a comparison between normal system table step and proportional step the lowest of these two frequencies will be used for next freq step in both directions. (0 to disable, any value above 0 to enable)
scaling_block_temp -> CPU temperature threshold from where governors freq 'holding' should start. if the given temperature (if CPU temp reading is enabled) is reached the frequency used in tunable 'scaling_block_freq' will be forced targeted and scaling stays on this freq till the temperature is under the threshold again. at the same time hotplugging up work is blocked so in this throttling phase offline cores are staying offline even if the hotplug up thresholds are reached (0 to disable, values between 30 and 80 in °C)
scaling_up_block_cycles -> similar to scaling fastdown but here for a slowdown of up scaling
scaling_up_block_freq -> similar to scaling fastdown but here for a slowdown of up scaling
fast_scaling_up -> Number of scaling jumps only for upscaling when screen on (skip 0-4 frequency steps) or 5 to use autoscaling.
fast_scaling_down -> Number of scaling jumps only for downscaling when screen on (skip 0-4 frequency steps) or 5 to use autoscaling.
fast_scaling_sleep_up -> Number of scaling jumps only for upscaling when screen off (skip 0-4 frequency steps) or 5 to use autoscaling.
fast_scaling_sleep_down -> Number of scaling jumps only for downscaling when screen off (skip 0-4 frequency steps) or 5 to use autoscaling.
disable_hotplug -> switch to enable/disable hotplugging (possible values are any value above 0 to disable hotplugging and 0 to enable it, default 0)
auto_adjust_freq_thresholds -> if enabled all freq thresholds used by the governor will be adjusted accordingly to the new scaling max policy. in particular the thresholds will be increased/decreased by the actual changed max freq step if that change will undercut/exceed the actual min/max freq policy it will stop at the max possible frequency step before undercutting/exceeding min/max freq policy (0 to disable, any value above 0 to enable)
early_demand -> switch to enable/disable early demand functionality (possible values 0 disable or 1 enable, default: 0)
grad_up_threshold -> scale up frequency if the load goes up in one step of grad up value (possible range from 1 to 100, default 50) little example for understanding: when the load rises up in one big 50% step then the frequency will be scaled up immediately instead of wating till up_threshold is reached.
early_demand_sleep -> same function as early demand on awake but in addition combined with fast scaling and sampling rate switch and only active at sleep. (possible values 0 disable or 1 enable, default is 1)
grad_up_threshold_sleep -> 2 way functionality: early demand sleep grad up (load gradient) threshold and at the same time load threshold for switching internally (tuneables are staying at set values!) sampling_rate_sleep_multiplier to 2 and fast_scaling to 2 (possible values from 1 to 100, default is 35)
hotplug_block_up_cycles -> (replaces hotplug_block_cycles) slow down up hotplugging by waiting a given amount of cycles before plugging. possible values 0 disable, any values above 0 (default is 0)
hotplug_block_down_cycles -> (replaces hotplug_block_cycles) slow down down hotplugging by waiting a given amount of cycles before plugging. possible values 0 disbale, any values above 0 (default is 0)
hotplug_idle_freq -> freq at which the idle should be active (possible values 0 disable and any possible scaling freq, default is 0)
sampling_rate_current -> read only and shows currently active sampling rate
sampling_rate_idle -> sampling rate which should be used at 'idle times' (possible values are any sampling rate > 'min_sampling_rate', 0 to disable whole function, default is 0)
sampling_rate_idle_delay -> delay in cycles for switching from idle to normal sampling rate and vice versa (possible values are any value and 0 to disable delay, default is 0)
sampling_rate_idle_threshold -> threshold under which idle sampling rate should be active (possible values 1 to 100, 0 to disable function, default is 0)
scaling_block_cycles -> amount of gradients which should be counted (if block threshold is set) and at the same time up scaling should be blocked and after that a forced down scaling should happen (possible values are any value, 0 to disable that function, default is 0)
scaling_block_freq -> frequency at and above the blocking should be active (possible values are any possible scaling freq, 0 to enable blocking permanently at every frequency, default is 0)
scaling_block_threshold -> gradient (min value) of load in both directions (up/down) to count-up cycles (possible value are 1 to 100, 0 to disable gradient counting)
scaling_block_force_down -> multiplier for the maximal amount of forced down scaling cycles (force down cycles = block_cycles * force_down) therefore the forced down scaling duration (possible value are 2 to any value, 0 to disable forced down scaling and use only scaling up blocks)
profile_number -> switches profile (possible value depends on amount of profiles in cpufreq_zzmoove_profiles.h file, please check this file for further details!) 0 = tunable mode, default 0)
scaling_fastdown_freq -> will be enabled once this frequency has been met or exceeded (0 to disable, all possible system frequencies, default is 0)
scaling_fastdown_up_threshold -> once the above frequency threshold has been met, this will become the new up_threshold until we fall below the scaling_fastdown_freq again. (range from over fastdown_down_threshold to 100, default is 95)
scaling_fastdown_down_threshold -> once the above frequency threshold has been met, this will become the new down_threshold until we fall below the scaling_fastdown_freq again. (range from 11 to under fastdown_up_threshold, default is 90)
scaling_responsiveness_freq -> will be enabled once this frequency has been met or exceeded (0 to disable, all possible system frequencies, default is 0)
scaling_responsiveness_up_threshold -> the up_threshold that will take effect if scaling_responsiveness_freq is set (range from 11 to 100, default is 30)
hotplug_engage_freq -> will not bring any cores online until this frequency is met or exceeded
(0 to disable, all possible system frequencies, default is 0)
music_max_freq -> maximum frequency for CPU when governor is on music mode
music_min_cores -> minimum CPU cores used when governor is on music mode
music_min_freq -> minimum frequency for CPU when governor is on music mode
afs_threshold 1,2,3 -> Auto fast scaling for step one to three respectively (range from 1 to 100)
9. Smartmax/Performance May Cry
[ PARAMETERS ]
Quote:
boost_duration - how long you want the governor to boost your CPU in seconds.
down_rate - The minimum amount of time in nsecs to spend at a frequency before we can ramp down. Notice we ignore this when we are above the ideal frequency.
io_is_busy - Consider if IO is busy
max_cpu_load - CPU freq will be increased if measured load > max_cpu_load
min_cpu_load - CPU freq will be decreased if measured load < min_cpu_load
ramp_up_during_boost - should ramp_up steps during boost be possible
ramp_up_step - Frequency delta when ramping up above the ideal frequency. Zero disables and causes to always jump straight to max frequency. When below the ideal freqeuncy we always ramp up to the ideal freq.
Touch_poke_freq - Also known as the touch boost frequency. This is the frequency that you CPU jumps to when touching screen.
Hotplug tunables
--------------------------
Mako Hotplug:
Quote:
load_threshold: system load threshold to decide when online or offline cores from 0 to 100
high_load_counter: counter to filter online/offline calls. The load needs to be above load_threshold X high_load_counter times for the cores to go online otherwise they stay offline
max_load_counter: max number of samples counters allowed to be counted. The higher thevalue the longer it will take the driver to offline cores after a period of high and continuous load
cpufreq_unplug_limit: if the current CPU freq is above this limit don't offline the cores for a couple of extra samples
min_time_cpu_online: minimum time in seconds that a core stays online to avoid too many online/offline calls
int timer: sample timer in seconds. The default value of 1 equals to 10 samples every second. The higher the value the less samples per second it runs
msm_mpdecision/bricked hotplug
Quote:
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1.
max_cpus = max cpus to be online (if you set it to 2 and min_cpus to 1 you will basically have a dualcore)
idle_freq = a value against that will be checked if a core +/- is requested.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
AutoSMP
Quote:
max_cpus, min_cpus, scroff_single_core, delay: Look at description above
enabled: Enable/Disable AutoSMP. Y ( for enabled). N (for disabled)
cpufreq_down: Percentage values for downrate limit (range from 0 - 100)
cpufreq_up: Percentage values for uprate limits (range from 0 - 100)
cycle_down: Cycles to wait after the last hotplug event to unplug another core (values 0 1 2 3 4)
cycle_up: Cycles to wait after the last hotplug event to plug another core (values 0 1 2 3 4)
Alucard
(sourced from defconoi's kernel guide)
Quote:
hotplug_sampling_rate:
Sampling Interval, measured in ms. This factor determines how often the governor should poll for CPU usage in terms of frequency and load percentage to make hotplugging decisions. (Default: 30 ms)
hotplug_rate_1_1:
Number of samples to evaluate cpu1 hotplug in. (Default: 1)
hotplug_rate_2_0:
Number of samples to evaluate cpu1 hotplug out. (Default: 5)
hotplug_rate_2_1:
Number of samples to evaluate cpu2 hotplug in. (Default: 2)
hotplug_rate_3_0:
Number of samples to evaluate cpu2 hotplug out. (Default: 5)
hotplug_rate_3_1:
Number of samples to evaluate cpu3 hotplug in. (Default: 2)
hotplug_rate_4_0:
Number of samples to evaluate cpu3 hotplug out. (Default: 5)
hotplug_freq_1_1:
Up threshold frequency to turn second core On, when some other conditions is also met. ie If (minimum frequency greater than or equal to hotplug_freq 1 1) Hotplug IN Second Core. Higher value corresponds to delay in turning on second core.
hotplug_freq_2_0:
Down threshold frequency to turn second core Off, when some other conditions is also met. ie If (maximum frequency less than hotplug_freq 2 0) Hotplug OUT Second Core. Lower value corresponds to delay in turning off second core.
hotplug_freq_2_1:
Up threshold frequency to turn third core On, when some other conditions is also met. ie If (minimum frequency greater than or equal to hotplug_freq 2 1) Hotplug IN Third Core. Higher value corresponds to delay in turning on Third core.
hotplug_freq_3_0:
Down threshold frequency to turn third core Off, when some other conditions is also met. ie If (maximum frequency less than hotplug_freq 3 0) Hotplug OUT Third Core. Lower value corresponds to delay in turning off third core.
hotplug_freq_3_1:
Up threshold frequency to turn fourth core On, when some other conditions is also met. ie If (minimum frequency greater than or equal to hotplug_freq 3 1) Hotplug IN Fourth Core. Higher value corresponds to delay in turning on Fourth core.
hotplug_freq_4_0:
Down threshold frequency to turn fourth core Off, when some other conditions is also met. ie If (maximum frequency less than hotplug_freq 4 0) Hotplug OUT Fourth Core. Lower value corresponds to delay in turning off fourth core.
hotplug_load_1_1:
The CPU load at which governor scales CPU up. Current Load equal or greater than up_load: CPU Hotplug IN. Value corresponding to 101 causes not HOTPLUG IN. (Default: 60%)
hotplug_load_2_0:
The CPU load at which governor scales CPU down. Current Load less than down_load and CPU online greater than 1: CPU Hotplug OUT. Value corresponding to 101 causes immediately HOTPLUG OUT. (Default: 30%)
hotplug_load_2_1:
The CPU load at which governor scales CPU up. Current Load equal or greater than up_load: CPU Hotplug IN. Value corresponding to 101 causes not HOTPLUG IN. (Default: 65%)
hotplug_load_3_0:
The CPU load at which governor scales CPU down. Current Load less than down_load and CPU online greater than 1: CPU Hotplug OUT. Value corresponding to 101 causes immediately HOTPLUG OUT. (Default: 30%)
hotplug_load_3_1:
The CPU load at which governor scales CPU up. Current Load equal or greater than up_load: CPU Hotplug IN. Value corresponding to 101 causes not HOTPLUG IN. (Default: 65%)
hotplug_load_4_0:
The CPU load at which governor scales CPU down. Current Load less than down_load and CPU online greater than 1: CPU Hotplug OUT. Value corresponding to 101 causes immediately HOTPLUG OUT. (Default: 20%)
hotplug_rq_1_1:
Threshold run queue length for second core to turn on. (Default: 100)
hotplug_rq_2_0:
Threshold run queue length for second core to turn off. (Default: 100)
hotplug_rq_2_1:
Threshold run queue length for third core to turn on. (Default: 200)
hotplug_rq_3_0:
Threshold run queue length for third core to turn off. (Default: 200)
hotplug_rq_3_1:
Threshold run queue length for fourth core to turn on. (Default: 300)
hotplug_rq_4_0:
Threshold run queue length for fourth core to turn off. (Default: 300)
maxcoreslimit:
Max CPU's hotplugging limit. (Default: 4)
maxcoreslimit_sleep:
Max CPU's hotplugging limit. (Default: 2)
Guide Part 1 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528762
Guide Part 2 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528766
Guide Part 3 Link :http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528771
Please Press Thanks Button If It Helped . It Will Encourage Me to Work More For You Guys
THANK YOU:good:
Which one to choose for best bettery?
laddugaur said:
Which one to choose for best bettery?
Click to expand...
Click to collapse
hey laddu when tipsy is coming?
baba.balatkari said:
hey laddu when tipsy is coming?
Click to expand...
Click to collapse
Maybe today
laddugaur said:
Maybe today
Click to expand...
Click to collapse
bro xperience was aesome rom
i loved it can i buy you idili and dosa?
baba.balatkari said:
bro xperience was aesome rom
i loved it can i buy you idili and dosa?
Click to expand...
Click to collapse
No need....
baba.balatkari said:
bro xperience was aesome rom
i loved it can i buy you idili and dosa?
Click to expand...
Click to collapse
Wow you seem to have lots of money
laddugaur said:
Which one to choose for best bettery?
Click to expand...
Click to collapse
Follow This Thread- https://forum.xda-developers.com/lenovo-a6000/how-to/guide-setting-kernel-t3547610
Which one for gaming?

CPU Governors, Hotplug drivers and GPU governors Explained Part 4 (Updated 30/12/16)

CPU Governors, Hotplug drivers and GPU governors Explained Part 4 (Updated 30/12/16)
---------------------------------------------------------------------------------------------------------------
Official XDA thread Of The Contributer: http://forum.xda-developers.com/member.php?u=5811506
Edited By ShivaY: http://forum.xda-developers.com/member.php?u=6704044
Guide Part 1 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528762
Guide Part 2 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528766
Guide Part 3 Link :http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528771
Here I've gathered some info for newcomers to the Android world.I've tried to keep it relatively simple. So if you want more info Comment Below
Recommended apps for manipulating kernel values:
1. Kernel Adiutor (Free to change governor and tune variables)
2. Kernel Adiutor-Mod (Free to change governor and tune variables)
3. Compatible kernel managers (e.g Stweaks, Synapse, UKM, etc.)
8. zzmoove
[ PARAMETERS ]
Quote:
sampling_rate_sleep_multiplier -> sampling rate multiplier on early suspend (possible values 1 or 2, default: 2)
up_threshold_sleep -> up threshold on early suspend (possible range from above 'down_threshold_sleep' up to 100, default: 90)
down_threshold_sleep -> down threshold on early suspend (possible range from 11 to 'under up_threshold_sleep', default: 44)
smooth_up -> smooth up scaling when screen is on (possible range from 1 to 100, default: 100)
smooth_up_sleep -> smooth up scaling on early suspend (possible range from 1 to 100, default: 100)
up_threshold_hotplug x -> hotplug threshold for cpu core x (0 disable core, possible range from 'down_threshold' up to 100, default: 68)
down_threshold_hotplug x -> hotplug threshold for cpu core x (possible range from 1 to under 'up_threshold', default: 55)
block_down_multiplier_hotplug x -> block down multiplier for core x
block_up_multiplier_hotplug x -> block up multiplier for core x
sampling_down_max_momentum -> max sampling down factor which should be set by momentum (0 disable momentum, possible range from sampling_down_factor up to MAX_SAMPLING_DOWN_FACTOR, default 0 disabled)
sampling_down_momentum_sensitivity -> how fast the sampling down factor should be switched (possible values from 1 to 500, default 50)
sampling_down_factor -> depending on which mode is active the factor for sampling rate multiplier which influences the whole sampling rate or the value for stock 'down skip' functionality which influences only the down scaling mechanism (possible values are from 1 to MAX_SMPLING_DOWN_FACTOR, default 1 disabled)
freq_limit_sleep-> limit freqency at early suspend (possible values 0 disable limit, 200-1600, default: 0)
freq_limit -> limit freqency at awake (possible values 0 disable limit, 200-1600, default: 0)
scaling_proportional -> if enabled load-proportional frequencies will be calculated in parallel and will be used in decision for next freq step. after a comparison between normal system table step and proportional step the lowest of these two frequencies will be used for next freq step in both directions. (0 to disable, any value above 0 to enable)
scaling_block_temp -> CPU temperature threshold from where governors freq 'holding' should start. if the given temperature (if CPU temp reading is enabled) is reached the frequency used in tunable 'scaling_block_freq' will be forced targeted and scaling stays on this freq till the temperature is under the threshold again. at the same time hotplugging up work is blocked so in this throttling phase offline cores are staying offline even if the hotplug up thresholds are reached (0 to disable, values between 30 and 80 in °C)
scaling_up_block_cycles -> similar to scaling fastdown but here for a slowdown of up scaling
scaling_up_block_freq -> similar to scaling fastdown but here for a slowdown of up scaling
fast_scaling_up -> Number of scaling jumps only for upscaling when screen on (skip 0-4 frequency steps) or 5 to use autoscaling.
fast_scaling_down -> Number of scaling jumps only for downscaling when screen on (skip 0-4 frequency steps) or 5 to use autoscaling.
fast_scaling_sleep_up -> Number of scaling jumps only for upscaling when screen off (skip 0-4 frequency steps) or 5 to use autoscaling.
fast_scaling_sleep_down -> Number of scaling jumps only for downscaling when screen off (skip 0-4 frequency steps) or 5 to use autoscaling.
disable_hotplug -> switch to enable/disable hotplugging (possible values are any value above 0 to disable hotplugging and 0 to enable it, default 0)
auto_adjust_freq_thresholds -> if enabled all freq thresholds used by the governor will be adjusted accordingly to the new scaling max policy. in particular the thresholds will be increased/decreased by the actual changed max freq step if that change will undercut/exceed the actual min/max freq policy it will stop at the max possible frequency step before undercutting/exceeding min/max freq policy (0 to disable, any value above 0 to enable)
early_demand -> switch to enable/disable early demand functionality (possible values 0 disable or 1 enable, default: 0)
grad_up_threshold -> scale up frequency if the load goes up in one step of grad up value (possible range from 1 to 100, default 50) little example for understanding: when the load rises up in one big 50% step then the frequency will be scaled up immediately instead of wating till up_threshold is reached.
early_demand_sleep -> same function as early demand on awake but in addition combined with fast scaling and sampling rate switch and only active at sleep. (possible values 0 disable or 1 enable, default is 1)
grad_up_threshold_sleep -> 2 way functionality: early demand sleep grad up (load gradient) threshold and at the same time load threshold for switching internally (tuneables are staying at set values!) sampling_rate_sleep_multiplier to 2 and fast_scaling to 2 (possible values from 1 to 100, default is 35)
hotplug_block_up_cycles -> (replaces hotplug_block_cycles) slow down up hotplugging by waiting a given amount of cycles before plugging. possible values 0 disable, any values above 0 (default is 0)
hotplug_block_down_cycles -> (replaces hotplug_block_cycles) slow down down hotplugging by waiting a given amount of cycles before plugging. possible values 0 disbale, any values above 0 (default is 0)
hotplug_idle_freq -> freq at which the idle should be active (possible values 0 disable and any possible scaling freq, default is 0)
sampling_rate_current -> read only and shows currently active sampling rate
sampling_rate_idle -> sampling rate which should be used at 'idle times' (possible values are any sampling rate > 'min_sampling_rate', 0 to disable whole function, default is 0)
sampling_rate_idle_delay -> delay in cycles for switching from idle to normal sampling rate and vice versa (possible values are any value and 0 to disable delay, default is 0)
sampling_rate_idle_threshold -> threshold under which idle sampling rate should be active (possible values 1 to 100, 0 to disable function, default is 0)
scaling_block_cycles -> amount of gradients which should be counted (if block threshold is set) and at the same time up scaling should be blocked and after that a forced down scaling should happen (possible values are any value, 0 to disable that function, default is 0)
scaling_block_freq -> frequency at and above the blocking should be active (possible values are any possible scaling freq, 0 to enable blocking permanently at every frequency, default is 0)
scaling_block_threshold -> gradient (min value) of load in both directions (up/down) to count-up cycles (possible value are 1 to 100, 0 to disable gradient counting)
scaling_block_force_down -> multiplier for the maximal amount of forced down scaling cycles (force down cycles = block_cycles * force_down) therefore the forced down scaling duration (possible value are 2 to any value, 0 to disable forced down scaling and use only scaling up blocks)
profile_number -> switches profile (possible value depends on amount of profiles in cpufreq_zzmoove_profiles.h file, please check this file for further details!) 0 = tunable mode, default 0)
scaling_fastdown_freq -> will be enabled once this frequency has been met or exceeded (0 to disable, all possible system frequencies, default is 0)
scaling_fastdown_up_threshold -> once the above frequency threshold has been met, this will become the new up_threshold until we fall below the scaling_fastdown_freq again. (range from over fastdown_down_threshold to 100, default is 95)
scaling_fastdown_down_threshold -> once the above frequency threshold has been met, this will become the new down_threshold until we fall below the scaling_fastdown_freq again. (range from 11 to under fastdown_up_threshold, default is 90)
scaling_responsiveness_freq -> will be enabled once this frequency has been met or exceeded (0 to disable, all possible system frequencies, default is 0)
scaling_responsiveness_up_threshold -> the up_threshold that will take effect if scaling_responsiveness_freq is set (range from 11 to 100, default is 30)
hotplug_engage_freq -> will not bring any cores online until this frequency is met or exceeded
(0 to disable, all possible system frequencies, default is 0)
music_max_freq -> maximum frequency for CPU when governor is on music mode
music_min_cores -> minimum CPU cores used when governor is on music mode
music_min_freq -> minimum frequency for CPU when governor is on music mode
afs_threshold 1,2,3 -> Auto fast scaling for step one to three respectively (range from 1 to 100)
9. Smartmax/Performance May Cry
[ PARAMETERS ]
Quote:
boost_duration - how long you want the governor to boost your CPU in seconds.
down_rate - The minimum amount of time in nsecs to spend at a frequency before we can ramp down. Notice we ignore this when we are above the ideal frequency.
io_is_busy - Consider if IO is busy
max_cpu_load - CPU freq will be increased if measured load > max_cpu_load
min_cpu_load - CPU freq will be decreased if measured load < min_cpu_load
ramp_up_during_boost - should ramp_up steps during boost be possible
ramp_up_step - Frequency delta when ramping up above the ideal frequency. Zero disables and causes to always jump straight to max frequency. When below the ideal freqeuncy we always ramp up to the ideal freq.
Touch_poke_freq - Also known as the touch boost frequency. This is the frequency that you CPU jumps to when touching screen.
Hotplug tunables
--------------------------
Mako Hotplug:
Quote:
load_threshold: system load threshold to decide when online or offline cores from 0 to 100
high_load_counter: counter to filter online/offline calls. The load needs to be above load_threshold X high_load_counter times for the cores to go online otherwise they stay offline
max_load_counter: max number of samples counters allowed to be counted. The higher thevalue the longer it will take the driver to offline cores after a period of high and continuous load
cpufreq_unplug_limit: if the current CPU freq is above this limit don't offline the cores for a couple of extra samples
min_time_cpu_online: minimum time in seconds that a core stays online to avoid too many online/offline calls
int timer: sample timer in seconds. The default value of 1 equals to 10 samples every second. The higher the value the less samples per second it runs
msm_mpdecision/bricked hotplug
Quote:
startdelay = time until mpdecision starts doing it's magic (20000)
delay = time between checks (70)
pause = if something else plugs in the cpu, fall asleep for 10000ms (10 secs)
scroff_single_core = if the screen is off, don't plug in cpu1/2/3. Additionally: Unplug all cpus except cpu0 when screen is turned off (1)
enabled = enable(1) or disable(0) mpdecision. This does not affect scroff_single_core!
min_cpus = min cpus to be online, cannot be < 1.
max_cpus = max cpus to be online (if you set it to 2 and min_cpus to 1 you will basically have a dualcore)
idle_freq = a value against that will be checked if a core +/- is requested.
nwns_threshold_x = runqueue threshold, if this is reached cpuX will be hot/unplugged
twts_threshold_x = time threshold, this amount of time must have passed for the related action to be taken (hot/unplug)
AutoSMP
Quote:
max_cpus, min_cpus, scroff_single_core, delay: Look at description above
enabled: Enable/Disable AutoSMP. Y ( for enabled). N (for disabled)
cpufreq_down: Percentage values for downrate limit (range from 0 - 100)
cpufreq_up: Percentage values for uprate limits (range from 0 - 100)
cycle_down: Cycles to wait after the last hotplug event to unplug another core (values 0 1 2 3 4)
cycle_up: Cycles to wait after the last hotplug event to plug another core (values 0 1 2 3 4)
Alucard
(sourced from defconoi's kernel guide)
Quote:
hotplug_sampling_rate:
Sampling Interval, measured in ms. This factor determines how often the governor should poll for CPU usage in terms of frequency and load percentage to make hotplugging decisions. (Default: 30 ms)
hotplug_rate_1_1:
Number of samples to evaluate cpu1 hotplug in. (Default: 1)
hotplug_rate_2_0:
Number of samples to evaluate cpu1 hotplug out. (Default: 5)
hotplug_rate_2_1:
Number of samples to evaluate cpu2 hotplug in. (Default: 2)
hotplug_rate_3_0:
Number of samples to evaluate cpu2 hotplug out. (Default: 5)
hotplug_rate_3_1:
Number of samples to evaluate cpu3 hotplug in. (Default: 2)
hotplug_rate_4_0:
Number of samples to evaluate cpu3 hotplug out. (Default: 5)
hotplug_freq_1_1:
Up threshold frequency to turn second core On, when some other conditions is also met. ie If (minimum frequency greater than or equal to hotplug_freq 1 1) Hotplug IN Second Core. Higher value corresponds to delay in turning on second core.
hotplug_freq_2_0:
Down threshold frequency to turn second core Off, when some other conditions is also met. ie If (maximum frequency less than hotplug_freq 2 0) Hotplug OUT Second Core. Lower value corresponds to delay in turning off second core.
hotplug_freq_2_1:
Up threshold frequency to turn third core On, when some other conditions is also met. ie If (minimum frequency greater than or equal to hotplug_freq 2 1) Hotplug IN Third Core. Higher value corresponds to delay in turning on Third core.
hotplug_freq_3_0:
Down threshold frequency to turn third core Off, when some other conditions is also met. ie If (maximum frequency less than hotplug_freq 3 0) Hotplug OUT Third Core. Lower value corresponds to delay in turning off third core.
hotplug_freq_3_1:
Up threshold frequency to turn fourth core On, when some other conditions is also met. ie If (minimum frequency greater than or equal to hotplug_freq 3 1) Hotplug IN Fourth Core. Higher value corresponds to delay in turning on Fourth core.
hotplug_freq_4_0:
Down threshold frequency to turn fourth core Off, when some other conditions is also met. ie If (maximum frequency less than hotplug_freq 4 0) Hotplug OUT Fourth Core. Lower value corresponds to delay in turning off fourth core.
hotplug_load_1_1:
The CPU load at which governor scales CPU up. Current Load equal or greater than up_load: CPU Hotplug IN. Value corresponding to 101 causes not HOTPLUG IN. (Default: 60%)
hotplug_load_2_0:
The CPU load at which governor scales CPU down. Current Load less than down_load and CPU online greater than 1: CPU Hotplug OUT. Value corresponding to 101 causes immediately HOTPLUG OUT. (Default: 30%)
hotplug_load_2_1:
The CPU load at which governor scales CPU up. Current Load equal or greater than up_load: CPU Hotplug IN. Value corresponding to 101 causes not HOTPLUG IN. (Default: 65%)
hotplug_load_3_0:
The CPU load at which governor scales CPU down. Current Load less than down_load and CPU online greater than 1: CPU Hotplug OUT. Value corresponding to 101 causes immediately HOTPLUG OUT. (Default: 30%)
hotplug_load_3_1:
The CPU load at which governor scales CPU up. Current Load equal or greater than up_load: CPU Hotplug IN. Value corresponding to 101 causes not HOTPLUG IN. (Default: 65%)
hotplug_load_4_0:
The CPU load at which governor scales CPU down. Current Load less than down_load and CPU online greater than 1: CPU Hotplug OUT. Value corresponding to 101 causes immediately HOTPLUG OUT. (Default: 20%)
hotplug_rq_1_1:
Threshold run queue length for second core to turn on. (Default: 100)
hotplug_rq_2_0:
Threshold run queue length for second core to turn off. (Default: 100)
hotplug_rq_2_1:
Threshold run queue length for third core to turn on. (Default: 200)
hotplug_rq_3_0:
Threshold run queue length for third core to turn off. (Default: 200)
hotplug_rq_3_1:
Threshold run queue length for fourth core to turn on. (Default: 300)
hotplug_rq_4_0:
Threshold run queue length for fourth core to turn off. (Default: 300)
maxcoreslimit:
Max CPU's hotplugging limit. (Default: 4)
maxcoreslimit_sleep:
Max CPU's hotplugging limit. (Default: 2)
Guide Part 1 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528762
Guide Part 2 Link: http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528766
Guide Part 3 Link :http://forum.xda-developers.com/lenovo-a6000/how-to/cpu-governors-hotplug-drivers-gpu-t3528771
Please Press Thanks Button If It Helped . It Will Encourage Me to Work More For You Guys
THANK YOU:good:

Power Profiles for FrancoKernel and Kernel Manager FK app

So I wanted a different thread to make a list of different Power Profiles from users of my custom Kernel. My threads are usually pretty big so it gets hard to manage and this is also a safe place for me to post the defaults I'm using.
I'll review each profile and include your Power Profiles in the app if they seem to make sense.
Please follow the template below when posting. Keep off-topic, requests, etas and useless conversations out of here.
FrancoKernel defaults:
Low Power Cluster
Max CPU freq: 1555200
Min CPU freq: 384000
Governor: interactive
Governor parameters:
above_hispeed_delay 0
go_hispeed_load 100
hispeed_freq 0
target_loads 85 672000:50 768000:55 864000:60 960000:70 1248000:85 1478400:95
timer_rate 20000
min_sample_time 60000
ignore_hispeed_on_notif 1
max_freq_hysteresis 80000
timer_slack 30000
Max Power Cluster
Max CPU freq: 1958400
Min CPU freq: 633600
Governor: interactive
Governor parameters:
above_hispeed_delay 20000 1248000:40000 1728000:20000
go_hispeed_load 85
hispeed_freq 864000
target_loads 90 1248000:95
timer_rate 30000
min_sample_time 30000
ignore_hispeed_on_notif 1
max_freq_hysteresis 80000
timer_slack 30000
Input boost frequency
Low power cluster: 960000
Performance cluster: 768000
Input boost duration
1500
Join the beta here http://beta.franciscofranco.xyz and starting with the next beta8 profiles will be included and be available to apply in a single tap.
FrancoKernel thread: http://n6p.franciscofranco.xyz
Saved to post profiles from users.

Categories

Resources