Hey, dfreer, I find your lack of faith disturbing.
I decided to recheck the Ubuntu Forums and tracker to see what is the latest ZSNES and related cluelessness going on over there.
It's really hilarious how people don't understand the libsdl1.2debian-* packages. And then PulseAudio? Haha! They use it and wonder why they have latency.
However I thought you knew better than to write this:
https://bugs.launchpad.net/ubuntu/+sour ... bug/227475
Do you really think we're dumb enough to hard code to weird locations like that? Especially when I was the one who pointed out you needed to symlink? Why wouldn't I make a proper fix?
I'd be nice if people would stop pointing fingers at ZSNES all the time, and realize many bugs are in various libraries and sound servers.
You can do: "strings /usr/lib/libao.so | grep /usr"
To see the hardcoded path within libao itself, of course replace "/usr/lib/libao.so" with the proper location. If you want it fixed for a 32 bit on 64 bit system, go compile it yourself, and not hard code the wrong location into libao.
Regarding current issues, it's due to Linux recently changing the scheduling, and making the less than stellar threading fail, which should be fixed with the above patch.
Regarding libsdl1.2debian-*, installing the all package is going to install everything but make the default ALSA, ESD, or PA. To use one in particular, only install that one, or set the environment variable for SDL Audio to another SDL driver. ESD and PA (and aRts or other stuff for that matter) by their very nature are high latency, not what you want in an emulator. ALSA wrappers in most things are also pretty bad.
libao has a config file to set which driver is the auto driver that ZSNES sees. Contrary to stupidity you see on the Ubuntu forums, the -ad driver options are completely unrelated to which libsdl1.2debian-* you install.
If you have OSS installed, and use OSS, you generally get the best sound. If you have ALSA installed, but talk to ALSA via the ALSA API (or a wrapper such as libao or SDL) it's usually worse than talking to ALSA through the OSS API (or wrapper -> OSS -> ALSA). You can call FUD on that last one, but I've done so many tests on it, I find it documented fact.
Recap:
libsdl1.2debian-oss is your best SDL driver (usually).
If you're using ALSA, make sure you have the OSS API enabled.
If you're using a newer Linux, make sure you have the above patch, to use libao.
Don't use sound servers for applications which create the audio on the fly.
Bugs in SDL and libao are not our fault.
Try OSS related drivers, then try ALSA if the first has issues.
Learn about all the related components before pointing fingers.