Perfd opt
The previous Project WIPE, automatically adjust the interactive
parameters via simulation and heuristic optimization algorithms, and working on all mainstream devices which use interactive
as default governor. The recent WIPE v2, improved simulation supports more features of the kernel and focuses on rendering performance requirements, automatically adjusting the interactive
+HMP
+input boost
parameters. However, after the EAS is merged into the mainline, the simulation difficulty of auto-tuning depends on raise. It is difficult to simulate the logic of the EAS scheduler. In addition, EAS is designed to avoid parameterization at the beginning of design, so for example, the adjustment of schedutil has no obvious effect.
WIPE v2 focuses on meeting performance requirements when interacting with APP, while reducing non-interactive lag weights, pushing the trade-off between fluency and power saving even further. QTI Boost Framework
, which must be disabled before applying optimization, is able to dynamically override parameters based on perf hint. This project utilizes QTI Boost Framework
and extends the ability of override custom parameters. When launching APPs or scrolling the screen, applying more aggressive parameters to improve response at an acceptable power penalty. When there is no interaction, use conservative parameters, use small core clusters as much as possible, and run at a higher energy efficiency OPP under heavy load.
Details see the lead project & perfd-opt commits
Profiles
- powersave: based on balance mode, but with lower max frequency
- balance: smoother than the stock config with lower power consumption
- performance: dynamic stune boost = 30 with no frequency limitation
- fast: providing stable performance capacity considering the TDP limitation of device chassis
sdm865
- powersave: 1.8+1.6+2.4g, boost 1.8+2.0+2.6g, min 0.3+0.7+1.1
- balance: 1.8+2.0+2.6g, boost 1.8+2.4+2.7g, min 0.7+0.7+1.1
- performance: 1.8+2.4+2.8g, boost 1.8+2.4+2.8g, min 0.7+0.7+1.1
- fast: 1.8+2.0+2.7g, boost 1.8+2.4+2.8g, min 0.7+1.2+1.2
sdm855/sdm855+
- powersave: 1.7+1.6+2.4g, boost 1.7+2.0+2.6g, min 0.3+0.7+0.8
- balance: 1.7+2.0+2.6g, boost 1.7+2.4+2.7g, min 0.5+0.7+0.8
- performance: 1.7+2.4+2.8g, boost 1.7+2.4+2.8/2.9g, min 0.5+0.7+0.8
- fast: 1.7+2.0+2.7g, boost 1.7+2.4+2.8/2.9g, min 0.5+1.2+1.2
sdm845
- powersave: 1.7+2.0g, boost 1.7+2.4g, min 0.3+0.3
- balance: 1.7+2.4g, boost 1.7+2.7g, min 0.5+0.8
- performance: 1.7+2.8g, boost 1.7+2.8g, min 0.5+0.8
- fast: 1.7+2.4g, boost 1.7+2.8g, min 0.5+1.6
sdm765/sdm765g
- powersave: 1.8+1.7+2.0g, boost 1.8+2.0+2.2g, min 0.3+0.6+0.8
- balance: 1.8+2.0+2.2g, boost 1.8+2.2+2.3/2.4g, min 0.5+0.6+0.6
- performance: 1.8+2.2+2.3g, boost 1.8+2.2+2.3/2.4g, min 0.5+0.6+0.8
- fast: 1.8+2.0+2.2g, boost 1.8+2.2+2.3/2.4g, min 0.5+1.1+1.4
sdm730/sdm730g
- powersave: 1.7+1.5g, boost 1.7+1.9g, min 0.3+0.3
- balance: 1.7+1.9g, boost 1.7+2.1g, min 0.5+0.6
- performance: 1.8+2.2g, boost 1.8+2.2g, min 0.5+0.6
- fast: 1.8+1.9g, boost 1.8+2.2g, min 0.5+1.2
sdm675
- powersave: 1.7+1.5g, boost 1.7+1.7g, min 0.3+0.3
- balance: 1.7+1.7g, boost 1.7+1.9g, min 0.5+0.6
- performance: 1.8+2.0g, boost 1.8+2.0g, min 0.5+0.6
- fast: 1.8+1.7g, boost 1.8+2.0g, min 0.5+1.2
sdm710/sdm712
- powersave: 1.7+1.8g, boost 1.7+2.0g, min 0.3+0.3
- balance: 1.7+2.0g, boost 1.7+2.2/2.3g, min 0.5+0.6
- performance: 1.7+2.2g, boost 1.7+2.2/2.3g, min 0.5+0.6
- fast: 1.7+2.0g, boost 1.7+2.2/2.3g, min 0.5+1.5
Requirements
- Android >= 8.0
- Rooted
- Magisk >= 19.0
Installation
- Download zip in Release Page
- Flash in Magisk manager
- Reboot
- Check whether
/sdcard/Android/panel_powercfg.txt
exists
Switch modes
Switching on boot
- Open
/sdcard/Android/panel_powercfg.txt
- Edit line
default_mode=balance
, wherebalance
is the default mode applied at boot - Reboot
Switching after boot
Option 1:
Exec sh /data/powercfg.sh balance
, where balance
is the mode you want to switch.
Option 2:
Install vtools and bind APPs to power mode.
Credit
@屁屁痒
provide /vendor/etc & sched tunables on Snapdragon 845
@林北蓋唱秋
provide /vendor/etc on Snapdragon 675
@酪安小煸
provide /vendor/etc on Snapdragon 710
@沉迷学习日渐膨胀的小学僧
help testing on Snapdragon 855
@NeonXeon
provide information about dynamic stune
@rfigo
provide information about dynamic stune