I have bought a fanless PC, and it is really important for me to have some form of power management for this PC, because currently I don't under Qubes, and the result is that if I do something that puts a lot of load on the CPU like playing a full-screen video in Firefox, the CPU overheats and the system (firmware?) automatically goes into emergency power-saving mode, which involves making the CPU go really slow.
I have transferred responsibility to the Linux kernel for power management by adding cpufreq=dom0-kernel
to the Xen command line. This doesn't help.
I have then tried to switch from the intel pstate driver (which doesn't work with my Rocket Lake CPU, an Intel® Core™ i7-11700) to the acpi-cpufreq driver by adding intel_pstate=disable
. This also doesn't help – sudo cpupower frequency-info
shows "no or unknown cpufreq driver is active on this CPU".
I then installed the latest version of thermald
on my dom0 domain, but thermald
is not able to find any temperature sensors:
[WARN]Thermal DTS: No coretemp sysfs found
I have ran sudo sensors-detect
, but that didn't help.
I have then ran modprobe processor_thermal_rapl
and modprobe processor_thermal_device
and restarted thermald
, but it still showed the same errors.
My motherboard is an Asus TUF GAMING B560M-PLUS WIFI.
Please help me to enable some form of thermal throttling / frequency governor on this PC, other than the firmware's emergency thermal throttling.
Best Answer
Maybe it's my imagination, but it seems like adding
intel_pstate=disable rdblacklist=xen_acpi_processor
to the kernel command line has solved the original problem, so that I don't need thermald after all.I'm not sure how that can be the case though, since no driver or process is now controlling the CPU frequency...
EDIT: Just to confirm, over a year later, I have had zero overheating events - except one incident where the PC shut down for unknown reasons, which I guess could have been an overheating event. That said, I mostly use this PC for web browsing, so it's not usually very overtaxed.