PulseAudio and sound apps (was: Re: Orphaning a few packages)

Lennart Poettering mzerqung at 0pointer.de
Fri Apr 24 13:43:58 UTC 2009


On Thu, 23.04.09 20:22, Fernando Lopez-Lezcano (nando at ccrma.Stanford.EDU) wrote:

> And Fedora, as of recent (f10?, or was that f9?), makes even _that_
> difficult. The _order_ of the sound cards after a reboot is
> unpredictable and is not repeatable. 
> 
> So the usual way of dealing with the "pro" card within jack does not
> work (ie: on one boot hw:0 could be pointing to the motherboard card, on
> the next boot it could be pointing to the "pro" card). 
> 
> The only fix AFAIK is to add a modprobe.conf that defines the order of
> the cards. Easy, right? (in ancient, less civilized times, the order
> would always be the same, and if you did not like it there would be an
> small app that would let you configure it - that's progress :-)

system-config-soundcard used to write 'stable' card index into a
modprobe fragment. Doing that often broke hotplug however: if you plug
in a card for which no such modprobe.conf fragment exists it will take
up the first available index. If you then plug in a card for which
such an index has been configured it might find the index taken and
hence fails to initialize. We got gazillions of bug reports about
situations like this. s-c-s has been deprecated due to that.

You don't need stable card indexes. Use the card names instead. Just
have a look in /proc/asound/cards and use the names in the
[]. I.e. "front:Intel" instead of "front:0". Or "hw:AudioPCI" instead
of "hw:1" and so on.

Relying on card indexes is simply broken. The same as it would be to
handle network interfaces with ifindexes. It's time people forget
about them.

The card names are based on the card model mostly. For most people
that should be stable enough. Only very few folks have more than once
card of the same model plugged in. There has been some talk at making
those completely as well, similar to how network interface names are
stable. You can rename cards during runtime by writing to a sysfs
file. Unfortunately sound cards usually bear no unique identifier like
the MAC address for network cards and hence doing this is not as
straightforward as it seems. Nonetheless we really should do this
eventually. Would be great if someone could take this up and prepare
patches for udev.

Better still then using the card name is using the hal path or some
udev path/identifier for identifying cards. PA does that.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4




More information about the fedora-devel-list mailing list