Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Option to change the CPU governor #22

Closed
Trollwut opened this issue Jun 7, 2020 · 8 comments
Closed

Option to change the CPU governor #22

Trollwut opened this issue Jun 7, 2020 · 8 comments
Labels
enhancement New feature or request

Comments

@Trollwut
Copy link

Trollwut commented Jun 7, 2020

I use two seperate profiles for AC or battery.

On battery, the default governor "powersave" is a fitting description.

When using AC profile, I do have my higher CPU clocks, but the governor is still "powersave". The governor "performance" might be more fitting.

The tool paramano fetches possible CPU governors and creates a list to choose from (e.g. AMD CPUs have other govenor names than Intel CPUs).

How about adding a setting for a profile on which CPU governor has to be set?

I think this might improve behaviour of other applications, which might reduce/increase features depending on the CPU governor.

@vinzv vinzv added the enhancement New feature or request label Jun 9, 2020
@nickma82
Copy link

The tool paramano fetches possible CPU governors and creates a list to choose from (e.g. AMD CPUs have other govenor names than Intel CPUs).

cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors should do as well.

ATM the are fixed to default
https://github.com/tuxedocomputers/tuxedo-control-center/blob/master/src/service-app/classes/CpuWorker.ts#L102-L105
which is powersave for pstate
https://github.com/tuxedocomputers/tuxedo-control-center/blob/master/src/service-app/classes/CpuWorker.ts#L70

@tuxedoxt
Copy link
Collaborator

Correct, as discovered this is currently not configurable and is currently not planned. To keep the CPU frequency scaling "more ready" it's possible to choose only high frequencies in TCC. For most CPUs this will be kept to even though the governor is called powersave.

Should you discover that the governor choice has a severe impact on something specific, please keep me posted.

@nickma82
Copy link

nickma82 commented Aug 12, 2020

I often found the CPU frequency below the rated/setup minimum, especially during CPU intensive tasks. I can tell you, that's not what one wants.
It is much better now after setting up the Fan control to Freezy. So I guess that throttling came from the built in thermal_throttle.

Anyway an option to setup the energy_performance_preference and the scaling_governor would be appreciated and would have led me earlier on to the thermal throttling.

@TheAifam5
Copy link

On my machine it freezes the mouse for a second. I changed the governor in the config files and patched the daemon, for now is working as expected.

@nickma82
Copy link

I [...] patched the daemon, for now is working as expected.

Hi @TheAifam5 I'm interested in how your patch looks like? 😄

@TheAifam5
Copy link

TheAifam5 commented Aug 17, 2020

I do not take any responsibility!

@nickma82 as default, every profile has governor set to powersave. Go to /etc/tcc and edit your profile in the file named profiles. Set governor to performance and the energyPerformancePreference to performance. You may need to restart the tcc services.

diff --git a/src/service-app/classes/CpuWorker.ts b/src/service-app/classes/CpuWorker.ts
index ee74d26..4302cc6 100644
--- a/src/service-app/classes/CpuWorker.ts
+++ b/src/service-app/classes/CpuWorker.ts
@@ -100,7 +100,8 @@ export class CpuWorker extends DaemonWorker {
             this.setCpuDefaultConfig();
 
             // Note: Hard set governor to default (not included in profiles atm)
-            profile.cpu.governor = this.findDefaultGovernor();
+            if (!profile.cpu.governor)
+                profile.cpu.governor = this.findDefaultGovernor();
 
             this.cpuCtrl.setGovernor(profile.cpu.governor);
             this.cpuCtrl.setEnergyPerformancePreference(profile.cpu.energyPerformancePreference);
@@ -140,7 +141,8 @@ export class CpuWorker extends DaemonWorker {
         const profile = this.tccd.getCurrentProfile();
 
         // Note: Hard set governor to default (not included in profiles atm)
-        profile.cpu.governor = this.findDefaultGovernor();
+        if (!profile.cpu.governor)
+            profile.cpu.governor = this.findDefaultGovernor();
 
         let cpuFreqValidConfig = true;
 

@nickma82
Copy link

nickma82 commented Nov 30, 2020

This one is a must have IMHO along with #44

@tuxedoxt
Copy link
Collaborator

tuxedoxt commented Mar 8, 2021

Little late to the party but since v1.0.9 governor performance option was reintroduced as an extra checkbox => "maximum performance" profile setting for those cases it could be useful.

"Full governor control" is still not reintroduced. Future update will include disabling the TCC cpu control however enabling possibility of using another tool in combination.

Closing this for now as it should address the original issue. Feel free to reopen if not.

@tuxedoxt tuxedoxt closed this as completed Mar 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

5 participants