Site search

October 2009
« Sep   Nov »



Pulseaudio – this battle maybe won but the war lingers on

Pulseaudio seems to cause many, many problems for a lot of people. Unfortunately that’s partly the nature of audio applications on Linux. Let me explain. Only one program can talk to the soundcard at once – so you can either listen to OGGs/MP3s or get IM “ping”s, but not both. Obviously this is a tad poor so software mixers (like esd and artsd) were born, they then talk to the soundcard and you talk to them. LWN has a nice [ writeup].

This has been going on for a large number of years now, never seeming to be resolved. The latest upstart (pun intended) is Pulseaudio and so it bears the bulk of complaints.

Today my sound stopped working – I only saw “Dummy output” “No cards detected”. Thanks to Alan Pope for assisting debugging this, (basically killing pulseaudio then running “pulseaudio -vvvv” helped to see what the problem was). This is best described in [ #549001] – in my case it wasn’t just the HAL->udev transition but the CONFIG_SYSFS_DEPRECATED setting that Rupert Swarbrick mentioned. It’s very unusual for deprecated settings to cause problems, but this one does (it causes issues with another program, but I forget which).

I’ve rebuilt my kernel without CONFIG_SYSFS_DEPRECATED and it’s working nicely once again. As a bonus I can try out [ KSM] for better virtualisation performance.


Comment from henkie
Time: Saturday 24 October, 2009, 21:35

So is CONFIG_SYSFS_DEPRECATED going to be disabled in the kernel of the final Ubuntu 9.10 release? Any easy instructions on how to do this? I know about make-kpkg, but I’m not sure what parameters I should pass when invoking it.

Comment from adrian
Time: Sunday 25 October, 2009, 08:44

I’m not sure TBH, I was using my own kernel (on Debian). I presume that it will be disabled since it does break things.

Before running make-kpkg, there should be a .config file in the kernel source tree, use “make menuconfig” or “make xconfig” – that will bring up all the kernel options, if you hunt around you’ll find something which matches CONFIG_SYSFS_DEPRECATED – so unselect that. Then use make-kpkg as normal.