Thanks for this! This is one of the most useful tips I’ve cme across in quite some time. I had to try this out for my S905x immediately and got the same great results. In my case I had to change the governor for the CPU0 core with this command:
echo interactive | tee /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor >/dev/null
YOU DON’T HAVE TO REPEAT IT FOR THE OTHER CORES since their cpufreq folder symlink to this core. After that CPU temp went down considerably. On the S905X there are 4 governors available. Interactive is the best governor for anything except maybe games.
The default, ondemand, essentially only oscillates between lowest and highest frequency state.
Hotplug works similar to Ondemand but is able to shut off unused cpu cores completely. Performance always keeps the highest state. Interactive uses all the power states.
Therefore, these governors yield running temperatures from lowest to highest: Interactive, Ondemand, Performance. Not sure where to put Hotplug, needs some experimenting.
You can put the above command to change the governor in your autostart.sh file.