otter-benchctl drives every part of Otter Bench from a terminal. It ships with bash, zsh, fish, and elvish completions, plus a man page per subcommand.
Install with pikman install otter-gaming-utils (or the otter-benchctl package).
Almost every command talks to
otter-benchd. If the daemon is not running, status/metrics/capture/HUD/benchmark commands fail or return empty. Socket activation usually starts it on first use; confirm with otter-benchctl status or systemctl --user status otter-benchd.Common commands
--format json when you want machine-readable output. JSON goes to stdout; warnings and progress go to stderr.
Tips
- Run
otter-benchctl statusfirst if something looks dead — most failures mean the daemon is not up. metrics getreads what the daemon already holds. It does not force a poll. If nothing subscribed yet, you get “No sample yet” — startmetrics watchto create demand.- Capture sessions are crash-recoverable and immutable once finalised. Analysis and reports are regenerable.
- Import MangoHud configs with the import family of commands, then review dispositions before anything is written.

