ALSA FAQ
8/28/99
Maintained by John Fulmer
Links by Patrick Shirkey
--------------------------------------------------------------------------------
Introduction
"And while we don't have a Shy Pride Week, we do have many private moments when
we keep our thought to ourselves, such as 'Shy is nice,' 'Walk short,' 'Be
proud--shut up,' and 'Shy is beautiful, for the most part.' These are some that
I thought up myself. Perhaps other persons have some of their own, I don't
know."
-Garrison Keillor, "Shy Rights, Why Not Pretty Soon?"
This is the official FAQ for the installation and usage of the Advanced Linux
Sound Architecture, or ALSA. ALSA is currently changing quickly and hopefully
this document can keep pace with it. To keep it as current as possible,
users/testers/developers are highly encouraged to e-mail changes,
clarifications, and gripes to the FAQ maintainer (me) listed at the top of this
file. Flames go to /dev/null.
Most information contained here has been taken from the alsa-user and alsa-devel
mailing lists. Other information has been collected through e-mail from current
ALSA users or out of my own mis-adventures.
This document may always be found at
http://www.alsa-project.org/~jfulmer/alsa-faq.html It will be updated twice a
month, and change notifications will be announced on the ALSA mailing lists.
--------------------------------------------------------------------------------
Questions
"An Oya (pronounced "O-yah") converses by means of questions, if at all. His
opening remark might be "That's quite the deal, isn't it?" if his host is busy,
or "Not too busy today, huh?" if the host is relaxing. Next, he might well ask,
"What do you have in your hand there? A sharp stick?" for by this time the host
has realized that he is in for a long afternoon unless he takes stern measures.
He must at all costs drive the Oya off before he is asked, "What is the matter?
Why don't you like me?" "
-Garrison Keillor, "Oya Life These Days"
--------------------------------------------------------------------------------
i. Administrivia
i.2 Who do I thank?
Everyone who has contributed to ALSA or this FAQ. Especial thanks to:
Jaroslav Kysela <perex@suse.cz>
Dan Hollis <goemon@sasami.anime.net>
Brion Vibber <brion@gizmo.usc.edu>
Frank van de Pol <frank@vande-pol.demon.nl>
David Fries <dfries@mail.win.org>
Christopher David <cdavid@umich.edu>
Steve Ratcliffe <steve@parabola.demon.co.uk>
Anders Semb Hermansen <ahermans@vf.telia.no>
YoungLee <ymlee@core.kaist.ac.kr>
Stan <skoci@teleweb.at>
Dave Platt <dplatt@snulbug.mtview.ca.us>
Thank you all!
i.3 How can I make sure my stuff is seen by the FAQ maintainer
Considering that I get several hundred e-mails a day from various mailing lists,
it is possible that some things get past me. Here's a few suggestions in making
sure that I see your e-mail
-E-mail me directly, don't post to the list. I try to read the list
every day, but I do have a day job. If I miss a day or two of the list,
I tend to skim it, instead of reading every message. Direct e-mails are
always read.
-Put [FAQ] in the Subject of your e-mail. It REALLY helps.
i.4 License
The text and format of this document is released under the terms of the GNU
General Public License V2, the terms of which are available
HERE
BACK TO TOP
--------------------------------------------------------------------------------
ANSWERS
--------------------------------------------------------------------------------
General/Development
"In California, soon after her marriage to a prince (her first marriage, his
seventh), a woman named Sharon Mittel was shut up in a dungeon under the
provisions of that state's Cruel and Unnatural Parent Act, which allows the
immediate imprisonment of a stepparent upon the complaint of a stepchild. The
prince's oldest daughter accused Sharon of slapping her. She was later freed
after an appeal to a king, but she now faces a long series of tests to prove her
innocence, such as finding a tree of pure gold and a seedless grapefruit. She
also must answer some riddles."
-Garrison Keillor, "My Stepmother, Myself"
1.1 What does ALSA stand for?
'ALSA' stands for the "Advanced Linux Sound Architecture".
1.2 Who is writing ALSA?
ALSA has been written by Jaroslav Kysela <perex@suse.cz> over the last two
years, with volunteer programmers providing design ideas, driver modules,
source, and patches. The full list of contributors to the ALSA project and what
they have done may be found at http://www.alsa-project.org/contrib.html. Thank
you all very much!
Jaroslav currently works for S.U.S.E. (http://www.suse.de, or
http://www.suse.com for the non German speaking), a German Linux distribution
company, where he works on ALSA and other Linux related projects.
1.3 What are the goals for ALSA?
ALSA has the following goals:
-Create a fully GPL and LGPL'ed sound driver system for Linux.
-Create a fully modularized sound driver.
-Maintain backwards compatibility with most OSS applications.
-Create the ALSA Manager, an interactive configuration program for the
driver.
-Create the ALSA Library (C, C++), which simplifies ALSA application
development.
In addition, ALSA will also feature:
-Full Duplex playback/recording, for all hardware that supports it.
-Hardware mixing of multiple audio streams, for hardware that supports it.
-Professional quality MIDI sequencing subsystem.
-Extensive mixer capabilities, to support advanced features of new
soundcards.
-Patch handling system, for wavetable soundcards.
-Able to support ISA PnP soundcards without external PnP config program.
-Support for multiple soundcards in same system.
-All included drivers are open source in the ALSA package, although
vendors may provide binary only drivers.
BACK TO TOP
1.4 What is the latest version of ALSA?
Latest released version is 0.4.1. This version requires Linux kernel 2.2.3+
Linux 2.0.x kernels are no longer supported.
This said, most of the real action goes on in the daily CVS updates. Newer
features and bugfixes show up in the CVS long before the official point-release
tarballs, and the CVS versions tend to be very usable. See 2.5 below for
information on how to get CVS snapshots of ALSA.
1.5 What is the current status of ALSA?
Feature Feature Status Devel Status
ALSA PCM audio Working Development
ALSA Mixer Working Finished
OSS PCM audio Working Finished
OSS Mixer Working Finished
ALSA Raw MIDI Working Development
OSS Raw MIDI Working Development
ALSA Internal Synth Partial Development
OSS Internal Synth Partial Development
4 Speaker Support Working Development
Full Duplex Working Finished
Hardware Mixing Partial Development
Patch Management Not Working Planned
3D positioning support Not Working Planned
Feature Status:
-Working - Feature is fully implemented for most cards that support it.
-Partial - Feature is implemented for only a few cards that support it.
-Not Working - Feature is not-implemented or broken.
Development Status:
-Finished - Feature is fully implemented for all supported cards, and
design should not change for ALSA 1.0
-Development - Feature is mostly designed and implemented for at least
one card. Design and API details may change before ALSA 1.0
-Planned - Feature will be designed and implemented for ALSA 1.0
The native ALSA PCM interface is about to undergo some major changes for ALSA
.5. The proposed changes may be found at
HERE
BACK TO TOP
1.6 What is OSS/Free?
OSS/Free is the name of the default sound driver system found in almost all
Linux kernels since the 1.0 days. It started as the
"Voxware"/"Sound-Driver-Without-A-Name" Linux drivers, which were originally
written by Hannu Savolainen. It was later developed commercially by 4Front
Technologies (http://www.4front-tech.com) and renamed to OSS. OSS has since
been ported to many other Unices, and supports many more soundcards than the
original driver.
4Front provided a stripped down version for the Linux 2.0 kernel which was named
OSS/Free. Since then, much of the OSS/Free support and bugfixes have been
provided by Alan Cox, partially through funding by Red Hat software.
1.7 Why should I use ALSA/What is the matter with the OSS/Free?
Nothing at all is the matter with OSS/Free, but it does have some limitations:
-Generally hard to configure, although some distributions have
tried to create an easy to use front end.
-No native PnP support.
-Slow to support new soundcards.
-OSS programming API is very simple and limited. No API libraries.
-Primitive or no MIDI support for most soundcards.
-Little or no full duplex support.
-No hardware mixing support.
-OSS/Free is not currently supported or under development by any working
groups, although 4Front occasionally contributes code back to it.
In many ways, OSS/Free is a 'teaser' to encourage people to buy OSS from
4Front, which is reported to be much easier to set up, and includes support for
many cards that OSS/Free does not.
ALSA is an attempt to go beyond the simple interfaces that OSS provides, and to
do so in an open source fashion. It will also provide a professional quality
system for recording, playback, and MIDI sequencing.
1.7.1 I read that ALSA considers OSS obsolete, and this is reflected in ALSA's
documentation. Is this true?
Not at all. The issue brought up was two lines in asound.h that said:
/*
* Obsolete interface compatible with Open Sound System API
*/
This was not a slap at OSS, but rather a reflection that this is an obsolete
interface for ALSA, which has it's own native interface. It was not a commentary
on OSS itself.
However, for the sake of fairness and to keep the misunderstandings to a
minimum, the word 'obsolete' was removed from asound.h.
1.8 What vendors are actively supporting ALSA?
-->Note, this list is very incomplete<--
S.U.S.E
Hired Jaroslav,supporting ALSA financially.
TridentMicro
Driver source,hardware, specs, promotes ALSA
on home page.
ForteMedia
Specs,hardware.
Cirrus Logic
Specs, help with development, hardware.
The above vendors are to be commended and supported by the ALSA community.
BACK TO TOP
1.9 What manufacturer's cards/systems are currently supported?
-->Note, this list is very incomplete, Please send working manufacturer and
model information to jfulmer@appin.org<--
This is a list of manufacturer's cards/systems known to work with the current
major release of ALSA:
To see the official list click
HERE
1.10 What cards will NOT be supported by ALSA? Why not?
Creative Sound Blaster Live!
Aureal Vortex
RME DIGI (Except DIGI 9652)
Yamaha SW1000xg
Yamaha YMF744B
Yamaha YMF724
Creative Vibra 16X
TerraTec Xlerate + DMX (Aurreal Vortex)
ESS Maestro1/2
Some manufacturers view the programming specifications for their hardware as a
trade secret and will only supply information if a developer signs a NDA
(non-disclosure agreement), which says that a developer will not tell or
disclose the specifications to anyone. Source code inherently discloses these
specifications and therefore cannot be released to the general public. This is
not acceptable to the developers of ALSA or to the spirit of the GPL, so
drivers may not be developed for these cards as part of the ALSA project.
Some of these vendors (specifically Creative Labs) or others may provide a
binary-only module for their card for ALSA, but these modules will not be
distributed by ALSA or SUPPORTED BY THE ALSA DEVELOPERS.
More information may be found at the
ALSA black-list page
1.11 Where can I get more information about ALSA?
There are a couple very good sources of information about ALSA. The primary
source is ALSA's home page, http://www.alsa-project.org. There is also a
Japanese-only page at http://plaza22.mbn.or.jp/%7Emomokuri/alsa/. Also, there
are two mailing lists supporting the ALSA project. These are:
alsa-devel@alsa-project.org
Mailing list for ALSA developers. To subscribe (if you want do some work on the
driver or library) send message to alsa-devel-request@alsa-project.org with the
body 'subscribe <email_address>'.
alsa-user@alsa-project.org
Mailing list for ALSA users. To subscribe (if you need some help with the ALSA
driver/library) send message to alsa-user-request@alsa-project.org with the
body 'subscribe <email_address>'.
BACK TO TOP
1.12 Why is there no good documentation for ALSA?
Actually, there is some very good documentation, depending on what you want. If
you want to set up ALSA and use it, check out the
ALSA MINI HOWTO
This, along with the INSTALL document that comes with the
driver source, should tell you everything you need to know to set up ALSA.
If you are looking for programming information, it gets at little harder.
There is some documentation HERE
but it is badly outdated.
Stephan 'Jumpy' Bartels <jumpy@furry.de> has started a driver module
documentation project for the .4 driver series. It is intended to provide
guidelines and example code for developing driver modules for new soundcards.
His work can be found HERE
Also bear in mind that ALSA is a work in progress. Things are changing very
rapidly at this time in the project and it is hard to keep up. As ALSA
approaches 1.0, there will be official documentation to the driver, both for
users and developers.
1.13 How can I contribute? What do I need to know?
-People to do ALSA programming,
a) module/soundcard programming (i.e. add new soundcards)
b) MIDI
c) high-level soundcard programming - already done
d) work on mixers and other basic application
-People to port existing applications to ALSA.
-People to document "How to write an ALSA driver"
-People to document the ALSA library
-Driver testers and bug hunters.
Contact Jaroslav (perex@suse.cz) if you want to help, or ask on the development
mailing list.
BACK TO TOP
1.14 What's the "best" card for ALSA?
The developers of ALSA try to stay away from recommending one card or another.
However, it is generally accepted that most PCI cards currently provide better
quality (S/N ratio) than most ISA based cards. Other features that are good to
look for include:
-High Signal to Noise ratio (S/N). 85+db is considered good for most
purposes
-3D effects.
-Onboard MIDI polyphony synth. 64 channels is the norm these days.
-Surround sound support (4 speaker).
Please note that no cards are currently well support for play MIDI via an
onboard synth.
Finally, vendors who support ALSA by providing specs, source, or hardware are
should be commended ...and supported by ALSA's users (hint, hint!). See
question 1.8
1.15 Will ALSA be part of the Linux kernel?
Current plans are to submit ALSA to become part of the official kernel tree, but
this may not happen until the Linux 2.5 development cycle. This is due to the
recent feature freeze announcement by Linus Torvalds, the short development
cycle for Linux 2.4, and the current development changes in ALSA. Linus has
expressed that he wants all development for core linux drivers to be done in
the context of the kernel tree, which may be too slow for this stage of ALSA's
development. However, nothing has been officially decided.
Additionally, ALSA should become the official sound driver of the S.U.S.E. Linux
distribution. Hopefully other Linux vendors will follow.
1.16 How do I report bugs?
ALSA now has a handy bug reporting system available
HERE
You should report any problem that you think may be caused by a bug in the ALSA
drivers. Common things that would identify potential bugs include:
-Sudden sound problems on an existing ALSA installation.
-Problems with OSS apps that work fine under OSS.
-Problems compiling ALSA.
-Problems after updating to a newer ALSA version.
-Installation problems, if you have read the INSTALL document, and are
-sure that everything is properly configured.
-Sound stuttering or other poor performance issues.
When reporting bugs, please make sure you are using a current point release or
a recent CVS version. Versions older than 0.4.1 are no longer supported.
If you are only having problems installing ALSA or aren't sure if your problem
is a bug, please try the mailing lists.
1.17 What sample rates, number of voices, and sample resolutions can ALSA
support?
From Jaroslav Kysela <perex@suse.cz>:
"ALSA is able to drive this hardware:
-Rate limit - 32 bit integer
-Voices limit - 32 bit integer
-Formats [resolution] - up to 32 bit linear or 64 bit float samples"
Unfortunately, ALSA currently doesn't support any DSP or PCM devices that can
take advantage of higher resolutions or sample rates.
BACK TO TOP
--------------------------------------------------------------------------------
Installation
"Yes, many people don't have the sense that God gave geese. They just don't have
both oars in the water. Millions of manhours are spent worrying about the one
chance in six hundred billion that immense man-made objects will fall from the
sky and cream you; meanwhile, thousands of people wander off every year and get
lost in deserted areas. "
-Garrison Keillor, "Be Careful"
2.1 How do I install ALSA
This question is far too big for just a FAQ. Check out the 'INSTALL' file that
comes with the alsa-driver package, or the
ALSA MINI-HOWTO
If you still have problems, ask on the mailing list. (Refer to Q 1.12)
2.2 Does ALSA support kernel 2.X.X?
Support for 2.0.x kernels was removed as of .4. If you must use a 2.0 kernel,
use version .3.x or before of the ALSA driver.
The ALSA supports kernels 2.2.3 and above, with the 2.3 kernels being somewhat
experimental.
2.3 Does ALSA work with kernels compiled with SMP support
Yes. The 'configure' script detects if your kernel is compiled for SMP
operation, and compiles the driver accordingly.
2.4 Does ALSA support ISA PnP cards?
ALSA can configure ISA PnP cards itself, without need of using isapnp and
friends. ALSA needs to be configured with --with-isapnp=yes for isapnp support.
Read the INSTALL document for more information.
BACK TO TOP
2.5 Where can I download ALSA?
The ALSA point-release tarballs may be downloaded from the following places:
Primary site (CZ):
ftp://ftp.alsa-project.org/pub/
http://www.alsa-project.org/alsa/ftp/
US Mirrors
ftp://ftp.silug.org/pub/alsa
ftp://ftp.eecs.umich.edu/pub/linux/alsa
http://bigfoot.eecs.umich.edu/pub/linux/alsa/
Europe Mirrors
ftp://linux.a2000.nl/alsa
ftp://ftp.tu-clausthal.de/pub/linux/alsa
ftp://ftp.phacka.sk/pub/alsa
http://www.phacka.sk/pub/alsa
Australia Mirror
ftp://ftp.suburbia.com.au/pub/alsa
There are three major packages, each in their own subdirectory:
alsa-driver
alsa-lib
alsa-util
You should install all three packages.
2.6 Where can I get current development versions of ALSA.
CVS and Rsync access are available. Check out
HERE
for more information
Daily CVS snapshots are available at ftp://ftp.alsa-project.org/cvsexport.
BACK TO TOP
2.7 When I try to compile ALSA, I get an error. What's wrong?
<INCOMPLETE. This could have many causes. Will add as they come up>
-Read the 'INSTALL' document that is in the alsa-driver tarball. It
contains many suggestions and requirements that ALSA needs to
compile.
-If you get something similar to the following:
<SNIP!>
./configure: syntax error near unexpected token 'AM_INIT_AUTOMAKE(alsa,'
./configure: ./configure: line 525:
'AM_INIT_AUTOMAKE(alsa-lib, 0.3.0.pre5)'
<SNIP!>
then you probably have a RedHat installation that didn't install automake
and/or libtool. Make sure to install the automake and libtool
packages. Check your RedHat CD or a RedHat mirror for these packages.
-If you are using CVS, try deleting your entire CVS tree, and checking
out a new copy of the entire tree. Old CVS files hanging around
have been known to cause problems.
2.8 ALSA seems to load fine, but I get no/choppy sound. What's wrong?
-ALSA by default mutes all outputs. You must unmute at least the Main
volume and the PCM volume to get basic sound.
The following amixer commands should unmute the appropriate mixers:
amixer set Master on
amixer set PCM on
amixer set Master 75%
amixer set PCM 75%
Check Q3.5 below for more information on how to do this automatically.
-You have an ISA card and used poor settings for IOPORT, IRQ, and/or
DMA.
Check your settings man make sure they match the card. If you are using
an ISA PnP card, try setting the IRQ and/or DMA channels to known free
values. If you also have Win95/Win988 installed on the same system with
working sound, you can check the soundcard settings under Control
Panel/System.
See the INSTALL document for more details.
-Make sure to use the last point release (0.4) or the latest CVS
version.
-Some DOS drivers set certain cards into an unusable state for ALSA and
may require a clean boot into Linux.
BACK TO TOP
2.9 Where can I look to get more information about my installed ALSA drivers?
ALSA creates entries in the /proc filesystem under /proc/asound.
2.10 I read that I can use "--with-cards=" configure switch to compile drivers
just for my soundcard. Should I do this?
The '--with-cards=' switch to configure is meant to allow compilation of just
the drivers for a particular sound card.
While it should be working at this moment, '--with-cards-' does break frequently
during the development process. It is recommended that you not use this switch,
unless you know what you are doing, have the current driver working, and are
helping to debug.
If you decide to try --with-cards and it breaks send comment to alsa-devel
list with:
- The exact --with-cards option
- Output of "depmod -ae"
2.11 Any idea, why my XXX soundcard with XXXX can't be detected?
Ville Syrjala <villes@syrjala.pp.sci.fi> writes:
Did you use the snd-card-X (in your case snd-card-fm801) module?
A common mistake is to use the snd-X (in your case snd-fm801) module
which is for the chipset not the whole card.
2.12 With the S3 SonicVibes, I get zero elements in the mixer. Everything
seems to play but I just don't hear it.
The mixer for the S3 SonicVibes has been fixed as of ALSA .4.0.
2.13 I currently have 2 sound cards, 1 PnP ISA card and 1 non-PnP ISA card.
ALSA only seems to detect one of the cards.
You must force the driver to look for a ISA non-PnP card with this
configuration.
In your /etc/conf.modules:
options snd-card-NONPNPCHIPSET snd_isapnp=1,0
BACK TO TOP
2.14 How do I uninstall ALSA?
Under Redhat, and probably other distributions, kernel modules for ALSA are
installed under /lib/modules/kernel.version.number/misc. If you were running
a 2.1.10 kernel, the modules would be under /lib/modules/2.1.10/misc. In this
directory, delete the following files
isapnp.o
persist.o
snd*
Also remove:
/usr/sbin/alsactl
/usr/bin/amixer
/usr/bin/xamixer2
/usr/bin/aplay
/usr/bin/arecord
/usr/bin/alsamixer
/usr/lib/libasound*
That's not quite all of them, but most of the important ones.
2.15 Why won't my ES1373-based soundcard initialize?
Dave Platt <dplatt@snulbug.mtview.ca.us> reports:
"I had quite a few conversations via email with David Sowa at Ensoniq,
ran a boatload of tests, found that the card worked fine in a
different system, swapped cards, and finally learned the answer. Turns
out that there's a hardware bug in one batch of one vendor's codecs,
which causes them to lock up if the PCI reset-line timing is just so.
The ALI chipset in my ASUS motherboard tickled the bug, while the Intel
chipset in my test system at work did not."
2.16 Why when installing ALSA 0.4, do I get an error mentioning 'isapnp'?
Makefile.conf.in in alsa-driver is broken. You can get a new one at
ftp://ftp.alsa-project.org/pub/driver/Makefile.conf.in
BACK TO TOP
--------------------------------------------------------------------------------
Using ALSA
"...Or about the dwarves. All I can say is that they should have been named
Dopey, Sleepy, Slimy, Sleazy, Dirty, Disgusting, and Sexist. The fact is that I
KNEW the apple was poisoned. For me, it was the only way out."
-Garrison Keillor, "My Stepmother, Myself"
3.1 What programs come with the ALSA package?
Currently, the following utilities are installed by alsa-utils:
aplay Simple, native command-line PCM (wav,au,raw,voc) player.
arecord Simple, native command-line PCM recorder.
amixer Native command-line mixer app.
alsamixer Native, curses-based mixer app. (Currently Broken!)
xamixer2 Native, X windows mixer app.
alsactl Saves/restores mixer settings to/from /etc/asound.conf
gamix Native, GTK mixer app.
3.2 What apps have native ALSA support?
For the current list click
HERE
BACK TO TOP
3.3 What OSS programs work well with ALSA?
Almost ALL existing OSS programs work well with ALSA . Only a few programs have
incompatibility problems (listed below) or need features not currently
supported by ALSA, like internal synth support.
In general, if it's not listed below or a MIDI app, it should work fine.
3.4 What OSS programs have problems with ALSA?
-Multitrack 2.3
-Real Player G2 Alpha test for Linux reportedly has problems with some
newer ALSA CVS builds. Recent Real Player G2 Beta works fine.
-Quake, Quakeworld, Quake2, and Quake3 test all require mmap() support.
ALSA provides mmap() for cards that support it, but not all cards
can handle mmap(). This is a design decision by ID software and cannot
be fixed.
3.5 How can I automatically set ALSA's mixer when the drivers load?
If you are using Linux's module autoloader, a way to do this is to use alsactl
and the 'post-install' mechanism of the /etc/conf.modules file. Set the mixer
settings where you want them using amixer or xamixer2. Make sure to un-mute the
'Master' channel and the 'PCM' channel. Type "alsactl store" to create the
/etc/asound.conf file.
Add the following to /etc/conf.modules
<SNIP!>
post-install snd-mixer /usr/sbin/alsactl restore
<SNIP!>
Now, when the ALSA driver modules load, the mixer settings are set immediately
afterward. To change the default mixer settings, simply set them as you like
with xamixer2 or another mixer application, and do another "alsactl store".
BACK TO TOP
3.6 How can I get Multitrack 2.x to work with ALSA?
Multitrack 2.2 has a bug in how it creates its initial config file. From
the Multitrack FAQ:
<SNIP!>
Q. (I get the error) MultiTrack: sem_set() failed : Math result not
representable
A. This is an error message caused by a small bug in MultiTrack version 2.2.
Just edit in the prefs file in the $(HOME)/.multitrack directory the following
two lines:
o_nr_buffers = 0
i_nr_buffers = 0
Change these two lines to:
o_nr_buffers = 10
i_nr_buffers = 10
<SNIP!>
Multitrack also depends on /dev/sndstat for operation. (See 3.7)
3.7 Is /dev/sndstat supported by ALSA?
In the Linux 2.2.x kernel, /dev/sndstat is not accessible by ALSA directly.
However, in /proc/asound there is a OSS compatible sndstat file. To allow
OSS applications to use this sndstat file:
rm /dev/sndstat
ln -s /proc/asound/sndstat /dev/sndstat
3.8 Why does xamixer2 report errors?
xamixer2 reports errors similar to this:
Unable to read element Master Mono! Error: Input/output error.
Unable to read element Headphone! Error: Input/output error.
Unable to read element Master! Error: Input/output error.
This is a cosmetic bug and may be ignored.
BACK TO TOP
3.9 What is 'Hardware Mixing' and does ALSA support it?
"Hardware mixing" is a feature that some soundcards support that allows the card
to receive multiple audio streams and play them all at the same time. This is
done entirely in hardware, and does not adversely affect system performance.
ALSA supports hardware mixing for a few cards, particularly the Trident 4DWave,
in the current CVS.
3.10 Does ALSA support 'Software Mixing'?
Software mixing is not currently done by ALSA, and will probably never be done
by the driver itself. The ALSA developers may support a mixing daemon that may
be accessed via the ALSA API library, but nothing is planned at this time.
3.11 Why doesn't ALSA just use ESounD for software mixing?
ESounD works with ALSA's OSS emulation as is.
However, there are a couple of reasons why ALSA will not adopt ESounD as the
'official' ALSA software mixer:
-The author of ESounD has apparently 'disappeared from the face of the
earth'
-ESounD does not natively support ALSA.
-Many people have questioned the quality of ESounD's mixing.
-Many people have looked at ESounD for inclusion in other projects and
stated that it is pretty difficult to modify . For example, the Gnome
team has stated its intention to write a new ESounD replacement, rather
than deal with the existing code.
-It has not been decided if ALSA will ever 'officially' support a
software sound mixer as a part of the ALSA project.
3.12 What is Full Duplex support?
Full Duplex is a feature that allows a soundcard to play and record at the same
time. This is particularly important for computer telephony applications, and
for 'laying down tracks' in a recording environment.
3.13 Does ALSA support Full Duplex?
ALSA supports full duplex on all hardware that supports full duplex.
BACK TO TOP
3.14 What is the status of MIDI music under ALSA?
A note from Jaroslav, about MIDI development(6/30/99):
"Under heavy development :-) We need probably one or two months to finish it."
One of ALSA's under-construction features is an elegant and professional quality
sequencer subsystem. It is being designed by Frank van der Pol
frank@vande-pol.demon.nl and the specification may be viewed at
http://www.vande-pol.demon.nl/alsa/
Much of the basic sequencer is implemented and works for most raw MPU-401 MIDI
interfaces. The only onboard synth currently working is the EMU-8000 synth on
Creative AWE cards.
For those are impatient, Timidity++ is a software-based MIDI synth that works
quite well with ALSA. It may be found at:
Timidity
3.15 Why does it say TODO? (alsamixer) Is there no support for cs
soundcards yet?
Alsamixer was broken between 0.3.0pre4 and 0.3.1 by API changes to the mixer.
It says this for all soundcards at this time.
3.16 Why doesn't my OSS mixer module load or OSS mixer work?
You may have the BTTV or other Video for Linux driver loaded or compiled in the
kernel. These drivers hook the OSS mixer and do not allow ALSA's OSS mixer
module to work correctly. Hopefully, these drivers will be modified to fix this
situation.
BACK TO TOP
3.17 How do I use amixer?
Amixer is the 800 pound gorilla of command line mixer apps. ALSA has a very
intricate and complex mixer, and amixer reflects this.
However, amixer isn't THAT bad for simple functions like unmuting and setting
volumes on different channels. For unmuting and setting the volume of the
Master and PCM channels to 75%, you would use the following commands:
amixer set Master on
amixer set PCM on
amixer set Master 75%
amixer set PCM 75%
These commands may also be combined:
amixer set Master 75% on
amixer set PCM 75% on
'amixer -h' gives a good overview of the simple commands available in amixer.
3.18 How can I use an external MIDI keyboard to play piano on an internal synth
with ALSA?
Steve Ratcliffe <steve@parabola.demon.co.uk>:
"You can use the midi-thru utility written by Andreas Voss posted to the
list on Jul 06. (I can send you it -- it is really small) Use this to
echo from the midi input port 64:0 to one of the synth ports 65:0.
alsathru -s 64:0 -t 65:0
Alternatively you can use the command
dd if=/proc/asound/0/patch0 bs=2 count=1
which will connect the ports together without the need for a program.
This method is temporary and not guaranteed to work in the future though,
and you will not be able to unload the sound drivers without issuing
the same command with bs=3 instead of bs=2 first."
The 'midi-thru' utility may be found at
HERE
BACK TO TOP
3.19 The documentation for Quake (1)(2)(3 Test) says that I must have a
soundcard and driver that supports mmap. Does ALSA support mmap?
ALSA's OSS emulation supports mmap() when possible. Some older cards,
do not support mmap, due to hardware limitations.
Two notes from Jaroslav:
"Notes:
1) mmap() for the GUS synthesizer playback is ugly (GUS Classic)
2) mmap() for PCI chips from Cirrus Logic (snd-card-cs461x) is not
implemented"
3.20 How do I enable the S/PDIF outputs on my Trident 4Dwave card?
Yuqing Deng <Yuqing_Deng@Brown.Edu> writes:
Here's how I enabled spdif output on my hoontech Trident 4DWave NX card
with alsa 0.4.0 driver.
First I did:
# alsactl store
This extracted the configuration to /etc/asound.conf.
Here's an except of /etc/asound.conf:
------ snip -----
soundcard("card1") {
mixer("SigmaTel STAC9708") {
; The type is 'bool'.
switch("AC97 PCM Output Path", false)
; The type is 'bool'.
switch("Simulated Stereo Enhancement", false)
; The type is 'bool'.
switch("Loudness (bass boost)", false)
; The type is 'bool'.
switch("AC97 Mono Output Select", false)
; The type is 'bool'.
switch("AC97 Second MIC", false)
; The type is 'bool'.
switch("ADC/DAC Loopback", false)
; The type is 'bool'.
switch("S/PDIF Mixer Out", false)
element("Input Gain Switch",0,101,Switch2(off))
; Voice 0 : Min 0 Max 15
; Voice 1 : Min 0 Max 15
---- snip -----
Notice the S/PDIF switch is off. I changed the false to true:
switch("S/PDIF Mixer Out", true)
Then run
#alsactl restore
You'll see the red light shining from the optical S/PDIF output if
you have one.
BACK TO TOP
|