BSD Chromium Audio/Mic

If you encounter a problem with microphone in Chromium on FreeBSD (and other *BSD), this is because it uses sndio audio backend and probably default microphone is not the one you want to use. In my case /dev/dsp0 is the HDMI input/output thus no audio input. There is no need to start system wide sndiod. You can use environment variables in ~/.profile to control audio input/output for the local spawning sndio client:

  • export AUDIODEVICE="rsnd/4" sets default input/output device to /dev/dsp4.
  • export AUDIORECDEVICE="rsnd/3" sets default input device to /dev/dsp3.
  • export AUDIOPLAYDEVICE="rsnd/2" sets default output device to /dev/dsp2.

You can simply set AUDIODEVICE="rsnd/4" to switch default input and output device, and/or AUDIORECDEVICE="rsnd/3" to change default microphone source. If you want to have choice to switch between several devices on the fly you will need to use sndiod and provide set of devices with -f flag. See sndio [1] and sndiod [2] man pages for more information.
[1] https://man.openbsd.org/sndio.
[2] https://man.openbsd.org/sndiod