Build btop 1.4 from source with AMD GPU support

apt's btop on 24.04 is 1.3.x, which has no AMD GPU monitoring. 1.4+
adds it but requires C++23, which gcc-13 (24.04 default) doesn't fully
support. Plan:

- Add ubuntu-toolchain-r/test PPA, install g++-14 (C++23-capable).
- Add librocm-smi-dev to ROCm host diagnostics — btop dlopens
  librocm_smi64 at runtime; the headers are needed at compile time.
- Drop btop from apt list, build from a pinned BTOP_VERSION tag with
  GPU_SUPPORT=true CXX=g++-14 -j; install to /usr/local/bin.
- Idempotent — only rebuilds if installed version doesn't match.

After deploy: btop → Esc → Options → "show_gpu_info" → On to enable
the GPU panel.

Also clean up TODO.md — the box is on 24.04 (noble), not 26.04. The
libxml2 ABI mismatch / "ROCm gap" section was stale.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-08 16:34:52 -04:00
parent 37b0cd9a58
commit 228fe8d1ac
3 changed files with 74 additions and 32 deletions

View File

@@ -80,10 +80,15 @@ Top of `deploy.py`:
the version; find it at https://repo.radeon.com/amdgpu-install/.
- `AMDGPU_TOP_VERSION` — bump when a newer release lands at
https://github.com/Umio-Yasuno/amdgpu_top/releases.
- `NVTOP_VERSION` — built from source because Ubuntu 26.04's apt
package (3.0.2) predates gfx1151 detection. Bump when a newer release
lands at https://github.com/Syllo/nvtop/releases. Run `sudo nvtop` to
see all GPU processes (non-root only sees the calling user's own).
- `NVTOP_VERSION` — built from source because apt's nvtop predates
gfx1151 detection. Bump when a newer release lands at
https://github.com/Syllo/nvtop/releases. Run `sudo nvtop` to see all
GPU processes (non-root only sees the calling user's own).
- `BTOP_VERSION` — built from source because apt's btop has no AMD GPU
support. 1.4+ requires C++23, hence the ubuntu-toolchain-r/test PPA
for g++-14. The build links `librocm-smi-dev` for AMD GPU monitoring.
Bump at https://github.com/aristocratos/btop/releases. In btop, Esc
→ Options → "show_gpu_info" → On to enable the GPU panel.
Compose images in
`compose/{llama,vllm,ollama,openwebui,beszel,openlit,phoenix,openhands,homepage}.yml`