The Advanced Linux Sound Architecture (ALSA) - utilities
Find a file
Lennart Poettering de7c3eff0e alsactl: systemd and udev hookup
Add minimal systemd and udev support to alsactl so that mixer settings
are restored at boot, when sound cards are plugged in and saved on
shutdown.

This is similar to existing udev/init script solutions in various
distributions.

Note that alsactl is called both synchronously from the udev rules as
well as asynchronously at boot. This is intended, and to ensure two
things:

- At boot the asound.state file might not be readable, since it resides
  on a different file system. That means exclusively restoring sound card
  settings from udev rules will no suffice, since if the rule is
  executed at early boot (for example within udev settle) then the file
  will no be readable and cannot be restored.

- We need to ensure that applications monitoring sound cards coming and
  going (such as PA) must not get these events before the mixer settings
  have been restored. That means the mixer settings must be restored
  synchronously withing the udev rules, before the events are passed on
  to the apps.

That basically means we need to restore the settings once in udev, to
deal with sound cards becoming available during runtime. And once in
early boot to deal with coldplugged soundcards whose data files might
not have been available at time of plugging. Hence we call alsactl
twice: one from the udev rule, and once from he systemd unit file.

Signed-off-by: Lennart Poettering <mznyfn@0pointer.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
2010-11-23 10:42:35 +01:00
alsaconf alsaconf - prefer /etc/modprobe.d/sound/50-sound.conf 2009-03-18 12:10:55 +01:00
alsactl alsactl: systemd and udev hookup 2010-11-23 10:42:35 +01:00
alsaloop alsaloop: rework the ctl event handling routine 2010-10-21 20:38:06 +02:00
alsamixer alsamixer: remove obsolete e-mail 2010-11-10 10:14:53 +01:00
amidi amidi: fix port listing 2010-01-25 14:11:37 +01:00
amixer amixer: fix parsing of control ID name 2010-10-05 10:02:45 +02:00
aplay aplay/arecord: term_c_lflag variable might be unitialized in some cases 2010-08-18 08:23:09 +02:00
iecset Make some static tables and strings constants. 2008-11-21 13:10:02 +01:00
include alsamixer: show channel names for multichannel controls 2009-05-25 10:26:22 +02:00
m4 Fix autoreconf 2005-08-19 13:07:45 +00:00
po update German translations 2010-11-10 10:16:07 +01:00
seq Revert wrong parts of "alsactl: use snd_config_imake* functions" 2010-05-26 10:37:58 +02:00
speaker-test speaker-test: Don't retry after fatal errors 2010-10-17 10:17:14 +02:00
utils Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:25:17 +02:00
.gitignore Introduce alsaloop utility 2010-10-06 10:01:52 +02:00
acinclude.m4 fixed for the recent autoconf. 2004-01-26 15:57:37 +00:00
ChangeLog update build tools. 2005-08-13 16:27:59 +00:00
configure.in alsactl: systemd and udev hookup 2010-11-23 10:42:35 +01:00
COPYING Updated GNU GPL (address) 2001-12-30 09:32:53 +00:00
cvscompile Add exec permission to cvscompile 2006-04-06 19:17:35 +02:00
gitcompile renamed hgcompile to gitcompile 2008-05-20 13:32:28 +02:00
INSTALL Add hgcompile script and fix INSTALL document 2006-05-12 15:34:22 +02:00
Makefile.am alsactl: systemd and udev hookup 2010-11-23 10:42:35 +01:00
README Changed Jaroslav Kysela's e-mail from perex@suse.cz to perex@perex.cz 2007-10-15 10:25:17 +02:00
TODO aplay/arecord 2000-12-27 21:24:57 +00:00

		Advanced Linux Sound Architecture - Utilities
		=============================================

This package contains the command line utilities for the ALSA project.
The package can be compiled only with the installed ALSA driver and
the ALSA C library.

alsaconf	- the ALSA driver configurator script
alsactl		- an utility for soundcard settings management
aplay/arecord	- an utility for the playback / capture of .wav,.voc,.au files
amixer		- a command line mixer
alsamixer	- a ncurses mixer
amidi		- a utility to send/receive sysex dumps or other MIDI data
iecset		- a utility to show/set the IEC958 status bits

You may give a look for more information about the ALSA project to URL
http://www.alsa-project.org.

					Jaroslav Kysela <perex@perex.cz>