[alsa-devel] Order of device overrides in config files

Pavel Hofman pavel.hofman at ivitera.com
Mon Jun 11 15:18:57 CEST 2018


Dne 11.6.2018 v 14:20 Jaroslav Kysela napsal(a):
> 
> It means operation mode 'override':
> 
> http://www.alsa-project.org/alsa-doc/alsa-lib/conf.html
> 
> By default, the operation mode is 'merge+create'.

Hi Jaroslav,

Thank you for the information and the link.

In alsa.conf I see the order of config files which is same as my strace 
output reveals:

@hooks [
         {
                 func load
                 files [
                         {
                                 @func concat
                                 strings [
                                         { @func datadir }
                                         "/alsa.conf.d/"
                                 ]
                         }
                         "/etc/asound.conf"
                         "~/.asoundrc"
                 ]
                 errors false
         }
]


The default device is overriden in pulse-alsa.conf which is called by 
hook_func.pulse_load_if_running defined in alsa.conf.d/pulse.conf read 
BEFORE processing my .asoundrc . Strace shows that reading 
pulse-alsa.conf occurs AFTER reading .asoundrc . It works as specified :-)

Please would it make sense to call .asoundrc (somehow...) after all the 
config hooks were processed so that redefining the default device in the 
user's config actually works? Many users get confused by this behavior 
as it is not really obvious. No matter what they list in their .asoundrc 
(correctly following alsa documentation), the default device always ends 
up to be the pulse plugin.

Thanks a lot for your time and opinion.

Best regards,

Pavel.


More information about the Alsa-devel mailing list