On 5/15/21 12:04 AM, Chris Caudle wrote:
Does anyone know if jackd (or the Ardour ALSA backend)
can be forced to
use interleaved mode?
Ardour's ALSA backend is based on zita-alsa-pcmi and does support
interleaved mode, but there is no switch to force it on.
It cannot be forced since it requires at least 2 parameters (offset and
stride) the first of which may differ every cycle depending on where
memory is mapped to.
Relevant methods are snd_pcm_mmap_begin()  which provides the info
and pointers in a snd_pcm_channel_area_t  struct.
but apparently jackd and Ardour try to open in
Ardour indeed tries SND_PCM_ACCESS_MMAP_NONINTERLEAVED first and falls
back to SND_PCM_ACCESS_MMAP_INTERLEAVED (and
SND_PCM_ACCESS_MMAP_COMPLEX) if the former fail.
One could add an option to override this configuration behavior, but
that would only be useful for driver development/debugging.