diff --git a/src/detection/cpu/cpu_linux.c b/src/detection/cpu/cpu_linux.c index 3fc9c8557..fcce77f66 100644 --- a/src/detection/cpu/cpu_linux.c +++ b/src/detection/cpu/cpu_linux.c @@ -44,12 +44,20 @@ static double parseHwmonDir(FFstrbuf* dir, FFstrbuf* buffer) if( ffStrbufContainS(buffer, "cpu") || ffStrbufEqualS(buffer, "k10temp") || // AMD + ffStrbufEqualS(buffer, "fam15h_power") || // AMD ffStrbufEqualS(buffer, "coretemp") // Intel ) return value / 1000.; return 0.0/0.0; } +static double detectTZTemp(FFstrbuf* buffer) +{ + if (ffReadFileBuffer("/sys/class/thermal/thermal_zone0/temp", buffer)) + return ffStrbufToDouble(buffer) / 1000.; + return 0.0/0.0; +} + static double detectCPUTemp(void) { FF_STRBUF_AUTO_DESTROY baseDir = ffStrbufCreateA(64); @@ -79,7 +87,7 @@ static double detectCPUTemp(void) ffStrbufSubstrBefore(&baseDir, baseDirLength); } - return 0.0/0.0; + return detectTZTemp(&buffer); } #ifdef __ANDROID__