[G2 Q&A, Help & Troubleshooting] bloof:
GOVERNORS AND HOTPLUGS​

explanations and recommendations​

also see next post for a lot more details​

If you like reading on kernels and such, there is also this phenomenal thread by Haldi: Haldi's Thread for Z2(credits [MENTION=3056043]Haldi4803[/MENTION])

Governor Descriptions:

I will NOT go through descriptions of all the governors, by far the most complete I have found is this one: Best List of Governors

READ THE LINK ABOVE. It contains a LOT of very good information on governors.

You can find more links in here, and here and here and here.

(credits to authors, I am a bit confused who the authors actually are, lots of reposts).

Many governors listed in the links above are out of date and not optimized for modern quadcore processors, which are a lot better than they used to be (for example, voltage distribution can be different for each core, etc).

BEFORE YOU START, KNOW WHAT ARE CPU INTENSIVE TASKS:

- Heavy gaming (either graphic or AI intensive): you will lose almost 1% battery per minute, nothing you can do about this, but if you use battery saving features your game might lag/stutter.

- Browsing & multitasking (which usually involves browsing)

- Photo/video editing, viewing/zooming/generally playing around with visual multimedia

- GPS

- Long term background usage: your screen, network, apps that sync (facebook, gmail, etc). See in post 5 a few things you can do. But this thread is not about these issues so I won't talk about this.

- video playback, general phone use, etc are NOT heavy tasks

*******************************************************************************************************************************************************************

*******************************************************************************************************************************************************************

What is a governor for Noobs:

performance = how quickly things get done

power consumption = how much battery is used

Let's take a car as analogy. The performance (speed) would be represented by time to 100 kph and time to travel 1 km, for example. Consumption would be total fuel consumed.

The governor sets speed limits on the tracks for various distances to cover as well as how hard to step on the accelerator. This will CONTROL how quickly the car gets to the destination and how much fuel it consumes.

Some governors are battery friendly, they will ramp up the speed slowly and for longer distances but use less fuel.

Some governors are performance driven where they will jump to max speed straight away (I know, a car can't do that, but a phone can), and stay there until you reach the destination.

Some governors are balanced, accelerating more or less quickly to max speed or close to it, consuming more or less fuel.

IMPORTANT: the behavior of governors cannot really be un-linked from the hotplugs. You might find combinations of certain governors/hotplugs make a performance governor more battery friendly for your style of phone usage. See this list as a guideline.

What is a Hotplug for Noobs:

It is also important to talk about the hotplugs (very briefly here): if you imagine the car again, you would say there is NO WAY that you can achieve the same performance AND save fuel at the same time.

Let's have another car analogy: you have 4 lanes and 4 cars. They need to take 100 very heavy pizzas to the destination (let's ignore added friction due to car weight). You can let one car do ALL the work, or spread the load between one to four cars. That's what a hotplug does. Knowing that a car with 50 pizzas consumes a lot less fuel than a car with 100 pizzas you can now see how we can have the same performance and save on fuel: load two cars with 50 pizzas and let them accelerate as quickly as possible to the destination (performance governor). They will get there as quickly as one car with 100 pizzas (=same performance), but burn less fuel (=battery saving).

VERY IMPORTANT: Despite the existence of dedicated hotplugs in new CPU systems, a GOVERNOR can have its OWN hotplugging coding.

All it means is that the codes to switch additional cores ON and OFF is also included in the governor. Not all governors have this. PegasusQ and zzmove do for example. Therefore, if in your kernel those governors come with a dedicated hotplug you should use it.

*******************************************************************************************************************************************************************

*******************************************************************************************************************************************************************

GOVERNORS:

This section will simply go through the various options in both kernels and let you know which ones are more or less performance or battery friendly.

Since I don't have all the phones and all the kernels, this might or might not apply to your kernel. However there are many governors that are common to everyone so that helps.

Governors:

Below is a list of the main governors

loosely

ranked from battery to performance focus:

MORE DETAILS ON A LOT OF THESE GOVERNORS IN THE NEXT POST.

NOTE: the combination with the hotplug is very important. Using a performance governor (that comes down to low freq often, such as ondemandplus or darkness or others, see below) with a battery saving hotplug can have very good balance and battery savings.

Extreme Battery Governors: Don't play heavy games with these

Conservative:

anything with that name is very battery friendly and WILL sacrifice on performance, but could be OK for you.

Powersave:

anything with that name is very battery friendly and WILL sacrifice on performance, but could be OK for you.

Intelimm:

"intelliminmax (intellimm) governor is designed to work with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs). It is designed to work within those fixed voltage ranges in order to maximize battery performance while creating a smooth UI operations.". It is a battery friendly governor, I am not sure if it is more or then battery saving than Yankactive.

Yankactive:

a modified interactive, good for battery save, bad for games. (low FPS).

zzmove extreme battery variants:

zzmove governors with "battery extreme", "battery extreme yank", "battery yank" or "battery plus" in the title. "zzmove battery" is probably already in the balanced governors section (with a focus on battery savings).

Balanced Battery Governors:

zzmove battery:

focus on battery savings, but not bad on performance, so in the balanced section.

Alucard:

a favourite choice of many for battery without losing much performance.

Darkness:

alucard that goes very quickly to max freq but does not stay there long. Better for responsiveness and good for battery too.

Balanced Governors:

Nightmare:

has the coolest name. A PegasusQ modified, less aggressive and more stable. Good for performance without being battery unfriendly.

zzmove moderate/optimal:

made to be balanced, please use with associated hotplug, moderate is an updated version of optimal. A lot of people are very happy with these two governors. zzmove governors ALL have battery saving features for phone idle, so waking up phone can seem more laggy than with other governors, but it saves battery. I find this a good compromise.

Balanced Performance Governors:

OndemandPlus:

based on Ondemand and Interactive with modifications to the upscaling codes so it does scale to max freq as quickly, performance reported as very battery friendly in combination with a battery friendly hotplug such as Alucard, so not sure where to rank this one. For pure performance would use something else.

Ondemand (Dorimanx kernel ONLY):

very good performance and balance oriented. Used by the man himself (Dorimanx).

Interactive battery variants:

some variants of Interactive are more battery focused ("battery" or "extreme battery" in the title, etc) but assume those are balanced governors, probably on the performance side.

Pure Performance Governors:

zzmove performance/game/insane:

performance governors, (please with with associated hotplug). "Performance" can be used as a balanced governor as well, depending on your other kernel settings. "Game" is designed to better handle hot phones when heavy gaming. "Insane" is more performing than "performance". Zzmove governors ALL have battery saving features for phone idle, so waking up phone can seem more laggy than with other governors, but it saves battery. I find this a good compromise.

Interactive:

the basic android governor that focuses on quick jump to high frequency to please users when they switch on the phone and go straight to doing something on it. Very performance oriented and has a lot of more modern derivatives.

Impulse:

based on interactive, more modern, making use of new phone architectures. Probably more efficient than Interactive. Could be better than Intelliactive for newest phones.

Intelliactive:

based on interactive. Uses some tricks to save battery without sacrifice of performance. Preferred over Interactive basic.

Ondemand:

very performance oriented, no thought to much battery savings. NOT to be confused with "Ondemand" in Dorimanx kernel, that one is more balanced performance oriented, heavily tweaked by one of the best kernel developers ever.

Slim:

new governor, very performance oriented, not much thought (if any from what I hear) to battery savings. Use it with a phone with good battery life and performance is your thing. OnePlus One is mentioned as a good phone for this.

Wheatley:

based on Ondemand. More modern, probably more efficient (=same performance but better on battery than Ondemand).

Intellidemand:

based on Ondemand. Behaviour changes with GPU load, so if GPU load is high it behaves like Ondemand, otherwise tries to save a bit of battery. Use it if you play games for example but don't do only that.

PegasusQ:

an old governor based on Ondemand and made for performance. There are probably better newer governors now, but people still report happy use of this one (probably with battery saving hotplugs).

Performance:

usually means the cores will stay at maximum frequency. You can't have more performance than this but say goodbye to battery life.

*******************************************************************************************************************************************************************

*******************************************************************************************************************************************************************

HOTPLUGS:

Ranked from battery friendly to performance:

It is very hard to "rank" hotplugs, but their combination with governors can make a world of difference, especially when going for a "balanced" approach. What usually works there is to use a battery-performance or pure performance governor with a battery saving hotplug.

Each kernel has their own hotplugs or variations thereof. You will really need to check your own kernels for more information.

Battery Hotplugs:

Alucard HP:

very famous, a favourite of all "balanced" (usually in combination with a balanced battery governor to be on the more balanced battery side or with a performance governor to be more on the balanced performance side) or "pure battery" phone styles. Does not switch on cores excessively for low load tasks, but does NOT sacrifice performance much.

zzmove native default HP:

I will put this HP in all sections as it is intended to be used with zzmove and will help the zzmove governors behave the way they are intended to. You should really use this if you use zzmove governors. Has battery savings for idle (1 core max).

Middle of the road Hotplugs:

Default LG HP (Doriamanx kernel ONLY):

This is NOT the default LG hotplug, but a heavily tweaked version. Probably a middle of the road hotplug.

MSM HP with battery profiles:

(I am only familiar with the Dorimanx implementation). It will switch on more cores very quickly. In Dorimanx kernel, this hotplug can be heavily tweaked to be battery friendly to pure performance. With the right tweaks it is a very good choice for balanced performance.

zzmove native default HP:

I will put this HP in all sections as it is intended to be used with zzmove and will help the zzmove governors behave the way they are intended to. You should really use this if you use zzmove governors. Has battery savings for idle (1 core max).

Default HP:

I fail to see how any hotplug called "default" would be anything but a middle of the road hotplug, UNLESS your kernel maker has made their own default kernel hotplug, in which case you should probably use it if recommended for that kernels' main governor or for whatever reasons the kernel maker created that hotplug. Phone manufacturers love to have happy users so it probably will not try and save too much battery and not be too clever either. Pick another hotplug more suited to your needs if you have one available.

Aggressive Hotplugs:

MSM HP:

(I am only familiar with the Dorimanx implementation). Hotplug for pure performance. It will switch on more cores very quickly. Very good choice for balanced performance or pure performance styles. In Dorimanx kernel, this hotplug can be heavily tweaked to be battery friendly to pure performance. Recommended if you use the combination of low max frequency and multiple cores online.

zzmove native default HP:

I will put this HP in all sections as it is intended to be used with zzmove and will help the zzmove governors behave the way they are intended to. You should really use this if you use zzmove governors. Has battery savings for idle (1 core max), so will not respond as quickly on phone wake up as other aggressive hotplugs.

*******************************************************************************************************************************************************************

*******************************************************************************************************************************************************************

RECOMMENDATIONS:

THE GOLDEN RULE 1: IT ALL DEPENDS ON WHAT YOU USE YOUR PHONE FOR. EVERYONE WILL PREFER DIFFERENT SETTINGS.

THE GOLDEN RULE 2: YOU CAN'T ARGUE ABOUT TASTED AND COLORS AND YOU CAN'T ARGUE ABOUT GOVERNOR AND HOTPLUGS SETTINGS.

My recommendation for you to try, balanced, performance with battery saving:

NOTE: I am in the beginning stages of trying these configurations. Feedback is welcome and encouraged!

- This is my current trial setup. Set profile to "default".

- Max freq = 1.7/1.5/1.5/1.5 || Governors = Intelliactive/Darkness x3 or Darkness x4 || HP = MSM

- (I have not tested Yankactive/nightmare/ondemand/impulse combinations, feel free).

- GPU: max speed = 389 MHz || min speed = 100 MHz

- MSM hotplug: suspend mode to always active.

- You can set higher frequencies than 1.5, but just try it this way anyway.

Very Battery Friendly :

- CPU: set your max frequency to something much lower than your phone's max frequency (not your kernel's overclocking max frequency). At least 40-50% lower but check if your phone is built for that. For high end phones use 1.3 to 1.5 GHz for example. Increase if you have issues waking up your phone.

- Governors: obviously a battery one.

- HP: obviously a battery one if available. If desperate for battery saving, try to use hotplugs that allow 1 or 2 cores max.

- GPU: underclock your GPU to one step above the minimum; set min GPU to the minimum you can find

- Additionally you can change: touchboost OFF (or reduce freq), CPU gov sample rate to a higher number, etc. Depends on what your kernel lets you do.

- Disable all logging (kernel logging, android logging, etc)

- Disable all other non-essential kernel settings (audio boosts, gesture controls, etc). This depends so much on your kernel that I can't help you more.

Balanced on the battery-side version 1:

everything balanced

- CPU: set your max frequency two to three steps lower than your phone's default max frequency (not your kernel's overclocking max frequency). Depends so much on your phone that you will have to see.

- Governors: use a balanced battery friendly governor.

- HP: use a battery friendly hotplug.

- example: alucard governor with alucard hotplug

- GPU: underclock your GPU to one/two steps below default GPU max; set min GPU to the minimum you can find

- Optional:

- Additionally you can change: touchboost OFF (or reduce freq), CPU gov sample rate to a higher number, etc. Depends on what your kernel lets you do.

- Disable all logging (kernel logging, android logging, etc).

- Disable all other non-essential kernel settings (audio boosts, gesture controls, etc). This depends so much on your kernel that I can't help you more.

Balanced on the battery-side version 2:

battery friendly hotplug and other settings and performance governor

- A lot of people like these settings as phone responsiveness is very good and good battery life. It might not be achievable with all kernels.

- CPU: set your max frequency one to four steps lower than your phone's default max frequency (not your kernel's overclocking max frequency), depending how "balanced" you want this. Depends so much on your phone that you will have to see.

- Governors: use a balanced performance governor or even a performance governor.

- HP: use a battery friendly hotplug or middle of the road if nothing else available.

- Example: ondemandplus/darkness governor with alucard hotplug, or zzmove moderate/optimal/performance governor with zzmove hotplug

- GPU: underclock your GPU to one/two steps below default GPU max (unless you play a lot of heavy games); set min GPU to the minimum you can find.

- Underclocking your GPU will not affect your video playback. Use default or max GPU only if you play games that require it or a lot of web browsing, etc.

- Optional:

- Additionally you can change: touchboost OFF (or reduce freq), CPU gov sample rate to a higher number, etc. Depends on what your kernel lets you do.

- Disable all logging (kernel logging, android logging, etc).

- Disable all other non-essential kernel settings (audio boosts, gesture controls, etc). This depends so much on your kernel that I can't help you more.

Pure Performance:

- CPU: set your max frequency to phone's default max frequency or overclock if you like (although with modern good phones I really think that is completely unnecessary).

- Governors: use a performance governor, or a high level "balanced performance" governor to save a bit of juice (depends on your other settings).

- HP: use an aggressive hotplug.

- Example: your choice, shouldn't be hard to figure it out.

- GPU: set to default GPU max or overclock if you like; set min GPU to default min frequency (many kernels allow a min GPU at 27 MHz for example, don't use that if you play games, otherwise you can still use it here).

- Additionally you can change: touchboost to higher frequency, CPU gov sample rate to a lower number, etc. Depends on what your kernel lets you do.

- There's probably more settings you can change to boost performance if desired.