Run DSVita locally (qemu-arm)
Prerequisite: a .env in the repo root (copy .env.example, fill in DSVITA_SYSROOT,
DSVITA_ROMS_DIR, DSVITA_TEST_ROM). All tools/ scripts source it automatically.
Build first (dev profile has overflow-checks + debug-assertions on):
cargo build --profile release-debug --target thumbv7neon-unknown-linux-gnueabihf
| action | command |
|---|---|
Boot the test rom ($DSVITA_TEST_ROM) |
tools/launch_hw.sh |
Open the menu UI on $DSVITA_ROMS_DIR |
tools/launch.sh |
| Screenshot the emulator window | tools/shot.sh <out.png> |
| Stop | pkill -9 -f "release-debug/dsvita" |
Runtime log: /tmp/dsvita.log. The emulator runs detached; give it a few seconds before
screenshotting.
Constraints:
- The dev machine is x86, so the armhf binary only runs here under qemu-arm —
100x slower than native, fine for a quick correctness check, useless for perf. Default to running roms/games on the pi5 test box (run-on-testbox skill; roms there live at `/nds`); reach for qemu locally only for a fast boot/correctness sanity check. - Under Xwayland, mouse injection reaches SDL but keyboard does NOT — touch-navigable flows can be driven (mouse click on the bottom-screen area = touch), button-only flows cannot.
- CLI:
-f 0|1|2..framelimit (0 = uncapped, 1 = 100%, 5 = 200%, 9 = 500%),-e 0|1|2= ARM7 mode (AccurateLle / SoundHle / Hle),--ui <dir>menu mode.