amdgpu fan behavior doesn't match windows
@notaz
Submitted by Grazvydas Ignotas Assigned to Default DRI bug account
Description
Some AIB vendor cards have fan profiles tuned to them, which include marketing features like "Zero Frozr", "0 RPM", "Mute Fan" and so on that stop the fan completely while idle. This doesn't seem to be working with amdgpu, the fan always spins although some thermal control does seem to work.
My card is MSI RX 470 Gaming X 8G, which has the following vBIOS:
https://www.techpowerup.com/vgabios/185500/185500
Dumping ATOM_Fiji_Fan_Table shows:
usTMin: 4000
usTMed: 6500
usTHigh: 8500
usPWMMin: 2000
usPWMMed: 4000
usPWMHigh: 6000
usTMax: 10900
ucFanControlMode: 1
usFanPWMMinLimit: 18
usFanPWMMaxLimit: 100
usFanPWMStep: 1
usDefaultMaxFanPWM: 100
usMaxFanPWM: 100
usFanRPMMinLimit: 18
usFanRPMMaxLimit: 100
This doesn't seem to really correspond to how it works on Windows, where the fan stops completely while under 60C (which is how it's also advertised by the vendor). I've not installed any MSI tools there, just the base AMD driver, it also doesn't depend on any autorun .exe, only the base driver is needed for it to behave as advertised on Windows.
So does anyone know what is done different by the Windows driver? Perhaps a different fan table is used from the vBIOS? Or perhaps the driver has this logic hardcoded for each partner card?
Can it be done on Linux too?