ChimeraOS / chimeraos

A Steam Big Picture based couch gaming OS
MIT License
1.59k stars 115 forks source link

Cpu governor #64

Closed sciroccogti82 closed 1 year ago

sciroccogti82 commented 4 years ago

Cpu Governor seem to not be set to performance, shadow of the tombraider complains about it when I start up, and the performance is identical to my arch linux install with powersave governor set.

alkazar commented 4 years ago

I am not sure it is a good idea to set the governor to performance though. It may affect thermals or the longevity of hardware to have it on all the time.

Also, in kernel 5.4 (included in GamerOS 12) there is a new default governor called schedutil. Apparently, the plan is to remove the performance governor completely. All other governors have already been removed.

https://www.phoronix.com/scan.php?page=news_item&px=CPUFreq-Schedutil-Future-Maybe

dubigrasu commented 4 years ago

Well, in performance mode it just stays full clock, not necessarily full temp (unless there's something horribly wrong with the cooling). I'm running my machines this way since IDK, a decade or more, and I have yet to see issues. (there's a word to be said about energy consumption though.) When the CPU starts getting used is basically the same thing (from thermal point of view) with the powersave/ondemand governor, just that it doesn't keep micro-jumping between states (hence, less stutter caused by that). That being said, having the governor on performance simply by default is overkill, I believe. Better have it as an option, or have something like Feral's gamemode implemented.

tommy4st commented 4 years ago

Could the bad performance be related to the fsync patch or the lack thereof?

sciroccogti82 commented 4 years ago

well from arch wiki "The intel_pstate driver supports only the performance and powersave governors, but they both provide dynamic scaling. The performance governor should give better power saving functionality than the old ondemand governor. " And in arch it does not always stay in full speed with performance mode, however in powersave it stays very low clocked even in games, so performance governor is a must unless you have a monster of a cpu.

dubigrasu commented 4 years ago

What CPU do you have?

sciroccogti82 commented 4 years ago

Intel i7 7700k

alkazar commented 4 years ago

Feral gamemode is now included in GamerOS 15.

feilen commented 4 years ago

Is gamemoderun ever called, or is it preloaded some other way?

alkazar commented 4 years ago

You have to add it to games in the launch options. There is unfortunately no way to specify global launch options.

feilen commented 4 years ago

Although the governor doesn't appear to be affected by the blacklist, the IO priority/renicing parts of gamemoderun work if you just launch steam itself with it, it has a built-in blacklist to ignore steam/steamwebhelper: https://github.com/kakra/gamemode/commit/ea8d1164c54da1600ade3abd2409d19f7ad63179

alkazar commented 4 years ago

That is interesting. You can actually try this out by adjusting the steam launch command with the following instructions: https://github.com/gamer-os/steamos-compositor-plus#configuration

I am going to test it out. Would appreciate if anyone else could also try it out and let me know how it goes before I turn it on by default.

I am concerned with power usage and thermals mostly.

Mohandevir commented 4 years ago

Is there a way to manually change the cpu governor? I tried cpupower, but it's not recognized.

I'm having a lot of stutter on GamerOS, that didn't happen on my Mint/Ubuntu installs, on my Ryzen 5-3600. I was wondering if this could be the cause.

Thanks!

feilen commented 4 years ago

sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor <<< performance

sharkwouter commented 4 years ago

sudo tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor <<< performance

I don't think this sticks if you reboot, though.

Mohandevir commented 4 years ago

Thanks for your help!

Found this on the subject:

"Make changes permanent

For example, to set the scaling governor of the CPU core 0 to performance while the scaling driver is acpi_cpufreq, create the following udev rule:

/etc/udev/rules.d/50-scaling-governor.rules

SUBSYSTEM=="module", ACTION=="add", KERNEL=="acpi_cpufreq", RUN+="/bin/sh -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor'""

Is there a way to adapt this to GamerOS?

Source: https://wiki.archlinux.org/index.php/CPU_frequency_scaling

Samsagax commented 3 years ago

Feral gamemode is now included in GamerOS 15.

I noticed the gamemode daemon is not enabled in GamerOS 23. Shadow of the Tomb Raider complained it doesn't have the governor set to performance and it's a known title to have Feral interactive gamemode built in.

I had to enable it myself from command line. Maybe it should be enabled by default for the user?

This is what I did:

$ systemctl --user start gamemoded.service
$ systemctl --user enable gamemoded.service

It should not be hard to integrate in GamerOS build as a user service. After that any game can request gamemode by adding gamemoderun %command% to the game command line under properties in Steam or via steam-tweaks

pastaq commented 1 year ago

Can we close this?

Samsagax commented 1 year ago

Since we have gamemode daemon enabled by default we can close this one.