요약·해설과 원문, 전문 번역을 서로 분리했습니다. API 이름, symbol, source path는 원문 표기를 사용합니다.
1. 요약·해설
원문의 핵심 논리와 kernel programming 관점의 보충 설명입니다. 아래의 전문 번역과는 별도로 작성했습니다.
2. 영어 원문 전체
번역 기준이 된 Linux v6.18.37 원문입니다. 줄 번호는 이 버전의 파일 좌표입니다.
원문 전체 펼치기
=====================
Kernel driver nouveau
=====================
Supported chips:
* NV43+
Authors: Martin Peres (mupuf) <martin.peres@free.fr>
Description
-----------
This driver allows to read the GPU core temperature, drive the GPU fan and
set temperature alarms.
Currently, due to the absence of in-kernel API to access HWMON drivers, Nouveau
cannot access any of the i2c external monitoring chips it may find. If you
have one of those, temperature and/or fan management through Nouveau's HWMON
interface is likely not to work. This document may then not cover your situation
entirely.
Temperature management
----------------------
Temperature is exposed under as a read-only HWMON attribute temp1_input.
In order to protect the GPU from overheating, Nouveau supports 4 configurable
temperature thresholds:
* Fan_boost:
Fan speed is set to 100% when reaching this temperature;
* Downclock:
The GPU will be downclocked to reduce its power dissipation;
* Critical:
The GPU is put on hold to further lower power dissipation;
* Shutdown:
Shut the computer down to protect your GPU.
WARNING:
Some of these thresholds may not be used by Nouveau depending
on your chipset.
The default value for these thresholds comes from the GPU's vbios. These
thresholds can be configured thanks to the following HWMON attributes:
* Fan_boost: temp1_auto_point1_temp and temp1_auto_point1_temp_hyst;
* Downclock: temp1_max and temp1_max_hyst;
* Critical: temp1_crit and temp1_crit_hyst;
* Shutdown: temp1_emergency and temp1_emergency_hyst.
NOTE: Remember that the values are stored as milli degrees Celsius. Don't forget
to multiply!
Fan management
--------------
Not all cards have a drivable fan. If you do, then the following HWMON
attributes should be available:
* pwm1_enable:
Current fan management mode (NONE, MANUAL or AUTO);
* pwm1:
Current PWM value (power percentage);
* pwm1_min:
The minimum PWM speed allowed;
* pwm1_max:
The maximum PWM speed allowed (bypassed when hitting Fan_boost);
You may also have the following attribute:
* fan1_input:
Speed in RPM of your fan.
Your fan can be driven in different modes:
* 0: The fan is left untouched;
* 1: The fan can be driven in manual (use pwm1 to change the speed);
* 2; The fan is driven automatically depending on the temperature.
NOTE:
Be sure to use the manual mode if you want to drive the fan speed manually
NOTE2:
When operating in manual mode outside the vbios-defined
[PWM_min, PWM_max] range, the reported fan speed (RPM) may not be accurate
depending on your hardware.
Bug reports
-----------
Thermal management on Nouveau is new and may not work on all cards. If you have
inquiries, please ping mupuf on IRC (#nouveau, OFTC).
Bug reports should be filled on Freedesktop's bug tracker. Please follow
https://nouveau.freedesktop.org/wiki/Bugs
3. 한국어 전문 번역
영어 원문의 문단 순서와 의미를 유지한 전체 번역입니다. 코드, 함수명, symbol과 URL은 원문 표기를 유지합니다.
Nouveau thermal driver 소개
1-21이 문서는 `NV43+` GPU를 지원하는 Nouveau kernel driver의 thermal 기능을 설명합니다. 저자는 Martin Peres(mupuf)입니다.
드라이버는 GPU core temperature를 읽고, GPU fan을 구동하며, temperature alarm을 설정할 수 있습니다.
현재는 HWMON driver에 접근하는 in-kernel API가 없으므로 Nouveau가 발견한 i2c external monitoring chip에 접근할 수 없습니다. 이런 chip이 있는 system에서는 Nouveau HWMON interface를 통한 temperature 또는 fan management가 동작하지 않을 가능성이 높으며, 이 문서가 해당 구성을 완전히 다루지 못할 수 있습니다.
=====================
Kernel driver nouveau
=====================
Supported chips:
* NV43+
Authors: Martin Peres (mupuf) <martin.peres@free.fr>
Description
-----------
This driver allows to read the GPU core temperature, drive the GPU fan and
set temperature alarms.
Currently, due to the absence of in-kernel API to access HWMON drivers, Nouveau
cannot access any of the i2c external monitoring chips it may find. If you
have one of those, temperature and/or fan management through Nouveau's HWMON
interface is likely not to work. This document may then not cover your situation
entirely.
Temperature 관리와 과열 임계값
22-54Temperature는 read-only HWMON attribute `temp1_input`으로 노출됩니다.
Nouveau는 GPU 과열을 막기 위해 설정 가능한 4개 temperature threshold인 `Fan_boost`, `Downclock`, `Critical`, `Shutdown`을 지원합니다. Chipset에 따라 Nouveau가 일부 threshold를 사용하지 않을 수 있습니다.
기본 threshold 값은 GPU vbios에서 가져옵니다. 각 threshold는 대응하는 HWMON temperature attribute와 hysteresis attribute로 설정합니다.
모든 값은 milli degrees Celsius 단위로 저장되므로 Celsius 값을 쓸 때 1000을 곱해야 합니다.
Temperature가 높아질 때 적용되는 네 보호 동작과 HWMON 속성입니다.
Temperature management
----------------------
Temperature is exposed under as a read-only HWMON attribute temp1_input.
In order to protect the GPU from overheating, Nouveau supports 4 configurable
temperature thresholds:
* Fan_boost:
Fan speed is set to 100% when reaching this temperature;
* Downclock:
The GPU will be downclocked to reduce its power dissipation;
* Critical:
The GPU is put on hold to further lower power dissipation;
* Shutdown:
Shut the computer down to protect your GPU.
WARNING:
Some of these thresholds may not be used by Nouveau depending
on your chipset.
The default value for these thresholds comes from the GPU's vbios. These
thresholds can be configured thanks to the following HWMON attributes:
* Fan_boost: temp1_auto_point1_temp and temp1_auto_point1_temp_hyst;
* Downclock: temp1_max and temp1_max_hyst;
* Critical: temp1_crit and temp1_crit_hyst;
* Shutdown: temp1_emergency and temp1_emergency_hyst.
NOTE: Remember that the values are stored as milli degrees Celsius. Don't forget
to multiply!
Fan 관리와 PWM mode
55-87모든 card에 구동 가능한 fan이 있는 것은 아닙니다. 지원되는 card에서는 `pwm1_enable`, `pwm1`, `pwm1_min`, `pwm1_max` HWMON attribute가 제공됩니다.
`pwm1_enable`은 현재 fan management mode인 `NONE`, `MANUAL`, `AUTO`를 나타냅니다. `pwm1`은 현재 PWM value, 즉 power percentage입니다. `pwm1_min`과 `pwm1_max`는 허용되는 최소·최대 PWM speed이며 `Fan_boost`에 도달하면 최대 제한을 우회합니다.
선택적으로 `fan1_input`이 제공될 수 있으며 fan speed를 RPM 단위로 표시합니다.
Mode 0은 fan을 건드리지 않고, mode 1은 `pwm1`으로 speed를 바꾸는 manual 제어를 허용하며, mode 2는 temperature에 따라 fan을 자동 제어합니다. Fan speed를 직접 제어하려면 반드시 manual mode를 사용해야 합니다.
Manual mode에서 vbios가 정의한 `[PWM_min, PWM_max]` 범위 밖으로 동작시키면 hardware에 따라 보고되는 fan speed(RPM)가 정확하지 않을 수 있습니다.
Fan management
--------------
Not all cards have a drivable fan. If you do, then the following HWMON
attributes should be available:
* pwm1_enable:
Current fan management mode (NONE, MANUAL or AUTO);
* pwm1:
Current PWM value (power percentage);
* pwm1_min:
The minimum PWM speed allowed;
* pwm1_max:
The maximum PWM speed allowed (bypassed when hitting Fan_boost);
You may also have the following attribute:
* fan1_input:
Speed in RPM of your fan.
Your fan can be driven in different modes:
* 0: The fan is left untouched;
* 1: The fan can be driven in manual (use pwm1 to change the speed);
* 2; The fan is driven automatically depending on the temperature.
NOTE:
Be sure to use the manual mode if you want to drive the fan speed manually
NOTE2:
When operating in manual mode outside the vbios-defined
[PWM_min, PWM_max] range, the reported fan speed (RPM) may not be accurate
depending on your hardware.
문의와 bug report
88-96Nouveau의 thermal management는 새 기능이므로 모든 card에서 동작하지 않을 수 있습니다. 문의가 있으면 OFTC의 `#nouveau` IRC channel에서 mupuf에게 연락할 수 있습니다.
Bug report는 Freedesktop bug tracker에 제출해야 하며 `https://nouveau.freedesktop.org/wiki/Bugs`의 지침을 따릅니다.
Bug reports
-----------
Thermal management on Nouveau is new and may not work on all cards. If you have
inquiries, please ping mupuf on IRC (#nouveau, OFTC).
Bug reports should be filled on Freedesktop's bug tracker. Please follow
https://nouveau.freedesktop.org/wiki/Bugs
요약·해설
nouveau_thermal.rst:1-96Nouveau는 `temp1_input`으로 GPU 온도를 제공하고 4단계 과열 보호를 수행합니다. Fan이 지원되면 `pwm1_enable`과 PWM 범위로 수동·자동 mode를 제어하며, 값의 milli degree Celsius 단위와 vbios 범위 밖 RPM 정확도에 주의해야 합니다.