Skip to content

Commit f28f5e2

Browse files
committed
CPU (Linux): detect TZ temp if CPU temp is not available
1 parent 637c37e commit f28f5e2

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/detection/cpu/cpu_linux.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,12 +44,20 @@ static double parseHwmonDir(FFstrbuf* dir, FFstrbuf* buffer)
4444
if(
4545
ffStrbufContainS(buffer, "cpu") ||
4646
ffStrbufEqualS(buffer, "k10temp") || // AMD
47+
ffStrbufEqualS(buffer, "fam15h_power") || // AMD
4748
ffStrbufEqualS(buffer, "coretemp") // Intel
4849
) return value / 1000.;
4950

5051
return 0.0/0.0;
5152
}
5253

54+
static double detectTZTemp(FFstrbuf* buffer)
55+
{
56+
if (ffReadFileBuffer("/sys/class/thermal/thermal_zone0/temp", buffer))
57+
return ffStrbufToDouble(buffer) / 1000.;
58+
return 0.0/0.0;
59+
}
60+
5361
static double detectCPUTemp(void)
5462
{
5563
FF_STRBUF_AUTO_DESTROY baseDir = ffStrbufCreateA(64);
@@ -79,7 +87,7 @@ static double detectCPUTemp(void)
7987
ffStrbufSubstrBefore(&baseDir, baseDirLength);
8088
}
8189

82-
return 0.0/0.0;
90+
return detectTZTemp(&buffer);
8391
}
8492

8593
#ifdef __ANDROID__

0 commit comments

Comments
 (0)