Linux

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

Linux
~/.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.