One of the things I'm not happy about on my current machine (Ryzen 1800X, RTX 2070S) is the heat and noise. I'm going to invest in a better case and fans next time, but new hardware is trying to make the problem even worse. The new hardware is supposed to be very efficient if you limit the max power, but they don't make it easy to do.
From what I can tell the only way to change power limits and fan curves for CPU/GPU are either to reboot into BIOS or use multiple separate manufacturer's shitty bloated windows GUI utilities. AMD's Ryzen Master software is supposed to be good but it doesn't work at all if you have Hyper-V enabled which is basically mandatory for developers nowadays. My GPU's default fan curves have them turn on/off around typical idle desktop temperatures so they continuously cycle on/off and have worn out the bearings and now make a scraping noise every time they do this. The only way to fix this is to launch a bloated windows GUI utility every boot. I was surprised to not find an open source Linux library or kernel driver that lets you read and write fan speeds for GPU and motherboard controlled fans.
I want two things:
1. A simple, unobtrusive button in my system tray that lets me toggle power limits of my CPU and GPU from "silent" to "performance".
2. A simple, unobtrusive way to configure fan curves with averaging and hysteresis that, crucially, lets the case fan speeds be controlled by a combination of GPU and CPU temperatures.
As far as I know neither of those are possible today. I've considered buying or making a USB fan speed controller and even plugging my GPU fans into it because there's no other good way to control them.