[clug] Sound Preferences Hardware Output

Hal Ashburner hal at ashburner.info
Sun Mar 4 18:50:11 MST 2012


Hey CLUG,

Anyone know the magic I need to make ubu (debian with such nice polish it's
worth wrecking the major comunity distro for the shiny) 11.10 keep my sound
preferences between reboots?

My onboard usb sound card (Cmedia CM6501) basically only works if it's set
to 7.1 output. (Front L&R speakers don't work at all - don't care much I
can't be bothered to hack driver, the hardware has always been problematic,
but basically workable). This means as it resets itself to stereo from 71.
on each reboot I get no sound. As soon as I open sound preferences and set
to 7.1 again it works like magic, I just want that setting to stick. (I
turn this machine on without its monitor to listen to music, and Mrs Hal
uses the machine to watch movies and dvds of tv series and the very, very,
ultra-uber-cool Al-Jazeera plugin available on xbmc - which exacerbates
 the annoyance)

Relevant stuff I've examined:

in $HOME/.pulse/
dc2a9c3aebe602c2197a290b00000007-default-sink
dc2a9c3aebe602c2197a290b00000007-default-source

(where aside, I give thanks for shell globbing and tab completion for that
horror and wonder how hard it would have been to put the magic number after
the human readable identifier rather than prepend all files with it - it's
the little things that attract to you to contributing to a project ... )

respectively contain

alsa_output.usb-0d8c_PnP_Audio_Device-00-Device.analog-surround-71
alsa_output.usb-0d8c_PnP_Audio_Device-00-Device.analog-surround-71.monitor


this
c2a9c3aebe602c2197a290b00000007-runtime -> /tmp/pulse-1aeL5jtfh2fq
is a symlink to nothing...


~pulse/
has no .pulse/ directory

~mpd/.pulse
has no *default-sink or *-default-source
but the *-runtime simlink IS valid unlike in the logged in users' home dir.

I can't find anything obvious in /etc/pulse/*

syslog is full of pulseaudio screeching and grinding as it always is
anytime pulse is a part of this (any?) system, none of this looks
interesting to my problem

sample
Mar  5 11:16:40 lighthouse pulseaudio[1520]: [pulseaudio] x11wrap.c:
XOpenDisplay() failed
Mar  5 11:16:40 lighthouse pulseaudio[1520]: [pulseaudio] module.c: Failed
to load module "module-x11-publish" (argument: "display=:0"):
initialization failed.

---reboot

Mar  5 11:37:35 lighthouse pulseaudio[1537]: [pulseaudio] reserve-wrap.c:
Unable to contact D-Bus session bus:
org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon
without a $DISPLAY for X11
...
Mar  5 11:37:35 lighthouse pulseaudio[1537]: [pulseaudio] alsa-util.c:
snd_pcm_hw_params_set_channels(1) failed: Invalid argument
Mar  5 11:37:35 lighthouse pulseaudio[1537]: [pulseaudio] alsa-util.c:
Failed to set hardware parameters on plug:hw:0: Invalid argument
...
Mar  5 11:37:36 lighthouse pulseaudio[1534]: [pulseaudio] main.c: Daemon
startup failed.

---reboot

Mar  5 11:49:19 lighthouse pulseaudio[7742]: [alsa-sink] alsa-sink.c: ALSA
woke us up to write new data to the device, but there was actually nothing
to write!
Mar  5 11:49:19 lighthouse pulseaudio[7742]: [alsa-sink] alsa-sink.c: Most
likely this is a bug in the ALSA driver 'snd_usb_audio'. Please report this
issue to
the ALSA developers.
Mar  5 11:49:19 lighthouse pulseaudio[7742]: [alsa-sink] alsa-sink.c: We
were woken up with POLLOUT set -- however a subsequent snd_pcm_avail()
returned 0 or another value < min_avail.


sudo alsa force-reload
seems to make sound work
and deletes the contents of $HOME/.pulse other than the simlink, which is
fixed and another ubuntu-runtime added pointing at the same target as
{magicnumber}-runtime

Anyone got a better idea than to just go with this? ie add something to
sudoers such that sudo alsa force-reload is executed on boot via the users'
crontab
(Not entirely sure that will work unless a delay is built in to it to make
sure pulse has done all its clobbering first - building in a delay is just
eww).


Via wikipedia:
PulseAudio developer Lennart
Poettering<http://en.wikipedia.org/wiki/Lennart_Poettering> described
it as "the software that currently breaks your audio"
BUT on the flipside
Hands up who loves the feature where you automatically discover computers
on your network and play sound through the discovered machines soundcards
and speakers? What about combining more than one sound card seamlessly and
presenting the joined entity to the system? Are we paying for this kind
generalisation or did we get it free? Is it possible that this kind of
abstraction belongs somewhere else, like, perhaps not at all on the
overwhelming majority of pulseaudio users' machines? Those that do could,
you know install something that opens a network socket and sends packets to
the soundcard if they have that use?

If I'm missing this, do please give me the heads up.

Godfrey Van Der Linden of OSX IOKit & IOAudio fame
http://www.cse.unsw.edu.au/~cs9242/10/lectures/09-OSXAudio.pdf
is sometimes less than completely complimentary about linux sound. I argue
the toss with him (from a position of a certain amount of ignorance, what
are friends for after all)  And now I'm looking at the above ... Yeah yeah,
linux deals with every hardware known to man woman and beast where as OSX
knows what's on board. Not quite true for audio though, given its use in
recording studios and so on...


More information about the linux mailing list