graphics() nvidia-smi detection improved

This commit is contained in:
Sebastian Hildebrandt
2021-01-05 08:22:58 +01:00
parent 560135e244
commit 283e11b1dd
6 changed files with 28 additions and 3 deletions
+18 -1
View File
@@ -784,7 +784,24 @@ function graphics(callback) {
result.controllers = parseLinesWindowsControllers(csections);
// needs to be rewritten ... using no spread operators
result.controllers = result.controllers.map((controller) => { // match by subDeviceId
return mergeControllerNvidia(controller, nvidiaData.find(device => controller.subDeviceId.toLowerCase() === device.subDeviceId.split('x')[1].toLowerCase()) || {});
if (controller.vendor.toLowerCase() === 'nvidia') {
return mergeControllerNvidia(controller, nvidiaData.find(device => {
let windowsSubDeviceId = controller.subDeviceId.toLowerCase();
const nvidiaSubDeviceIdParts = device.subDeviceId.split('x');
let nvidiaSubDeviceId = nvidiaSubDeviceIdParts.length > 1 ? nvidiaSubDeviceIdParts[1].toLowerCase() : nvidiaSubDeviceIdParts[0].toLowerCase();
const lengthDifference = Math.abs(windowsSubDeviceId.length - nvidiaSubDeviceId.length);
if (windowsSubDeviceId.length > nvidiaSubDeviceId.length) {
for (let i = 0; i < lengthDifference; i++) {
nvidiaSubDeviceId = '0' + nvidiaSubDeviceId;
}
} else if (windowsSubDeviceId.length < nvidiaSubDeviceId.length) {
for (let i = 0; i < lengthDifference; i++) {
windowsSubDeviceId = '0' + windowsSubDeviceId;
}
}
return windowsSubDeviceId === nvidiaSubDeviceId;
}) || {});
}
});
// displays
let dsections = data[1].split(/\n\s*\n/);