Awesome Open Source
Awesome Open Source

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


  • 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
- 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

- 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

- 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

- 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

- 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

- 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

- 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


  1. Android >= 8.0
  2. Rooted
  3. Magisk >= 19.0


  1. Download zip in Release Page
  2. Flash in Magisk manager
  3. Reboot
  4. Check whether /sdcard/Android/panel_powercfg.txt exists

Switch modes

Switching on boot

  1. Open /sdcard/Android/panel_powercfg.txt
  2. Edit line default_mode=balance, where balance is the default mode applied at boot
  3. Reboot

Switching after boot

Option 1:
Exec sh /data/ balance, where balance is the mode you want to switch.

Option 2:
Install vtools and bind APPs to power mode.


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

provide information about dynamic stune

provide information about dynamic stune
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Shell (176,042
Boost (4,249
Trade (3,443