Skip to content

feat: add NVIDIA GPU usage and temperature command#49

Open
kevinderome wants to merge 2 commits intokefaslungu:mainfrom
kevinderome:feature/nvidia-gpu-info
Open

feat: add NVIDIA GPU usage and temperature command#49
kevinderome wants to merge 2 commits intokefaslungu:mainfrom
kevinderome:feature/nvidia-gpu-info

Conversation

@kevinderome
Copy link
Copy Markdown

Summary

  • add a new command to announce NVIDIA GPU usage and temperature using nvidia-smi
  • resolve nvidia-smi path lazily on first request to avoid startup overhead for users who do not use this command
  • keep the implementation NVIDIA-only for now because AMD tooling does not provide a single stable path on Windows

Test plan

  • build add-on with scons
  • run NVDA and trigger NVDA+Shift+9
  • verify first execution discovers nvidia-smi and announces GPU usage/temperature
  • verify repeated execution still works and second press copies result to clipboard
  • verify behavior on a machine without NVIDIA tooling returns a clear unavailable message

Add a command that reports NVIDIA GPU usage and temperature via nvidia-smi with lazy path discovery on first request. The implementation is intentionally NVIDIA-only for now because AMD tooling does not expose a single stable path on Windows.

Made-with: Cursor
Copy link
Copy Markdown
Collaborator

@josephsl josephsl left a comment

Choose a reason for hiding this comment

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

Overall, the idea looks promising.

A few things:

  1. Please add translator comments to messages, especially GPU messages. Some translators many not know what "NVIDIA GPU" is unless they know somehting aobut a video card. You can look at othe parts of the add-on source code for example translator comments.
  2. I recommend phrasing the message to be as GPU neutral as much as possible e.g. "No NVIDIA GPU found" -> "No GPU temperature information".
  3. Does this feature cover Intel built-in GPU such as Intel HD Graphics or Xe?
  4. NVDA+Shift+number row 9 is taken up by several add-ons. This can cause conflicts if an add-on that uses this key combo is started AFTER Resource Monitor, meaning anyone with an NVIDIA GPU won't be able to learn video card temperature.

Thanks.

@josephsl
Copy link
Copy Markdown
Collaborator

josephsl commented Apr 9, 2026

Hi,

Ping: please address review comments by April 13, 2026 at 23:59 UTC. If nothing is done by then, this pull request will be closed.

Thanks.

- Change shortcut to NVDA+Shift+0 and NVDA+Shift+Numpad0 instead of 9 to reduce clashes with other add-ons.
- Rephrase user-visible strings in a vendor-neutral way.
- Add gettext translator comments for GPU messages and input help text.
@kevinderome
Copy link
Copy Markdown
Author

Hi @josephsl,
Thank you for the detailed review and suggestions.
I have addressed the requested updates in this PR:
-switched the gesture to NVDA+Shift+0 / NVDA+Shift+Numpad0 to reduce conflicts,

  • rephrased user-facing strings to be GPU-vendor neutral,
  • added translator comments for the new messages and input help text.
    Regarding Intel and AMD support: at the moment, the implementation relies on nvidia-smi, and unfortunately Intel/AMD tooling does not provide a single stable path and interface in the same way. I also do not currently have the required hardware to properly test those architectures.
    As soon as I have access to suitable Intel/AMD hardware, I will be happy to propose a follow-up PR to extend support.

Thanks again for the review.
Kevin Derome

Copy link
Copy Markdown
Collaborator

@josephsl josephsl left a comment

Choose a reason for hiding this comment

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

Hi,

Thanks for responding to the review comments.

Two suggestions:

  1. NVDA+Shift+number row 0/Numpad 0 are taken up by other add-ons too. You are not alone in running into the problem of running out of keyboard combos, and to solve this, I think it would be best to leave it unassigned.
  2. I think it would be best to separate NVIDIA specific routines from overall GPU info gatherer. This allows separate routines to be invoked for different vendors - kind of how the overall GPU info gatherer and messages serve as a "hardware abstraction layer". Separate vendor-specific routines from vendor neutral messages also allows you and others to extend the routine to cover Intel, AMD, and Qualcomm (on ARM64) video cards in the future.

Thanks for the hard work.

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.

2 participants