and restarting, but that didn’t do anything, at least to /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor - it’s still on powersave.
My PC is hooked up to a UPS, so just to be sure, I disabled battery detection there to prevent any performance limits that could be applied by tuned.
How to change default scaling governor? For example, Is it possible to have the ondemand governor with current Bazzite image?
What does cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors return? If it doesn’t list ondemand then the cpufreq_ondemand module isn’t loaded for some reason. If that’s the case, you should probably file a bug in main…
The most important feature of active governing is that only two governors appear available, powersave and performance. They do not work at all like their normal counterpart, however: these levels are translated into an Energy Performance Preference hint for the CPU’s internal governor. As a result, they both provide dynamic scaling, similar to the schedutil or ondemand generic governors respectively, differing mostly in latency.
So my guess is that you either change entirely the scaling driver, the operating mode of amd_pstate, or ideally leave it as it is, since in that default mode it already operates in a similar way to vintage ondemand or schedutil already.
I am running a AMD Ryzen HX 370 machine and the default governor is also powersave. The Meta B shortkey does show other settings, but it always ends up in powersave.
I set up a custom system service to change to performance mode at boot as a workaround.
CPU/GPU stuck in “powersave” after sleep on desktop build
Just wanted to share a quick fix for a sleep/resume issue I ran into on my fanless PC Ryzen AI 9 HX 370.
The Problem: I set up a custom systemd script to lock my CPU governor to performance and my GPU to high to maximize desktop performance. It worked perfectly on boot, but every time the system woke up from sleep/suspend, it immediately reverted back to powersave and auto.
The Culprit: The hhd.service (Handheld Daemon). Since Bazzite is heavily optimized for handhelds, HHD wakes up after sleep and applies its default battery-saving profiles, completely overwriting any custom kernel tweaks.
The Fix: If you are running Bazzite on a stationary Desktop, Mini-PC, or HTPC and don’t need the handheld controller/TDP emulation features, you can simply mask the Handheld Daemon:
Bash
sudo systemctl mask hhd.service
After doing this, you can put your custom resume scripts inside /etc/systemd/system-sleep/. They will execute perfectly after waking up without HHD interfering, and your system will stay locked to your preferred performance levels!
Hope this saves some time for anyone else building a stationary Bazzite rig!
And by the way bazzite is awesome, thanks for the great OS.
P.S. I think probably hhd.service should be able to switch modes correctly, perhaps this just does not work on the HX 370 as intended.