Linux Commands Examples

A great documentation place for Linux commands


advanced controls for ALSA soundcard driver

see also : amixer - alsamixer - aplay


alsactl [options] [store|restore|init] <card # or id or device>

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


alsactl restore -f asound.state


alsactl is used to control advanced settings for the ALSA soundcard drivers. It supports multiple soundcards. If your card has features that you can’t seem to control from a mixer application, you have come to the right place.


-h, --help

Help: show available flags and commands.

-d, --debug

Use debug mode: a bit more verbose.

-v, --version

Print alsactl version number.

-f, --file

Select the configuration file to use. The default is /var/lib/alsa/asound.state.

-F, --force

Used with restore command. Try to restore the matching control elements as much as possible. This option is set as default now.

-g, --ignore

Used with store and restore commands. Do not show ’No soundcards found’ and do not set an error exit code when soundcards are not installed.

-P, --pedantic

Used with restore command. Don’t restore mismatching control elements. This option was the old default behavior.

-I, --no-init-fallback

Don’t initialize cards if restore fails. Since version 1.0.18, alsactl tries to initialize the card with the restore operation as default. But this can cause incompatibility with the older version. The caller may expect that the state won’t be touched if no state file exists. This option takes the restore behavior back to the older version by suppressing the initialization.

-r, --runstate

Save restore and init state to this file. The file will contain only errors. Errors are appended with the soundcard id to the end of file.

-R, --remove

Remove runstate file at first.

-E, --env #=#

Set environment variable (useful for init action or you may override ALSA_CONFIG_PATH to read different or optimized configuration - may be useful for "boot" scripts).

-i, --initfile #=#

The configuration file for init. By default, PREFIX/share/alsa/init/00main is used.


store saves the current driver state for the selected soundcard to the configuration file.

restore loads driver state for the selected soundcard from the configuration file. If restoring fails (eventually partly), the init action is called.

init tries to initialize all devices to a default state. If device is not known, error code 99 is returned.

If no soundcards are specified, setup for all cards will be saved or loaded.


/var/lib/alsa/asound.state (or whatever file you specify with the -f flag) is used to store current settings for your soundcards. The settings include all the usual soundcard mixer settings. More importantly, alsactl is capable of controlling other card-specific features that mixer apps usually don’t know about.

The configuration file is generated automatically by running alsactl store. Editing the configuration file by hand may be necessary for some soundcard features (e.g. enabling/disabling automatic mic gain, digital output, joystick/game ports, some future MIDI routing options, etc).


None known.

see also

amixer , alsamixer , aplay


alsactl is by Jaroslav Kysela <perex[:at:]perex[:dot:]cz> and Abramo Bagnara <>. This document is by Paul Winkler <zarmzarm[:at:]erols[:dot:]com>.

How can this site be more helpful to YOU ?

give  feedback