A lightweight AMD GPU monitor
for Linux.

Real-time temperature, clock, load, and VRAM — plus one-click power-mode switching — in a tray-resident mini app.
420 × 640 px, ~8 MB, written in Rust.

CI License Latest release Downloads
RocmTop Refresh
TEMPERATURE
54°C
GPU CLOCK
1850MHz
GPU LOAD
72%
VRAM
2048 / 8192 MB

Built for getting out of your way

📊

Live sysfs metrics

Temperature, clock, busy %, VRAM used/total. Polled every 2 s straight from /sys/class/drm.

📈

60-second sparklines

Every metric has a rolling 60-second mini-chart so you can spot spikes at a glance.

One-click power mode

Toggle HIGH (pinned max DPM) vs AUTO (driver-scaled) without opening a terminal.

🤖

AI Session preset

Flip HIGH + PM ON together before a ROCm workload, restore with one click when done.

🔍

Zero-config detection

Auto-discovers your AMD card by scanning /sys/class/drm/cardN/device/vendor. No config file.

🔐

Polkit-aware

If a sysfs write requires root, the app transparently prompts through pkexec.

🖥️

System tray

Close the window and it hides to the tray. Left-click to toggle, right-click for a menu.

🎨

Desktop-app feel

Smooth animated values, hover tooltips, skeleton loader, toast confirmations. No flash of "Loading".

Install in 30 seconds

Download the AppImage and mark it executable. That's it — no daemon, no elevated installer.

# 1. Grab the latest AppImage from the Releases page
wget https://github.com/Twarga/RocmTop/releases/latest/download/RocmTop_1.0.0_amd64.AppImage

# 2. Make it executable and run
chmod +x RocmTop_*.AppImage
./RocmTop_*.AppImage

First-time system dependencies

Arch / CachyOS / Manjaro

sudo pacman -S webkit2gtk-4.1 \
  libayatana-appindicator polkit

Ubuntu / Debian / Pop!_OS

sudo apt install libwebkit2gtk-4.1-0 \
  libayatana-appindicator3-1 policykit-1

Fedora / Nobara

sudo dnf install webkit2gtk4.1 \
  libayatana-appindicator-gtk3 polkit

Frequently asked

Does this work with NVIDIA GPUs?

No. RocmTop specifically reads amdgpu sysfs nodes (pp_dpm_sclk, gpu_busy_percent, etc.) that NVIDIA's proprietary driver doesn't expose. Use nvtop or nvidia-smi for NVIDIA hardware.

Why does it need root to flip toggles?

The power_dpm_force_performance_level and PCI power/control sysfs nodes are owned by root. RocmTop first tries a direct write; if that fails with permission denied, it prompts through pkexec. No elevated daemon runs in the background.

Is it safe to pin the GPU to HIGH for long periods?

That's how the driver was designed to be used — HIGH forces the highest DPM state, which can save latency for ML/3D workloads at the cost of higher idle power. Temperature protection still works, so the GPU will throttle if it overheats. Switch back to AUTO when you're done.

Does it support multiple AMD GPUs?

Not yet — v1.0 uses the first AMD card it finds. Multi-GPU support is on the roadmap. Open an issue if you need it and can test.

The tray icon doesn't appear on GNOME.

GNOME removed the tray API in 2017. Install the AppIndicator extension to restore it. KDE, XFCE, LXQt, and wlroots compositors work out of the box.

What does it weigh on my system?

The AppImage is around 8 MB. At runtime the Rust process uses roughly 30 MB of RAM (dominated by the WebKit view) and well under 1 % of one CPU core while polling at 2 s intervals.