Dne 11.6.2018 v 15:45 Pavel Hofman napsal(a):
Dne 11.6.2018 v 15:34 Jaroslav Kysela napsal(a):
Dne 11.6.2018 v 15:18 Pavel Hofman napsal(a):
Dne 11.6.2018 v 14:20 Jaroslav Kysela napsal(a):
It seems that there's something different in your system, so the ~/.asoundrc file is not parsed as last.
Ubuntu 16:04 (Mint 17)
It is parsed by the same order as specified in
@hooks [ { func load files [ { @func concat strings [ { @func datadir } "/alsa.conf.d/" ] } "/etc/asound.conf" "~/.asoundrc" ] errors false } ]
But the last "default" redefinition occurs from usr/share/alsa/pulse-alsa.conf, which is "scheduled" by alsa.conf.d/pulse.conf:
hook_func.pulse_load_if_running { lib "libasound_module_conf_pulse.so" func "conf_pulse_hook_load_if_running" }
@hooks [ { func pulse_load_if_running files [ "/usr/share/alsa/pulse-alsa.conf" ] errors false } ]
According to strace, the function pulse_load_if_running opens /usr/share/alsa/pulse-alsa.conf AFTER ~/.asoundrc:
strace aplay -v -D default /home/hestia/Hudba/192.wav 2>&1 | nl | grep -E '/usr/share/alsa|asoundrc' 88 stat("/usr/share/alsa/alsa.conf", {st_mode=S_IFREG|0644, st_size=9182, ...}) = 0 89 open("/usr/share/alsa/alsa.conf", O_RDONLY) = 3 100 access("/usr/share/alsa/alsa.conf.d/", R_OK) = 0 101 stat("/usr/share/alsa/alsa.conf.d/", {st_mode=S_IFDIR|0755, st_size=123, ...}) = 0 102 openat(AT_FDCWD, "/usr/share/alsa/alsa.conf.d/", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3 106 open("/usr/share/alsa/alsa.conf.d//50-pulseaudio.conf", O_RDONLY) = 3 114 open("/usr/share/alsa/alsa.conf.d//bluetooth.conf", O_RDONLY) = 3 122 open("/usr/share/alsa/alsa.conf.d//pulse.conf", O_RDONLY) = 3 131 access("/home/hestia/.asoundrc", R_OK) = 0 132 stat("/home/hestia/.asoundrc", {st_mode=S_IFREG|0644, st_size=215, ...}) = 0 133 open("/home/hestia/.asoundrc", O_RDONLY) = 3 540 access("/usr/share/alsa/pulse-alsa.conf", R_OK) = 0 541 stat("/usr/share/alsa/pulse-alsa.conf", {st_mode=S_IFREG|0644, st_size=340, ...}) = 0 542 open("/usr/share/alsa/pulse-alsa.conf", O_RDONLY) = 6
This configuration comes from Ubuntu (debian). We do not have such config in the upstream (nor Fedora) where we expect to change the pulse configuration file or uninstall the alsa-plugins-pulseaudio package (which contains the default configuration file) when the pulseaudio is not used:
http://git.alsa-project.org/?p=alsa-plugins.git;a=blob;f=pulse/50-pulseaudio... http://git.alsa-project.org/?p=alsa-plugins.git;a=blob;f=pulse/99-pulseaudio...
Unfortunately @hooks from the alsa.conf.d files (or any other files loaded from the @hooks in alsa.conf) are expanded dynamically on request when the 'pcm' definitions are parsed. So yes, pulse-alsa.conf is loaded later than other configuration files in this case.
Jaroslav