Skip to content

feat: Expand Hardware Telemetry with iGPU Monitoring and Accurate Processor Models#182

Merged
Ghoul4500 merged 4 commits into
OpenGamingCollective:mainfrom
scardracs:feature/nvidia-nvml-telemetry
Jul 23, 2026
Merged

feat: Expand Hardware Telemetry with iGPU Monitoring and Accurate Processor Models#182
Ghoul4500 merged 4 commits into
OpenGamingCollective:mainfrom
scardracs:feature/nvidia-nvml-telemetry

Conversation

@scardracs

Copy link
Copy Markdown
Contributor

This PR expands the hardware monitoring page in rog-control-center to display exact model names for CPU, iGPU, and dGPU, adds support for monitoring the integrated GPU (iGPU) temperature and utilization, and addresses a layout stretching bug in the system page.

Key Features

  1. iGPU Telemetry & Layout:
    • Adds real-time temperature and utilization monitoring for the integrated GPU (iGPU), conditioned on its presence (SystemPageData.has_igpu).
    • Temperature telemetry is retrieved via the amdgpu driver interface in sysfs (/sys/class/hwmon), while utilization is read from card device activity (gpu_busy_percent).
  2. Accurate Hardware Model Names:
    • CPU: Read and parsed directly from /proc/cpuinfo.
    • dGPU: Scanned via PCI class 0300/0302 and resolved using the udev database.
    • iGPU (AMD): Resolves exact marketing model names (e.g., "AMD Radeon 610M") by querying /usr/share/libdrm/amdgpu.ids with the PCI device ID and revision hex (read from sysfs), avoiding generic architecture codenames like "Raphael".
    • iGPU (Intel): Resolved using the standard PCI database mappings in udev.
  3. UI Layout Polish:
    • Corrected vertical stretching in the Hardware Monitor panel. Added elastic Rectangle {} spacers at the bottom of both vertical columns to pack all labels (including CPU, GPU, iGPU, and Fans) tightly to the top with uniform spacing, preventing them from stretching when columns have mismatched heights.

Changed Files

  • rog-control-center/Cargo.toml:
    • Added udev.workspace = true to dependencies.
  • rog-control-center/ui/pages/system.slint:
    • Added new properties to SystemPageData (cpu_name, igpu_name, dgpu_name, igpu_temp_val, igpu_usage_val, has_igpu).
    • Updated headers to display processor models in parentheses.
    • Added the iGPU Status block under the CPU block.
    • Appended spacer springs at the bottom of columns to pack layouts cleanly.
  • rog-control-center/src/ui/setup_system.rs:
    • Implemented /proc/cpuinfo parsing for CPU models.
    • Implemented /usr/share/libdrm/amdgpu.ids parser with PCI device and revision key match.
    • Scanned PCI display devices at startup and bound model properties to the Slint UI.
    • Added iGPU temperature/utilization checks to the background thread telemetry loop.

Verification & Checks Done

  • Build check: cargo check -p rog-control-center runs and compiles cleanly.
  • Linting: Verified zero clippy warnings via cargo clippy -p rog-control-center --all-targets.
  • Formatting: Ran cargo fmt to align with the codebase coding standards.

Closes: #178

Comment thread rog-control-center/ui/pages/system.slint Outdated
Comment thread rog-control-center/ui/pages/system.slint
Comment thread rog-control-center/src/ui/setup_system.rs
@scardracs
scardracs force-pushed the feature/nvidia-nvml-telemetry branch 5 times, most recently from edc27fb to 2d311a6 Compare July 21, 2026 15:53
@scardracs
scardracs force-pushed the feature/nvidia-nvml-telemetry branch from 2d311a6 to 5897f96 Compare July 21, 2026 15:54

@Ghoul4500 Ghoul4500 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thank you for your contribution!

@Ghoul4500
Ghoul4500 merged commit 3fc7f96 into OpenGamingCollective:main Jul 23, 2026
@scardracs
scardracs deleted the feature/nvidia-nvml-telemetry branch July 23, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GPU temperature shows N/A in ROG Control Center (RTX 3050 Mobile, TUF A15)

2 participants