[General Topics] Saber:
51. Uberdemand

Description:

Uberdemand is Ondemand with 2-phase feature meaning it has a soft cap at 1728 MHz so your cpu won't always go directly to max, made by Chet Kener.

52. Yankactive

Description:

A slightly modified interactive based governor by Yank555.lu. It has battery tweaks added onto it so expect better battery life! Based on user reports, this governor behaves more battery friendly than the original interactive governor without sacrificing performance.

53. Impulse

Description:

An improved version of interactive modified by neobuddy89. Impulse aims to have a balance between battery and performance just like interactive but has some tweaks to save battery.

54. Bacon

Description:

This is nothing but polished interactive governor branded as "bacon" since it was adapted from bacon device thanks to neobuddy89. Most of the tweaks are for performance/latency improvements

55. Optimax governor

Description:

Ondemand based with some enhancements from LG, particularly to freq boost handling so it will boost to a set level, almost like HTC's governor. It has different tunables to the HTC governor but it behaves pretty similar, the tunables it comes with default are a bit more conservative. It originates from Cl3kener's Uber kernel for Nexus 5, where it has quite a reputation for battery life

56. Preservative governor

Description:

Preservative is a conservative based governor. The idea is that it will stay at the step specified (702MHz selected by the creator Bedalus) unless needed. You will notice it will hover around 702 a lot, and not go above too much, and only to min freq when NOTHING is happening at all. This is most beneficial when you are doing something like reading; the screen is static or playing light games that won't need boosting any more. The governor comes from Moob kernel for nexus 4

57. Touchdemand

Description:

Touchdemand is based on the ondemand cpu governor but has been modified for the Tegra 3 chip (tablet only) and has additional tweaks for touchscreen responsiveness.

58. ElementalX

Description:

By default, it is more conservative than Ondemand as it does not ramp up often for most phone activities. If there is a graphics load detected, the governor will switch to a two-phase Ondemand behaviour where different max frequencies are used depending on the load increase. ElementalX comes with input boost enabled by default lowering the sampling rate and increasing the frequency to improve responsiveness.

59. Bioshock

Description:

CPU governor developed by Jamison904. A mix of ConservativeX and Lionheart

60. Blu_active

Description:

A governor developed by eng.stk (featured in his Code_Blue kernels) based on interactive with upstream caf patches and ondemand governor bits too. This governor is mainly focused on performance like the other things the developer creates but it is also well balanced for gaming and general usage.

61. Umbrella_core

Description:

A governor by twisedumbrella based on interactive that is focused on battery life and not performance. It will still ramp up to a set frequency but will not stay at high frequencies for long. This governor tends to stay in high-mid range frequencies during screen_off.

62. ConservativeX

Description:

Developed by Imoseyon (feat. briefly in the Lean Kernel for Galaxy Nexus), the ConservativeX governor behaves like the Conservative governor with the added benefit of locking the CPU frequency to the lowest interval when the screen is off. This governor may additionally perform hotplugging on CPU1, but there is no documentation to confirm that suspicion at this time.

63. HydrxQ

Description:

Simply a lulzactiveq governor with tweaks to performance (thanks to tegrak). This means more performance and less battery life.

64. DevilQ

Description:

An aggressive pegasusq governor which keeps the hotplugging at max 2 cpu cores to offline). This is pretty much a more optimized pegasusq for phone's with quad core processors.

65. YankasusQ

Description:

Yankasusq is another modified pegasusq but with including screen off freq tunable and some other modifications as well. The difference between PegasusQ and YanksusQ is that it doesn't ramp too aggressively when screen turns on (less battery drainage).

66. Darkness

Description:

It's based on nightmare but more simple and fast, basic configs but very complex structure. It is an updated nightmare gov and improved stability, so far it is quite stable in tests

67. Alucard

Description:

Alucard is based on ondemand but has been heavily tweaked to bring better battery life and performance. It has been known to be battery friendly without sacrificing much performance.

68. Hellsactive

Description:

A heavily modified intelliactive governor by [MENTION=647113]hellsgod[/MENTION] that has been tweaked to improve battery life. Hellsactive is less aggressive compared to intelliactive so the battery life will be more like the original interactive.

69. Ragingmolasses

Description:

Besides a gov with an awesome name its a mash up of conservative and ondemand and scales based on load with few tunables. Its meant to be simple, fast, and efficient at keeping the frequency away from the max clock unless it is absolutely needed. it includes gboost for better gaming.

70. Virtuous

Description:

It sets your max cpu for wake and sleep and changes the governor when your device is awake or asleep. It saves battery by lowering cpu frequencies while the device sleeps, when it awakes it automatically speeds it up again. Or alternately you can set the cpu. It is based on smartassV2(It uses 2 governors, one for sleep and other for awake)

71. Sakuractive

Description:

An aggressive hybrid of ondemand and hotplug, which means it will scale like ondemand, except a little more aggressive. But also acts like hotplug as it shuts down multiple CPU cores to save power.

72. InteractiveX V2

Description:

Developed by Imoseyon (feat. in the Lean Kernel for Galaxy Nexus), the InteractiveX V2 governor behaves like InteractiveX, and additionally forces CPU1 into a hotplug state when the screen is off.

73. Alessa

Description:

A less aggressive and more stable ondemand modified by TeamMex. A good compromise between performance and battery. It can be used with the complementary hotplug governor. Please note that this governor is still a WIP!

74. GallimaufryX

Description:

A modded ondemand that is a 2-stage ondemand governor with speed tweaks. It includes imoseyon's screen-off hotplugging code.

75. AggressiveX

Description:

A modded conservative governor but with lots of tweaks to increase snappiness while saving power. It also includes imoseyon's screen-off hotplugging code.

76. Tripndroid

Description:

Tripndroid is based on ondemand with extra tweaks for performance

77. Wrexy

Description:

Wrexy is a conservative based governor but is also similar to the Lionheart gov. It tends to stay out of higher frequencies to favor lower frequencies but performance is not much affected.

78. Xperience

Description:

A tweaked smartassv2 for better performance. Created by TeamMex.

79. Stockdemand

Description:

A heavily modified ondemand for better performance and battery life.

80. Zeneractive

Description:

Based on the interactive governor, it handles frequency scaling the exact same as interactive and has the same tunables as interactive for frequency scaling. However, all of the new hotplugging code is written "from scratch."

81. InteractiveB

Description:

An interactive based governor with a more balanced battery life/performance profile

82. Aggressive

Description:

Like Lionheart, it is based on conservative, but even more aggressive

83. Intellidemandv2

Description:

Much like its predecessor, intellidemandv2 is an intelligent ondemand with browsing detection and scales based on GPU loading. It has been optimized for specific devices and has better battery life and performance.

84. Boostactive

Description:

Based on Interactive but with cpu frequency boosting capabilities. This is performance oriented governor.

85. Wave

Description:

Based on Conservative with some tweaks for speed and battery. This governor was created by zparallax.

86. Barry-Allen

Description:

It's based on interactive. The governor is supposed to be more battery friendly and at the same have good performance.

87. Arteractive

Description:

It is an interactive CPU governor port from newer source code. It has more optimizations for Snapdragon 80x processors.

88. Precognition (PrecoGOV)

Description:

PrecoGOV takes over and dynamically adapts to your usage pattern. To achieve such goal, PrecoGOV manages the frequency, idle & sleep patterns, hotplugging, temperature per core and even gpu and tries to help the scheduler as best as it can, all while taking into account battery and thermal constraints.

89. Mythx_plug

Description:

It's based on an improved Interactive governor and has been modified to scale up slower and scale down faster. It is a battery friendly governor.

90. PegasusQPlus

Description:

PegasusQPlus is a heavily tweaked PegasusQ governor, which has been implemented by AndreiLux in his Perseus kernel. PegasusQPlus should have a better balance between performance and battery usage.

91. Yankdemand

Description:

Full stock (JB) ondemand governor with changed default tunable values aimed at lower battery consumption

92. HyperX

Description:

A tweaked interactive based governor for performance.

93. Despair

Description:

It is a tweaked conservative governor with a couple extra values exposed, it tends to be a bit more conservative with battery than the conservative governor by default. Developed by DespairFactor.

94. Electroactive

Description:

This governor is the replacement over the original electrodemand governor, being much more battery friendly with much smoother transitions compared to the original. It is a hybrid class governor, using a unique way to merge the best of both interactive and ondemand. It includes some extra additions and enhancements to be more battery saving than interactive governor and some boost tunes and additions that allow better power management and performance in games as well as better power saving when in normal use. CPU boost, graphics boost, fast_start deep_sleep and detection features are built in as well as 300 MHz clock speed in suspend.

95. Electrodemand

Description:

Based on the ondemand cpu governor, this is the older governor that was used in the electroactive kernel which uses the same tunables found in the original ondemand governor.

96. Lionfish

Description:

The Lionfish governor combines traits of the conservative, ondemand, and interactive governors. It is designed to maximize battery life without noticeably impacting performance. It responds quickly to heavy loads while staying within the region of optimal CPU performance per watt. With moderate loads, it periodically votes to raise, maintain, or decrease the frequency. When there are enough votes to change the frequency, it is ramped up and down gradually. The voting mechanism reduces frequency jitter compared to ondemand and conservative. squid2's testing had found that this governor uses moderate frequencies (where efficiency is optimal) more effectively than interactive, ondemand, and conservative. This improved frequency distribution results in a moderate reduction in CPU power consumption while maintaining responsiveness comparable to the interactive governor.

97. Interextrem

Description:

A tweaked interactive governor by thehacker911. It is found in hacker kernel s6, where it has been tuned for better performance while still maintaining good battery life.

98. Cafactive

Description:

Found in arter97's kernels, cafactive is the qualcomm optimized version of interactive from CodeAurora. This version promises to bring greatly enhanced performance over samsung's own version of interactive (benchmarks have shown a increase in performance scores), however it may be unstable on some devices and may cause some performance issues under normal and heavy operation.

99. Lightning

Description:

Lightning is modified darkness gov made by [MENTION=5903873]HridayHS[/MENTION]

100. ThunderX

Description:

ThunderX is a power saving CPU governor based on SmartAssv2 optimized for Mediatek SoCs.

101. Intel

Description:

It's an interactive based governor that is optimized for Intel devices. It is thought to be more battery friendly than interactive while still having good performance. Found only on intel based SOCs.

102. Frankenstein

Description:

Based on interactive with hotplugging, it is a performance oriented governor but aims to save battery when screen is off. However, it may be unstable on some devices. Found only on intel based SOCs.

103. Cyan

Description:

Cyan is an interactive based CPU governor intended for heavy gaming and processes. It was originally developed for the i9500, but is now found in kernels for devices with intel SOCs.

104. TheSSJactive

Description:

TheSSJactive is based on yankactive but with the addition of hotplugging support for intel SOCs. It is known to be a battery friendly governor.

105. Chill

Description:

A conservative based governor by frap129 (Electron kernel). It's aims to provide more aggressive battery savings while screen is off.

106. sprdemand

Description:

A modded ondemand governor with functionality to offline CPUs when screen is off. It has thermal control logic implemented into the governor.

107. Kraken

Description:

Based on ElementalX but with tweaks for better performance while remaining well balanced. Found in Kraken Kernel by Team OctOS.

108. Ironactive

Description:

Based on the latest CAF 4.4 version of interactive without any additional modifications. It is found in [MENTION=5899304]Tkkg1994[/MENTION]'s superkernel for the Samsung Galaxy S7.

109. Nebula

Description:

A port of the Interactive governor based on msm-4.4 sources with some mods for the HTC 10, preserving the excellent balance between performance and battery life found in many other Interactive based govs. It originated from Eliminater74's Nebula kernel and was a popular choice prior to the introduction of EAS scheduling to the kernel.

110. Relaxed

Description:

Relaxed is based on chill, and has been altered in order to achieve more gradual frequency boosting providing battery life benefits. Relaxed uses a boost ceiling variable in order to achieve this. Rather than boosting straight to the max frequency, relaxed finds the difference between boost_counter and boost_ceiling, then boosts to max minus that difference. This governor doesn't completely replace chill, but is intended to be used alongside it.

111. Crazyactive

Description:

A modified Interactive governor by [MENTION=4527059]CrazyGamerGR[/MENTION] that has been biased more towards performance.

112. thenewbeginning

Description

A modified Alucard governor by varunhardgamer that has been biased more towards performance.

113. Cultivation

Description

A highly modified interactive-based governor with the intention of giving the user more control by providing more tuning options. Based on CAF 4.4 commits with parts coming from blu_active and XDA user Sultanxda.

EAS Governors

114. schedutil

Description:

schedutil is a new EAS governor found in recent versions of the Linux Kernel (4.7+) that aims to integrate better with the Linux Kernel scheduler. It uses the kernel's scheduler to receive CPU utilisation information and make decisions from this input. As a direct result, schedutil can respond to CPU load faster and more accurate than normal governors such as Interactive that rely on timers.

115. pwrutilx

Description:

A new EAS governor based on schedutil that aims to be much more efficient by using a different formula to get next frequency.

116. blu_schedutil

Description:

blu_schedutil is an unmodified version of the Pixel 3 schedutil governor which promises better battery savings over traditional schedutil.

Hotplugging drivers:

1. mpdecision:

Description:

Qualcomm's default hotplugging driver. One of the most widely used hotplug drivers in all android devices.

2.msm_hotplug:

Description:

Great battery life, a custom qualcomm based hotplugging driver by myflux. It is a popular choice for many users.

3. intelliplug:

Description:

A popular hotplug from faux123 that is highly customisable and provides a great balance between battery and performance.

4. Alucard:

Description:

A great hotplugging driver by Alucard. It is known to be very battery friendly on devices.

5. Kt Auto Hotplug:

Description:

A great hotplug driver by Ktoonsez. Pretty much a smarter mpdecision that has been optimized for quad-core devices.

6. Mako Hotplug:

Description:

A popular hotplug driver found in Franco kernel. Franco didn't like how closed sourced MPdecision worked and so he created this driver as a direct replacement. It always keep 2 cores online and will online additional cores based on load conditions.

7. Zen Decision:

Description:

ZEN only onlines all cores when screen is on, it also takes thermal events into account and wont online any core back, if you're under 15% battery, or currently have a thermal event because of heat. So in the end it isn't a "real" hotplug driver, because it doesnt have any code for active hot plugging in it. That means you can't change its behavior.

8. Bricked Hotplug:

Description:

Conservative hotplug driver by [MENTION=4195844]show-p1984[/MENTION]. It is based on mpdecision but has been optimized for better balance between battery life and performance.

9. msm_sleeper:

Description:

The main feature with this hotplug is that you can customize the screen off frequency. Two cores are always on, the third and fourth are independent and come online if needed. By default, if the load is over 80 for 400ms another core comes online. The third and/or fourth cores stay online as long as the load demands it or for a minimum of one second. While the screen is off, it goes down to a single core. Created by flar2.

10. Autosmp:

Description:

A highly-efficient hotplug driver by [MENTION=4203114]mrg666[/MENTION], works in-sync with the CPU governor to enable off-line cpu cores when the the CPU frequency reaches a high threshold and still more compute power is needed. Therefore, touch boost bloat is removed.

11. Thunderplug:

Description:

A matured load-based hotplug driver with many tunables written from ground up by varun.chitre15. This hotplug is optimized for octa-core devices and also has support for 64bit CPUs.

12. Blu_plug:

Description:

Dynamic hotplug from eng.stk's shamu kernel with screenoff battery saving.

13. cpuquiet:

Description:

A hotplug driver by NVidia and ported to Snapdragon by maxwen. Originally made for NVidia tegra SOCs. It has a set of governors which keep the CPU running at optimal frequencies for battery and performance.

14. Fast hotplug:

Description:

A hotplug driver from pec0ra's abricot kernel. It aims to be as lightweight as possible while also being highly customizable. However, it is still a WIP as it is known to have some stability issues.

15. Hima hotplug:

Description:

An optimized hotplug driver based on intelliplug for big.LITTLE architecture. Found on chadouming's HTC One (M9) kernel, it takes advantage of the big and LITTLE CPU cores in order to provide 'butter smooth' performance.

16. State Helper:

Description:

A hotplug driver by [MENTION=3795148]neobuddy89[/MENTION] designed with the Nexus 6 in mind. It is highly configurable giving the user control over what CPUs to online based on what battery threshold levels have been set. Another feature that sets state helper apart from other hotplug methods is that it respects the thermal driver.

17. ZZmoove native hotplug:

Description:

The hotplugging logic found in the ZZmoove governor. This isn't a standalone hotplug driver that can be used with other governors, the hotplugging is done by the governor which was common on older devices like the Samsung Galaxy S3. Native hotplugging may offer better stability and the governor should perform better in battery life and performance (your experience may vary) because it was designed for this specific governor.

18. Lazyplug

Description:

A hotplug from arter97 that leaves CPU cores on for most of the time with the exception of some situations where leaving all cores on could be battery draining (e.g. Video playback). The purpose behind this is to improve performance & battery life by removing excess CPU overheads caused by unnecessary hotplugging where similar techniques are already employed in Samsung and Nexus firmwares.

GPU governors

1. Simple:

Description:

An open-source alternative to Qualcomm's closed-sourced governors. Developed by Faux123, it is highly customisable which will allow more fine-grained control over how the GPU scales up and down.

2. simple_ondemand:

Description:

As the name implies, it is a simpler version of the CPU governor ondemand. simple_ondemand will ramp up the frequency when a load is detected. It has a good balance between performance and battery savings.

3. msm-adreno-tz:

Description:

The default GPU governor used by Qualcomm for their adreno GPUs. It is based on the ondemand governor but is biased towards performance, therefore it should give better performance in games but less battery life.

4. Performance:

Description:

As the name suggests, this keeps your GPU running at the max frequency. This is a governor if you want the best possible experience in games but you don't care about your battery life.

5. Powersave:

Description:

Like the CPU governor, this keeps your GPU running at the lowest possible frequency. Best battery life, extreme lag in games.

6. Adreno Idler:

Description:

It is an idling algorithm, an efficient workaround for msm-adreno-tz's overheads. Main goal is to lower the power consumptions while maintaining high-performance. Since msm-adreno-tz tends to *not* use the lowest frequency even on idle, Adreno idler replaces msm-adreno-tz's algorithm when it comes to calculating idle frequency(mostly by ondemand's method). The higher frequencies are not touched with this algorithm, so high-demanding games will (most likely) not suffer from worsened performance.

7. Userspace:

Description:

This governor basically allows the user is able to set a desired frequency for the GPU to run at.

8. cpubw_hwmon:

Description:

A hardware monitor based governor that attempts to determine bandwidth (BW) needed by CPU and other hardware. Because it samples bandwidth using polling intervals, it has been made to be biased towards performance to compensate for the possible slower response times during heavy loads.

9. MSM Cpufreq:

Description:

The MSM CPUfreq governor determines the CPU to DDR bandwidth vote based on the current CPU frequency of all the active CPUs. In other words, this governor scales based on CPU usage which could mean more performance.

Benchmark graphs:

Link to raw data: https://drive.google.com/file/d/0B3ApZsjOd2bzWDRnQjRsUTlLSlE/view?usp=sharing

Here are more graphs (thanks to Haldi!)

Having trouble seeing the graph above? Here is the direct link to the image: http://i.imgur.com/PbtNyab.png

For more info about Haldi's benchmarks, visit here: http://xdaforums.com/showthread.php?t=2768979

Recommendations

Overall:

Interactive (or balanced variants)

zzmoove (default or optimized profile)

Ondemand

PegasusQ (Works well on some older devices)

Impulse

Battery Saving:

Conservative (tuned, or battery saving variants)

Ondemand (tuned, or battery saving variants)

Smartmax

Powersave

Alucard

zzmoove (tuned, change to battery profile)

Performance oriented:

Interactive (tuned, or performance oriented variants)

Intelliactive (preferred over intellidemand)

Performance

Nightmare

Blu_active

Lionheart