Skip to content

You might not want to build ALSA support

Description:

There is somewhat serious issue with rtaudio and ALSA.

Most modern apps that use rtaudio expect server they are connecting to supports resampling, however, with ALSA, that is not the case. That results with choppy audio if samplerate application is requesting is not the same samplerate soundcard is expecting.

rtaudio does not provide end users with any way to override default driver used and rtaudio will default to ALSA if present. (it is just hardcoded in code before other servers, before Pulse (pipewire))

I expect huge majority of users do not expect that behavior and/or will not have a simple solution for that.

I have 2 suggestions, before that is resolved upstream. Either to build it without support for ALSA, or to patch code to change order in which it checks drivers.

I have reported this upstream too, however it does not seem like they got around to checking it out yet:

https://github.com/thestk/rtaudio/issues/434

Example of applications that this behavior breaks:

  • SDRAngel

  • SDR++

  • Probably more?

There is also a discussion about this issue (in Debian-based distros) on SDR++ repo:

https://github.com/AlexandreRouma/SDRPlusPlus/discussions/112

Additional info:

Steps to reproduce:

Start any of above applications with either ALSA or pipewire-alsa and you will hear broken sound.

Edited by nemanjan00
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information