^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Kernel driver nouveau
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) =====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) * NV43+
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) Authors: Martin Peres (mupuf) <martin.peres@free.fr>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) This driver allows to read the GPU core temperature, drive the GPU fan and
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) set temperature alarms.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Currently, due to the absence of in-kernel API to access HWMON drivers, Nouveau
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) cannot access any of the i2c external monitoring chips it may find. If you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) have one of those, temperature and/or fan management through Nouveau's HWMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) interface is likely not to work. This document may then not cover your situation
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) entirely.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) Temperature management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) ----------------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) Temperature is exposed under as a read-only HWMON attribute temp1_input.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) In order to protect the GPU from overheating, Nouveau supports 4 configurable
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) temperature thresholds:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) * Fan_boost:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Fan speed is set to 100% when reaching this temperature;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) * Downclock:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) The GPU will be downclocked to reduce its power dissipation;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) * Critical:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) The GPU is put on hold to further lower power dissipation;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) * Shutdown:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Shut the computer down to protect your GPU.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) WARNING:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) Some of these thresholds may not be used by Nouveau depending
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) on your chipset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) The default value for these thresholds comes from the GPU's vbios. These
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) thresholds can be configured thanks to the following HWMON attributes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) * Fan_boost: temp1_auto_point1_temp and temp1_auto_point1_temp_hyst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) * Downclock: temp1_max and temp1_max_hyst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) * Critical: temp1_crit and temp1_crit_hyst;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) * Shutdown: temp1_emergency and temp1_emergency_hyst.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) NOTE: Remember that the values are stored as milli degrees Celsius. Don't forget
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) to multiply!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) Fan management
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) --------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Not all cards have a drivable fan. If you do, then the following HWMON
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) attributes should be available:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) * pwm1_enable:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) Current fan management mode (NONE, MANUAL or AUTO);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) * pwm1:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Current PWM value (power percentage);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) * pwm1_min:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) The minimum PWM speed allowed;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) * pwm1_max:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) The maximum PWM speed allowed (bypassed when hitting Fan_boost);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) You may also have the following attribute:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) * fan1_input:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) Speed in RPM of your fan.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) Your fan can be driven in different modes:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) * 0: The fan is left untouched;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) * 1: The fan can be driven in manual (use pwm1 to change the speed);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) * 2; The fan is driven automatically depending on the temperature.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) NOTE:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Be sure to use the manual mode if you want to drive the fan speed manually
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) NOTE2:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) When operating in manual mode outside the vbios-defined
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) [PWM_min, PWM_max] range, the reported fan speed (RPM) may not be accurate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) depending on your hardware.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) Bug reports
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) Thermal management on Nouveau is new and may not work on all cards. If you have
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) inquiries, please ping mupuf on IRC (#nouveau, freenode).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) Bug reports should be filled on Freedesktop's bug tracker. Please follow
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) https://nouveau.freedesktop.org/wiki/Bugs