ALSAThreaded and TinyALSA are good option than PulseAudio ?
If you’re on an extremely low-power/embedded device, possibly. If you’re on a powerful desktop/laptop, stick with pulse.
I use Lakka on a relatively powerful desktop, but it only presents me with alsa, alsathread, tinyalsa, and oss drivers. Of those, I found the one that gave me best performance was tinyalsa, on which I could go as low as 21ms latency (any lower and it defaults back to 64ms, so it seems to be a hard limit). Regular alsa can’t seem to go lower than 32ms without crackling, and alsathread just gives terrible performance for some reason. OSS seems to perform the same as alsa.
How low should latency be able to go on Linux? If pulse was available, could it go 16ms or lower?
If your system uses PulseAudio, then no. Use the PulseAudio driver in RetroArch. The other driver choices are only useful for Linux systems that do not use PulseAudio.
Probably not. I can’t go lower than about 24 here. Also, I’m not sure it even makes sense to even try to go lower than that. Video games in general show an audio latency between 100 and 200ms. Anything below 60ms or 50ms sounds pretty much instantaneous, really.
Battle(non)sense did some audio latency measurements in popular esports games (and those tend to have even lower audio delay than usual games), and over 100ms is the norm really:
I suppose I always assumed by audio latency, it means whatever latency the game has intrinsically plus additional latency from audio buffering. So hypothetically, “zero latency” would mean you’d be left with just the game’s regular latency on real hardware, whatever that may be.
But then again, I also assumed games had no input lag on real hardware, and now I know that to be wrong. Is this the case here as well, then? Is my aforementioned assumption wrong as well?
Yeah, obviously the RA audio latency will be added on top of the game’s own audio latency.
But maybe you can measure your total audio latency, using the method shown in the video where you place your controller and your headphones next to each other, put a microphone between them and record the audio from the microphone with Audacity. You can then view the waveform in Audacity and thus figure out the time delay between controller button click and whatever game audio is the result of that button click.