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