Where Are ALSA Config Files on Linux?
ALSA layers system, package, and user configs. The asound.conf and .asoundrc spots plus the XDG addition.
Last updated
ALSA reads a stack of config files, not one. The base comes from /usr/share/alsa/alsa.conf with card definitions below it. Your overrides go in /etc/asound.conf system wide or ~/.asoundrc per user. Neither file needs to exist for sound to work.
Newer alsa-lib also checks an XDG path, ~/.config/alsa/asoundrc, alongside the classic dotfile. User files beat system ones, and changes apply on app restart with no daemon to reload. aplay -L shows card names to reference when picking a default.
Where ALSA stores this, by platform
~/.asoundrc
Per user overrides like defaults.pcm.card. Create it when needed; absence is normal. System twin at /etc/asound.conf. Newer libs also read ~/.config/alsa/asoundrc.
Frequently asked questions
how do i set my default sound card with alsa
Add defaults.pcm.card and defaults.ctl.card lines with the card index or name to ~/.asoundrc (or /etc/asound.conf for all users). Find names with aplay -L. Restart apps to pick it up.
do i need asoundrc for alsa to work
No. The packaged defaults under /usr/share/alsa cover standard cards. Create user or system files only to fix a wrong default, remap channels, or add plugins like dmix tweaks.
Notice an outdated path? Let us know.