Skip to content

nvidia-gpu-monitor@diverdale: new desklet#1841

Open
diverdale wants to merge 1 commit intolinuxmint:masterfrom
diverdale:nvidia-gpu-monitor
Open

nvidia-gpu-monitor@diverdale: new desklet#1841
diverdale wants to merge 1 commit intolinuxmint:masterfrom
diverdale:nvidia-gpu-monitor

Conversation

@diverdale
Copy link
Copy Markdown

Summary

Adds a new NVIDIA GPU monitor desklet for Linux Mint Cinnamon.

Per-GPU temperature, usage, VRAM, power, fan, and process count using async Gio.Subprocess for nvidia-smi — does not block Cinnamon's main loop. This addresses the freeze warning that appears on existing NVIDIA GPU desklets in the Spices catalogue, which call nvidia-smi synchronously.

Visuals

  • Stacked rows, one per detected GPU
  • Sparkline for utilisation (60 samples = 2 min at 2 s refresh)
  • Horizontal bar for VRAM with used / total text and threshold tinting
  • Colour-coded numbers for temp / fan / power, with user-configurable warn / crit thresholds for temperature
  • Status dot per GPU (green = cool & idle, red = hot or throttling, amber = anything in between)

Settings

  • Temp warn / crit thresholds
  • Sparkline history window
  • Show / hide process count
  • Click action: nothing / watch nvidia-smi in a terminal / nvidia-settings

Tested

  • Linux Mint Cinnamon with two NVIDIA GeForce RTX 3060s
  • All five validate-spice checks pass
  • No JS ERROR lines on add / configure / remove cycles
  • Cursor remains smooth under stress-ng system load (regression test vs. the synchronous-spawn pattern in older NVIDIA desklets)

Per-GPU temperature, usage, VRAM, power, fan, and process count for
NVIDIA cards. Uses async Gio.Subprocess for nvidia-smi calls so it
never blocks Cinnamon's main loop, addressing the freeze warning on
existing NVIDIA GPU desklets.

Visuals: stacked rows per GPU with a sparkline for usage, a horizontal
bar for VRAM, and colour-coded numbers for temp/fan/power that shift
amber/red at user-configurable thresholds.

Tested on Linux Mint with two RTX 3060s.
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.

1 participant