From e5a04ee8144da438054deaeaf4a9f35637479126 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Tue, 9 Jul 2024 14:00:04 +0800 Subject: [PATCH] GPU (Linux): ignore disabled PCI devices --- src/detection/gpu/gpu_linux.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/detection/gpu/gpu_linux.c b/src/detection/gpu/gpu_linux.c index dc860b099..0164f191e 100644 --- a/src/detection/gpu/gpu_linux.c +++ b/src/detection/gpu/gpu_linux.c @@ -192,6 +192,13 @@ static const char* detectPci(const FFGPUOptions* options, FFlist* gpus, FFstrbuf if (sscanf(pPciPath, "%" SCNx32 ":%" SCNx32 ":%" SCNx32 ".%" SCNx32, &pciDomain, &pciBus, &pciDevice, &pciFunc) != 4) return "Invalid PCI device path"; + ffStrbufAppendS(deviceDir, "/enable"); + if (ffReadFileBuffer(deviceDir->chars, buffer)) + { + if (!ffStrbufStartsWithC(buffer, '1')) + return "GPU disabled"; + } + FFGPUResult* gpu = (FFGPUResult*)ffListAdd(gpus); ffStrbufInitStatic(&gpu->vendor, ffGetGPUVendorString((uint16_t) vendorId)); ffStrbufInit(&gpu->name);