The user cannot select sound card
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pulseaudio (Ubuntu) |
Expired
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: pulseaudio
On systems where there are several sound cards available, pulseaudio seems to choose arbitrary sound card (not default ALSA sound card).
My board has integrated ICH5 and SB Live PCI installed. ALSA is set to use SB Live.
moo@rousku:~$ cat .asoundrc.
# ALSA library configuration file managed by asoundconf(1).
#
# MANUAL CHANGES TO THIS FILE WILL BE OVERWRITTEN!
#
# Manual changes to the ALSA library configuration should be implemented
# by editing the ~/.asoundrc file, not by editing this file.
!defaults.pcm.card Live
defaults.ctl.card Live
I had the following sinks available (clean Ubuntu 8.04 Hardy Heron install).
>>> list-sinks
2 sink(s) available.
index: 0
name: <alsa_output.
driver: <modules/
flags: HW_VOLUME_CTRL LATENCY HARDWARE
state: SUSPENDED
volume: <0: 100% 1: 100%>
mute: <0>
latency: <0 usec>
monitor source: <0>
sample spec: <s16le 2ch 48000Hz>
channel map: <front-
used by: <0>
linked by: <0>
module: <0>
description: <ALSA PCM on front:1 (Intel ICH5) via DMA>
index: 1
name: <alsa_output.
driver: <modules/
flags: HW_VOLUME_CTRL LATENCY HARDWARE
state: SUSPENDED
volume: <0: 32% 1: 32%>
mute: <0>
latency: <0 usec>
monitor source: <2>
sample spec: <s16le 2ch 44100Hz>
channel map: <front-
used by: <0>
linked by: <0>
module: <2>
description: <ALSA PCM on front:0 (ADC Capture/Standard PCM Playback) via DMA>
I want to use sink 1 (my sound card, not the integrated ICH5). However, there is no user interface to choose this anywhere. Preferences > Sounds do not have option to choose PulseAudio sink. For some reason, PulseAudio prefers ICH5. Thus, I cannot play any sounds (except by changing my wiring and using ICH5 plug, but that's not what I want due to suboptimal sound quality).
Workaround:
Edit /etc/pulse/
sudo pico /etc/pulse/
Add line:
set-default-sink alsa_output.
(You can get available sinks with pulseaudio -C and list-sinks commands)
Restart PulseAudio:
sudo /etc/init.
I'm having the same problem, but even the workaround did not work for me in every application. Notably flashplugin-nonfree (with libflashsupport) and gnome-sound- properties PulseAudio test beep (!) still use the wrong sound card. To my knowledge, they use PulseAudio natively.
$ cat ~/.pulse/ default- sink pci_1412_ 1724_sound_ card_0_ alsa_playback_ 0 default. pa | grep default-sink pci_1412_ 1724_sound_ card_0_ alsa_playback_ 0
alsa_output.
$ cat /etc/pulse/
set-default-sink alsa_output.
Both are correct. I think the problem is: pci_10de_ 371_sound_ card_0_ alsa_playback_ 0> pci_1412_ 1724_sound_ card_0_ alsa_playback_ 0>
$ pulseaudio -C
>>> list-sinks
index: 0
name: <alsa_output.
....
index: 1
name: <alsa_output.
....
It seems that PulseAudio has the same age-old problem like ALSA. Applications just use index 0 while they should be fetching the default device. I consider this a bug in PulseAudio because it lets this happen; set-default-sink should either force the device to index 0, or for the very least there should be big warning signs in the documentation for developers.
I've been able to set indices manually in ALSA by editing /etc/modprobe. d/alsa- base, but I haven't found similiar solution to PulseAudio. My workaround for the moment is killall pulseaudio.