Recommendations for debugging dmix? For a long time I have a problem where audio output regresses to glitches, only solved by closing all applications using audio and reopening. Especially common when Chromium is used: 3-4 times a day, frustrating. I have a very explicit dmix configuration (see below); no PulseAudio. Reproducable on latest alsa-lib (fb48ad9e; later than v1.2.2) I can rule out _some_ aspects of hardware/drivers (Layla3G); eg. when the fault occurs, other soundcard channels are fine. Any way to understand what dmix is doing? Clients? Control process? Here's a recording taken from the analogue output (L+R chanel get zero'd): http://www.pogo.org.uk/~mark/tmp/dmix-glitch.png http://www.pogo.org.uk/~mark/tmp/dmix-glitch.flac Some process overwriting the ring buffer? Not high enough thread priority? Seems like it might be more prevalant with more applications using sound. Maybe why Chromium makes it worse; several threads/sandboxes, perhaps. dmix has all the trappings of something fiendishly clever and concise, but quite opaque. I'd need time to study the code (it has few comments, a lot of assumed knowledge) to understand its IPC. Can anyone give a head start? Specifically, how does the final mix get written to the output? eg. Thread priorities, if that process goes away etc. Thanks --- pcm.layla_multi { type route slave.pcm { type dmix ipc_key 833282 ipc_key_add_uid true slave { pcm "hw:Layla3G,0,0" period_size 256 buffer_size 32768 channels 4 rate 48000 format S24_3LE } } ttable { # Headphones 0.0 1 1.1 1 # Speakers 0.2 1 1.3 1 } } pcm.!default { type plug slave.pcm layla_multi } -- Mark