Fix silent MAME on Android without hiding it with -sound none
Read the effective configuration and log before changing latency. If `sound` is `none`, restore the port's supported default; `-sound none` deliberately disables output and is not a repair. If the backend cannot open an Android audio device, fix that package or device route. If only one machine is silent, check its audit, samples, volume, and upstream status while comparing a known authorized title.
Do this in order
- 01
Record port, MAME version, Android output route, media volume, machine shortname, emulation speed, and whether UI sounds or another authorized machine work.
- 02
Read effective configuration with the wrapper or `-showconfig`; if sound is `none`, restore a backend the port actually exposes.
- 03
Enable verbose logging, cold-launch, and preserve the first audio-device initialization or unsupported-option message.
- 04
Test device speaker with Bluetooth disconnected, then compare one known authorized machine at full emulation speed.
- 05
If only one machine fails, audit it and inspect samples, machine volume, mixer attenuation, and upstream imperfect/unemulated sound status.
- 06
Change latency only for a working backend with crackle; retest one variable and keep the complete receipt.
Decision and diagnostic table
| Observation | Boundary | Next action |
|---|---|---|
| `sound none` effective | Output deliberately disabled | Restore supported backend |
| Backend open error | Port/Android audio route | Fix device or package route |
| One machine silent | Machine data/status/mixer | Audit and compare status |
| All audio crackles below 100% | Performance | Restore speed before latency tuning |
None is a diagnostic switch
MAME documents `-sound none` as disabling sound output. It can isolate audio overhead, but leaving it enabled guarantees silence.
Backend names are build-specific
Desktop examples may name APIs an Android port did not compile. Ask the exact build through its options and log instead of copying a backend string.
One silent game is not a global device failure
Machine-specific samples, ROM audit, mixer state, and upstream emulation status remain separate from Android's system output.
Use only games, firmware, artwork, music, and media you created, dumped lawfully, or received under permission covering your use. Emulator compatibility does not grant content rights; never use an unauthorized ROM, BIOS, CHD, media pack, or mirror.