Skip to main content
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

Use --format json when you want machine-readable output. JSON goes to stdout; warnings and progress go to stderr.

Tips

  • Run otter-benchctl status first if something looks dead — most failures mean the daemon is not up.
  • metrics get reads what the daemon already holds. It does not force a poll. If nothing subscribed yet, you get “No sample yet” — start metrics watch to 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.
See otter-bench for config paths and otter-hud for launching games.