Add used and total GPU vram variables

This commit is contained in:
2025-12-29 19:30:28 +02:00
parent 983b347d88
commit 08035010c9
2 changed files with 16 additions and 6 deletions
+12 -4
View File
@@ -24,7 +24,8 @@ type GPU struct {
Product string Product string
Subsystem string Subsystem string
Driver string Driver string
VRAM string VramTotal string
VramUsed string
} }
type Monitor struct { type Monitor struct {
@@ -136,11 +137,17 @@ func GetGPUModels(hiddenGPUs []int) []GPU {
} }
// Get VRAM // Get VRAM
vram := "Unknown" vramTotal := "Unknown"
bytes, err := os.ReadFile("/sys/class/drm/card" + strconv.Itoa(gpu.Index) + "/device/mem_info_vram_total") bytes, err := os.ReadFile("/sys/class/drm/card" + strconv.Itoa(gpu.Index) + "/device/mem_info_vram_total")
if err == nil { if err == nil {
vramUint, _ := strconv.ParseUint(strings.TrimSpace(string(bytes)), 10, 64) vramUint, _ := strconv.ParseUint(strings.TrimSpace(string(bytes)), 10, 64)
vram = FormatBytes(vramUint) vramTotal = FormatBytes(vramUint)
}
vramUsed := "Unknown"
bytes, err = os.ReadFile("/sys/class/drm/card" + strconv.Itoa(gpu.Index) + "/device/mem_info_vram_used")
if err == nil {
vramUint, _ := strconv.ParseUint(strings.TrimSpace(string(bytes)), 10, 64)
vramUsed = FormatBytes(vramUint)
} }
ret = append(ret, GPU{ ret = append(ret, GPU{
@@ -150,7 +157,8 @@ func GetGPUModels(hiddenGPUs []int) []GPU {
Product: gpu.DeviceInfo.Product.Name, Product: gpu.DeviceInfo.Product.Name,
Subsystem: gpu.DeviceInfo.Subsystem.Name, Subsystem: gpu.DeviceInfo.Subsystem.Name,
Driver: gpu.DeviceInfo.Driver, Driver: gpu.DeviceInfo.Driver,
VRAM: vram, VramTotal: vramTotal,
VramUsed: vramUsed,
}) })
} }
+4 -2
View File
@@ -246,8 +246,10 @@ func initializeModuleMap() {
return gpu.Subsystem return gpu.Subsystem
case "GPU_DRIVER": case "GPU_DRIVER":
return gpu.Driver return gpu.Driver
case "GPU_VRAM": case "GPU_VRAM_TOTAL":
return gpu.VRAM return gpu.VramTotal
case "GPU_VRAM_USED":
return gpu.VramUsed
default: default:
return "" return ""
} }