mirror of
https://github.com/morgan9e/gnome-shell-extension-freon
synced 2026-04-14 00:14:14 +09:00
Handle sensors of radeon & nouveau drivers as GPUs
This commit is contained in:
@@ -235,7 +235,8 @@ const FreonMenuButton = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateDisplay: function(){
|
||||
let gpuTempInfo = [];
|
||||
let gpuTempInfo = this._utils.sensors.gpu;
|
||||
|
||||
if (this._utils.gpu && this._utils.gpu.available)
|
||||
gpuTempInfo = gpuTempInfo.concat(this._utils.gpu.temp);
|
||||
|
||||
|
||||
@@ -15,24 +15,39 @@ const SensorsUtil = new Lang.Class({
|
||||
},
|
||||
|
||||
get temp() {
|
||||
let s = this._parseSensorsOutput(this._parseSensorsTemperatureLine);
|
||||
let s = this._parseGenericSensorsOutput(this._parseSensorsTemperatureLine);
|
||||
return s.filter(function(e){
|
||||
return e.temp > 0 && e.temp < 115;
|
||||
});
|
||||
},
|
||||
|
||||
get gpu() {
|
||||
let s = this._parseGpuSensorsOutput(this._parseSensorsTemperatureLine);
|
||||
return s.filter(function(e){
|
||||
return e.temp > 0 && e.temp < 115;
|
||||
});
|
||||
},
|
||||
|
||||
get rpm() {
|
||||
let s = this._parseSensorsOutput(this._parseFanRPMLine);
|
||||
let s = this._parseGenericSensorsOutput(this._parseFanRPMLine);
|
||||
return s.filter(function(e){
|
||||
return e.rpm > 0;
|
||||
});
|
||||
},
|
||||
|
||||
get volt() {
|
||||
return this._parseSensorsOutput(this._parseVoltageLine);
|
||||
return this._parseGenericSensorsOutput(this._parseVoltageLine);
|
||||
},
|
||||
|
||||
_parseSensorsOutput: function(parser) {
|
||||
_parseGenericSensorsOutput: function(parser) {
|
||||
return this._parseSensorsOutput(parser, false);
|
||||
},
|
||||
|
||||
_parseGpuSensorsOutput: function(parser) {
|
||||
return this._parseSensorsOutput(parser, true);
|
||||
},
|
||||
|
||||
_parseSensorsOutput: function(parser, gpuFlag) {
|
||||
if(!this._output)
|
||||
return [];
|
||||
|
||||
@@ -41,8 +56,18 @@ const SensorsUtil = new Lang.Class({
|
||||
let sensors = [];
|
||||
//iterate through each lines
|
||||
for(let i = 0; i < this._output.length; i++){
|
||||
// ignore chipset driver name and 'Adapter:' line for now
|
||||
|
||||
let isGpuDriver = this._output[i].indexOf("radeon") != -1
|
||||
|| this._output[i].indexOf("nouveau") != -1;
|
||||
|
||||
if (gpuFlag != isGpuDriver) {
|
||||
// skip driver if gpu requested and driver is not a gpu or the opposite
|
||||
continue;
|
||||
}
|
||||
|
||||
// skip chipset driver name and 'Adapter:' lines
|
||||
i += 2;
|
||||
|
||||
// get every feature of the chip
|
||||
while(this._output[i]){
|
||||
// if it is not a continutation of a feature line
|
||||
|
||||
Reference in New Issue
Block a user