From d51cfdf363b15c4c0cf02dcd676d19220c85f803 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Fri, 21 Mar 2025 16:03:15 +0200 Subject: [PATCH] Improved GetGPUModels function --- src/hardware.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/hardware.go b/src/hardware.go index f4ecb55..767cb21 100644 --- a/src/hardware.go +++ b/src/hardware.go @@ -6,6 +6,7 @@ import ( "github.com/jackmordaunt/ghw" "os" "os/exec" + "slices" "strings" ) @@ -28,20 +29,24 @@ func GetCPUThreads() int { return int(cpu.TotalThreads) } -func GetGPUModels() []string { - var ret []string - cmd := exec.Command("/bin/bash", "-c", "lspci -v -m | grep 'VGA' -A6 | grep '^Device:' | sed 's/^Device://' | awk '{$1=$1};1'") +func GetGPUModels() (ret []string) { + cmd := exec.Command("sh", "-c", "lspci -v -m | grep 'VGA' -A6 | grep '^Device:'") bytes, err := cmd.Output() if err != nil { return nil } - for _, name := range strings.Split(string(bytes), "\n") { - name = strings.TrimSpace(name) - if name == "" { + + for i, gpu := range strings.Split(string(bytes), "\n") { + if slices.Contains(config.HiddenGPUS, i+1) { continue } - ret = append(ret, name) + if gpu == "" { + continue + } + gpu = strings.TrimPrefix(strings.TrimSpace(gpu), "Device:\t") + ret = append(ret, gpu) } + return ret }