[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: speaker-test: no correct sound output on LFE and others speakers



Hi,

> > My understanding is that pulseaudio uses alsa for kernel interface and
> > that speaker-test uses alsa directly. So if one cannot get speaker-test
> > to sound right, it cannot work with pulseaudio. That why I suggest workarounds
> > in alsa conf (asoundrc).
> 
> I tried several configurations of ~/.asoundrc in these days but nothing
> works with "speaker-test". Well some configurations let "aplay" to use
> rear-left, rear-right, front-center speakers but "speaker-test" never sends
> sound to front-center, rear-left, rear-right and LFE with this command:
> [...]
> Just now, checking the ALSA configuration in /etc/alsa/conf.d/ I found the
> 99-pulse.conf file:
> 
> ~# cat /etc/alsa/conf.d/99-pulse.conf
> # PulseAudio alsa plugin configuration file to set the pulseaudio plugin as
> # default output for applications using alsa when pulseaudio is running.
> [...]
> 
> Does Debian use Pulseaudio daemon as default output for ALSA applications?
> Could it be a Pulseaudio misconfiguration? Should I try to uninstall it or
> how can I stop Pulseaudio? If I do "killall pulseaudio" it re-spawns
> immediately and "systemctl" doesn't work:

My hypothesis: speaker-test outputs directly to ALSA (kernel) but ALSA redirects
to pulseaudio (the 99-pulse.conf file) and pulseaudio Output profile is stereo.
Therefore, pulseaudio downmixes 5.1 to stereo. That would explain why only
front-left and front-right output sound.

To confirm, you can either:
- move away that 99-pulse.conf file so that speaker-test use directly and only
  ALSA
- configure pulseaudio output profile for surround5.1 (you can use command line
  $ pacmd set-card-profile 0 output:output:analog-surround-51 or
  pavucontrol (graphical)

> ~# systemctl stop pulseaudio
> Failed to stop pulseaudio.service: Unit pulseaudio.service not loaded.

pulseaudio is usually a *user* service and socket activated (starts automatically
if some app wants to use it). To stop it, the following should work:
$ systemctl --user stop pulseaudio.socket  # stop the socket to prevent auto start
$ systemctl --user stop pulseaudio.service # stop the daemon

Cheers,

Alex


Reply to: