btoprs
A work-in-progress, standard-library-only terminal resource monitor for Linux
and macOS 26 or later. btoprs began with btop++ as its UI inspiration but now
evolves independently, choosing behavior and platform integrations on their own
merits. On Linux it reads the relevant procfs and sysfs CPU, memory, network,
process, mount, thermal, and power-supply entries. On macOS it uses native Mach,
libproc, sysctl, IOKit, and SystemConfiguration interfaces. The core macOS
collector supports both Apple silicon and the Intel Macs supported by macOS 26.
Apple GPU and thermal metrics are optional Apple-silicon features; metrics that
the running OS does not expose are hidden.
On Apple silicon, the collectors dynamically resolve IOReport and thermal interfaces and read power-manager and AGX registry snapshots. CPU frequency is derived from per-core performance-state residency and the SoC's frequency tables when the legacy CPU-frequency sysctl is unavailable. Available live clocks are shown beside the individual CPU cores. On macOS 26 and 27 the GPU collector can report activity, weighted clock, dominant performance state, estimated power, temperature, core count, resident unified-memory use, and GPU memory-bandwidth activity from the AGX DCS histogram. Unified memory is labeled UMA rather than VRAM. AVE encoder and AVD decoder session counts are shown directly. Estimated media-engine power and DCS read/write traffic are shown with their units when the current interval produces usable counters; no utilization percentage is invented from them. Every private metric is capability-checked at runtime so missing or renamed channels do not prevent startup.
cargo build --release
target/release/btoprs
The terminal UI exits cleanly with q or Ctrl-C; Esc opens the main menu. Run
target/release/btoprs --help for the supported command-line options.
See the project notes for platform decisions, known limitations,
and verification guidance.
btoprs supports btop-compatible .theme files. Its own themes are installed
under share/btoprs/themes and can be added to ~/.config/btoprs/themes;
legacy btop theme directories are also searched for compatibility.
Install the executable, documentation, themes, and man page under ~/.local
with:
make install
On Linux, this also installs the desktop entry and icons. These desktop files
are skipped on macOS. The platform is detected automatically; packagers can
override it with INSTALL_PLATFORM.
Remove the installed files with make uninstall.
Use PREFIX and DESTDIR for another installation root. cargo install --path . remains available when only the btoprs executable is wanted.
License
Licensed under the Apache License 2.0. btop++ provided the initial UI inspiration and some derived material; see NOTICE for attribution.