
SudoBat 1.2.1 — it now asks how your session went and auto-tunes, tells you about updates itself, and got a round of real-world fixes
A few days ago I shared SudoBat, a free app that runs inside Batocera (x86_64) and does per-game, hardware-aware graphics tuning. Today's release is a big one https://www.reddit.com/r/batocera/comments/1umgrtb/i_built_a_tool_that_diagnoses_emulator_crashes/ — if you tried it, it's worth re-installing (one command, bottom of the post).
Major updates
Auto-tuning driven by you, not just crash fixing. After any real game session, SudoBat asks a few targeted questions: did it run smooth? good FPS? stutter in intense scenes? glitches?
- Everything fine → your current settings get validated into the catalog (next time the game is already known-good, and you can opt-in to share them with everyone)
- "It stuttered" → it proposes a lighter graphics set, one button to apply, replay, repeat until it's right
This is the real core of the tool now: your judgment of real sessions drives the tuning, for every game on every emulator.
It distinguishes a crash from a bad experience. Died in seconds, or a known fatal in the emulator log → straight to diagnosis, no silly questions. Played 20 minutes and exited normally → it asks how it went. And for the case no machine can see — the game that dies on its own after 20 minutes, which in the numbers looks identical to you quitting — there's a first question: "did it close on its own?". If yes, it re-reads the emulator logs as a crash and can fire the optional AI turbo on it.
It tells you about updates itself. Once a day (3-second timeout, totally silent if offline) it checks whether a new release is out; if so, a discreet banner appears and you can update from Settings with one button — it just runs the official installer, selftest included. Never automatic, always behind your confirmation. So this is the last update you'll have to find out about from Reddit.
Fixes (all found on real sessions)
- Add-on emulators now get real graphics sets. Emulators installed by add-on packs register their options in separate es_features_*.cfg files that weren't being read. Fixed generically for any add-on, present or future. On my box this unlocked the whole Switch family, which previously showed "no settings for this game".
- Game identification is much more reliable. The game ID is now read straight from the emulator's own log (which always declares it, even for a 30-second session), with the folder heuristic as fallback — and the scan covers the standard XDG paths too, where AppImage emulators outside Batocera's config redirection actually write.
- Controller buttons are read from YOUR pad, not assumed. The old hardcoded "Xbox-style" mapping got SELECT wrong on a real X360 pad (so the AI turbo was unreachable from the gamepad). Now SudoBat reads the exact mapping you already configured in EmulationStation (es_input.cfg, matched by controller GUID). If ES doesn't know your pad — or knows it only partially — a 3-press wizard asks for the buttons at first start, and you can remap anytime from Settings.
How to update / install
Same one-liner for both — re-running it updates:
curl -L https://raw.githubusercontent.com/masimoneext-sketch/SudoBat/master/install.sh | bash
Your data survives updates: outcomes history, catalog and your Groq API key (if you use the optional AI turbo) are all preserved. And from this version onward, SudoBat will notify you of the next release by itself.
Honest notes, as always
- No FPS measuring — your end-of-session judgment IS the quality signal, and that's deliberate
- It still can't switch emulator/core for you (EmulationStation owns that); it tells you when and how
- The community catalog starts empty and grows from validated real sessions — the first field-validated entry landed today
Repo (readable code, 29 selftests, PolyForm Noncommercial): https://github.com/masimoneext-sketch/SudoBat
Feedback and weird hardware reports very welcome — the whole point is that it reads YOUR machine instead of assuming mine.