From 67e4d80a3a0f8bf4f0a6dbd45b0d87a59a9de2c1 Mon Sep 17 00:00:00 2001 From: IRQL_NOT_LESS_OR_EQUAL Date: Sat, 24 May 2025 18:23:13 +0200 Subject: [PATCH] HardwareHelper: Add support for mining class NVIDIA GPUs NVIDIA released a set of crypto mining GPUs in 2017, these are fused down and totally unable to do anything aside from compute aka crypto and surprisingly also AI workloads. (even if Pascal is awful for low precision and very dated) However as these GPUs lack any sort of outputs as the display engine is disabled, NVIDIA labelled these GPUs as "3D Controllers" in the PCI database, rendering them not detected by StabilityMatrix. Add support for them in the HardwareInfo helper. --- StabilityMatrix.Core/Helper/HardwareInfo/HardwareHelper.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/StabilityMatrix.Core/Helper/HardwareInfo/HardwareHelper.cs b/StabilityMatrix.Core/Helper/HardwareInfo/HardwareHelper.cs index 7e2f988aa..8d2a9610d 100644 --- a/StabilityMatrix.Core/Helper/HardwareInfo/HardwareHelper.cs +++ b/StabilityMatrix.Core/Helper/HardwareInfo/HardwareHelper.cs @@ -70,7 +70,7 @@ private static IEnumerable IterGpuInfoWindows() [SupportedOSPlatform("linux")] private static IEnumerable IterGpuInfoLinux() { - var output = RunBashCommand("lspci | grep VGA"); + var output = RunBashCommand("lspci | grep -E 'VGA|3D'"); var gpuLines = output.Split("\n"); var gpuIndex = 0; @@ -87,10 +87,10 @@ private static IEnumerable IterGpuInfoLinux() string? name = null; // Parse output with regex - var match = Regex.Match(gpuOutput, @"VGA compatible controller: ([^\n]*)"); + var match = Regex.Match(gpuOutput, @"(VGA compatible controller|3D controller): ([^\n]*)"); if (match.Success) { - name = match.Groups[1].Value.Trim(); + name = match.Groups[2].Value.Trim(); } match = Regex.Match(gpuOutput, @"prefetchable\) \[size=(\\d+)M\]");