graphics() nvidia-smi detection improved
This commit is contained in:
+18
-1
@@ -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/);
|
||||
|
||||
Reference in New Issue
Block a user