Skip to content

cpu-gpu-monitor@alexsmolya: add CPU & GPU Monitor desklet - #1885

Open
alexsmolya wants to merge 2 commits into
linuxmint:masterfrom
alexsmolya:cpu-gpu-monitor-alexsmolya
Open

cpu-gpu-monitor@alexsmolya: add CPU & GPU Monitor desklet#1885
alexsmolya wants to merge 2 commits into
linuxmint:masterfrom
alexsmolya:cpu-gpu-monitor-alexsmolya

Conversation

@alexsmolya

Copy link
Copy Markdown

Adds CPU & GPU Monitor, a Cinnamon desklet showing:

  • CPU utilization
  • RAM usage
  • AMD CPU temperature
  • NVIDIA GPU utilization
  • VRAM usage
  • GPU temperature
  • rolling history graphs

AMD CPU temperature uses Linux k10temp/zenpower hwmon sensors with a constrained CPU/package thermal-zone fallback.

NVIDIA metrics use the system-provided nvidia-smi. If NVIDIA metrics are unavailable, the GPU section degrades gracefully while CPU/RAM monitoring continues. Multi-GPU selection is not currently provided; the first returned GPU is used.

Validation:

  • node tests/readers.test.js: 25/25 passed in the development repository
  • official validate-spice cpu-gpu-monitor@alexsmolya: passed
  • official test-spice cpu-gpu-monitor@alexsmolya: passed
  • live-tested on Cinnamon 6.6.9 / X11 with AMD Ryzen 5 5600H and NVIDIA RTX 3050 Laptop GPU
  • removal/reload, settings, asynchronous procfs/sysfs sampling, NVIDIA timeout/cancellation, and degraded behavior were tested

License: GPL-3.0-or-later.

@github-actions

github-actions Bot commented Aug 9, 2026

Copy link
Copy Markdown

Best-practices scanner

This is a regex-based check for API usage that can pose security, performance or
maintainability issues, or that may already be provided by Cinnamon. Most findings
are advisory and do not automatically disqualify a pull request.

This check is not perfect and will not replace a normal review.


Found 1 potential issue(s):

⚠️ WARNING

⚠️ hardcoded_data_dir

cpu-gpu-monitor@alexsmolya/files/cpu-gpu-monitor@alexsmolya/desklet.js:17

Gettext.bindtextdomain(UUID, GLib.get_home_dir() + "/.local/share/locale");

Avoid hardcoding .local/share in paths. Use GLib.get_user_data_dir() instead,
which respects the XDG_DATA_HOME environment variable.


Automated pattern check.

@alexsmolya

Copy link
Copy Markdown
Author

The automated hardcoded_data_dir recommendation is already addressed in the current branch. Gettext.bindtextdomain() now uses GLib.get_user_data_dir() + "/locale" in commit b6dc095c.

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