Stormfetch will now list all GPUs if multiple of them are connected
This commit is contained in:
parent
7b8c017ed0
commit
efdbe94193
4
Makefile
4
Makefile
@ -33,4 +33,6 @@ run: build/stormfetch
|
|||||||
build/stormfetch
|
build/stormfetch
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -r build/
|
rm -r build/
|
||||||
|
|
||||||
|
.PHONY: build
|
@ -6,7 +6,10 @@ echo -e "${C3}Kernel: ${C4}$(uname -s) $(uname -r)"
|
|||||||
echo -e "${C3}Packages: ${C4}$(get_packages)"
|
echo -e "${C3}Packages: ${C4}$(get_packages)"
|
||||||
echo -e "${C3}Shell: ${C4}${USER_SHELL}"
|
echo -e "${C3}Shell: ${C4}${USER_SHELL}"
|
||||||
if [ ! -z "$CPU_MODEL" ]; then echo -e "${C3}CPU: ${C4}${CPU_MODEL} (${CPU_THREADS} threads)"; fi
|
if [ ! -z "$CPU_MODEL" ]; then echo -e "${C3}CPU: ${C4}${CPU_MODEL} (${CPU_THREADS} threads)"; fi
|
||||||
if [ ! -z "$GPU_MODEL" ]; then echo -e "${C3}GPU: ${C4}${GPU_MODEL}"; fi
|
for i in $(seq ${CONNECTED_GPUS}); do
|
||||||
|
gpu="GPU$i"
|
||||||
|
echo -e "${C3}GPU: ${C4}${!gpu}"
|
||||||
|
done
|
||||||
if [ ! -z "$MEM_TOTAL" ] && [ ! -z "$MEM_USED" ]; then echo -e "${C3}Memory: ${C4}${MEM_USED} MiB / ${MEM_TOTAL} MiB"; fi
|
if [ ! -z "$MEM_TOTAL" ] && [ ! -z "$MEM_USED" ]; then echo -e "${C3}Memory: ${C4}${MEM_USED} MiB / ${MEM_TOTAL} MiB"; fi
|
||||||
for i in $(seq ${MOUNTED_PARTITIONS}); do
|
for i in $(seq ${MOUNTED_PARTITIONS}); do
|
||||||
device="PARTITION${i}_DEVICE"
|
device="PARTITION${i}_DEVICE"
|
||||||
|
11
main.go
11
main.go
@ -141,8 +141,15 @@ func SetupFetchEnv() []string {
|
|||||||
env["MONITOR"+strconv.Itoa(i+1)] = monitor
|
env["MONITOR"+strconv.Itoa(i+1)] = monitor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if getGPUName() != "" {
|
gpus := getGPUNames()
|
||||||
env["GPU_MODEL"] = getGPUName()
|
if len(gpus) != 0 {
|
||||||
|
env["CONNECTED_GPUS"] = strconv.Itoa(len(gpus))
|
||||||
|
for i, gpu := range gpus {
|
||||||
|
if gpu == "" {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
env["GPU"+strconv.Itoa(i+1)] = gpu
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var ret = make([]string, len(env))
|
var ret = make([]string, len(env))
|
||||||
|
9
utils.go
9
utils.go
@ -119,7 +119,8 @@ func getCPUThreads() int {
|
|||||||
return int(cpu.TotalThreads)
|
return int(cpu.TotalThreads)
|
||||||
}
|
}
|
||||||
|
|
||||||
func getGPUName() string {
|
func getGPUNames() []string {
|
||||||
|
var ret []string
|
||||||
null, _ := os.Open(os.DevNull)
|
null, _ := os.Open(os.DevNull)
|
||||||
serr := os.Stderr
|
serr := os.Stderr
|
||||||
os.Stderr = null
|
os.Stderr = null
|
||||||
@ -127,14 +128,14 @@ func getGPUName() string {
|
|||||||
defer null.Close()
|
defer null.Close()
|
||||||
os.Stderr = serr
|
os.Stderr = serr
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return ""
|
return nil
|
||||||
}
|
}
|
||||||
for _, graphics := range gpu.GraphicsCards {
|
for _, graphics := range gpu.GraphicsCards {
|
||||||
if graphics.DeviceInfo != nil {
|
if graphics.DeviceInfo != nil {
|
||||||
return graphics.DeviceInfo.Product.Name
|
ret = append(ret, graphics.DeviceInfo.Product.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ""
|
return ret
|
||||||
}
|
}
|
||||||
|
|
||||||
type Memory struct {
|
type Memory struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user