# Which Build  strategy  for Audio Subsystem  ?



## drsnx60 (May 2, 2020)

I am soliciting  advice  on what strategy to use for Audio Subsystem when  building  large amounts  of source  from scratch.  
Is there  a common Audio subsystem that will work for the majority of  ports ?  

When building   GNOME 3 +  KDE5  +  Mozilla ( firefox + thundebird )   VLC video playback  and  audio/ video  recording tools  such  as  Audacity ..........

 What Audio subsystem  should be consistently selected in the PORTS   option dialogues to get  consistently working sound/audio across the  board  ? 

 The  ALSA / OSS / Pulseaudio / NAS / JACK / SNDIO  selection that accompanies  a large number  of the PORTS ( with no guidance ) is bewildering.
Is there an Audio subsystem  that  is better  to use  for  GNOME ?   and another  that  works  for  KDE  ?   and a  third  for  Multimedia ?
I have often  ended up in a situation  where Audio works  for  Multimedia content  but not for Desktop System  sounds .

I am reasonably familiar with compliers and  toolchains and libraries and include files ,  having  built  OSS  code since the  late  1980:ies.

 ( please note that I am not asking about how to configure the sound card , which is well described in the Handbook ) 

   Regards   //Lars


----------



## garry (Oct 11, 2020)

lartun said:


> What Audio subsystem  should be consistently selected in the PORTS   option dialogues to get  consistently working sound/audio across the  board  ?
> 
> The  ALSA / OSS / Pulseaudio / NAS / JACK / SNDIO  selection that accompanies  a large number  of the PORTS ( with no guidance ) is bewildering.



The question was asked 6 months ago, but no one has answered so I'll at least put some text here (after all the post showed in my forum search on a pulseaudio topic).

My "solution" has worked but I am not confident in it. From my /etc/make.conf

```
#? # The general rule for audio is
#? #    if SNDIO or OSS is available set it and not PULSEAUDIO
#? #    otherwise set PULSEAUDIO if the app doesn't work without it
#? # sndio can be used in Firefox without pulseaudio by creating the about:config
#? # string variable media.cubeb.backend="sndio"
```
So in general I build all ports with `OPTIONS_UNSET+=PULSEAUDIO` and `OPTIONS_UNSET+=ALSA`

Of course the other answer is "just use the defaults" -- that will work well but not be optimal for what you're trying to accomplish with audio.


----------



## Alain De Vos (Oct 11, 2020)

I only have,
OPTIONS_SET+= SNDIO FLAC MATROSKA OGG
The sndiod takes ownership of the sound device. So pulseaudio does not get a chance.
Also :
export AUDIODEVICE="snd@127.0.0.1/0.default"
export AUDIODRIVER=sndio


----------

