.\"                                      Hey, EMACS: -*- nroff -*-
.\" alsaconf.8 is copyright 2003 by Jordi Mallach <jordi@debian.org>
.\" 
.\" This is free documentation, see the latest version of the GNU
.\" General Public License for copying conditions. There is NO warranty.
.TH ALSACONF 8 "February 23, 2003"

.SH NAME
alsaconf \- configuration tool for the Advanced Linux Sound Architecture

.SH SYNOPSIS
.B alsaconf
.RI [ options ]

.SH DESCRIPTION
This manual page documents briefly the
.B alsaconf
command.
This manual page was written for the Debian distribution because the
original program does not have a manual page.
.PP
\fBAlsaconf\fP is a simple shell script which tries to detect the sound cards
on your system and writes a suitable configuration file for ALSA. It will try
to guess what GNU/Linux distribution you're running, and will act accordingly
to the standards of that distribution, if specific support is available.
.PP
Alsaconf will write a module-init-tools (or modutils) snippet which can be then used by module-init-tools (or modutils)
to load the correct parameters for your sound card.

.SH OPTIONS
Alsaconf accepts the following options:
.TP
.B \-c, \-\-config file
Specify the module config file.
As default,
.B alsaconf
probes the available config file automatically.
.TP
.B \-d, \-\-devmode mode
Set the device mode for the ALSA devices (default = 0666).
This option is obsolete in the recent ALSA version.
.TP
.B \-g, \-\-gid gid
Set the gid for the ALSA devices (default = 0).
This option is obsolete in the recent ALSA version.
.TP
.B \-h, \-\-help
Displays this help text.
.TP
.B \-L, \-\-log file
Logging on the given file.  The log is appended to the file.
This option is for debugging purpose only.
.TP
.B \-l, \-\-legacy
Check only for legacy non-isapnp cards.
.TP
.B \-m, \-\-modinfo
Read module descriptions instead of reading a card database.
.TP
.B \-P, \-\-listprobe
List the supported legacy card modules.
.TP
.B \-p, \-\-probe card-name
Probe a legacy non-isapnp card and print module options.
.TP
.B \-r, \-\-strict
Set strict device mode (equiv. with \-g 17 \-d 0660).
This option is obsolete in the recent ALSA version.
.TP
.B \-s, \-\-sound\-wav\-file
Use the specified wav file as a test sound.
.TP
.B \-u, \-\-uid uid
Set the uid for the ALSA devices (default = 0).
This option is obsolete in the recent ALSA version.

.SH DEBIAN SPECIFIC
In Debian, the default gid of the device files is 29 (corresponding to the
audio group) and the default device mode is 0660.

For the ALSA base package, see also
.I /usr/share/doc/alsa\-base/

.SH SEE ALSO
\fB
alsamixer(1),
amixer(1),
aplay(1),
arecord(1)
\fP

.SH HOMEPAGE
http://www.alsa\-project.org/

.SH AUTHOR
The alsaconf script was written by
Takashi Iwai <tiwai@suse.de>,
Bernd Kaindl <bk@suse.de> and
Jan Ondrej (SAL) <ondrejj@salstar.sk>

This manual page was written by Jordi Mallach <jordi@debian.org>,
for the Debian system (but may be used by others).
