How to Remove Pulseaudio in OpenSUSE 11.2 GNOME

Hi All,

If you’ve installed openSUSE 11.2 and are having problems with your audio clicking, popping, stuttering, being delayed, high cpu usage, and freezing up, this thread might be for you.

Background: Audio problems like this are normally caused by a sound server called PulseAudio, which is another layer above the ALSA soundsystem. I’m not exactly sure what PulseAudio is supposed to do, but completely removing it has fixed a variety of problems on my machine, so I wanted to share my method as a resource to others.

Procedure Overview: PulseAudio cannot be simply disabled, it must be removed completely. Especially if using the GNOME desktop, the removal process is not entirely straighforward.

Step 1–Free ALSA from PulseAudio: When PulseAudio is installed with GNOME, the ALSA sound system is configured to output everything through PulseAudio, via the file installed at /etc/asound-pulse.conf. The situation can be remedied by using the following commands (requires root authorization):

Backs up the existing file:

mv /etc/asound-pulse /etc/asound-pulse.bak

I’m not sure if this is really necessary or not, but the following commands will create a new asound-pulse file with sensible default settings; it has been working for me so far.

 cat /usr/bin/asoundrc
#!/bin/bash
# asoundrc v0.1.0 20090101 markc@renta.net GPLv3
# asoundrc v0.2.0 20090320 quatro_por_quatro@yahoo.es GPLv3
#
# A simple script to create a particular default audio device regardless
# of what cards are loaded or in what order. It could be used anytime or
# placed in a ~/.bashrc script for a persistent setup every login.
#
# Usage: asoundrc [DEFAULT_CARD] > ~/.asoundrc

# use the first parameter as the card name, or else
# look for the sound card, discarding those that are only microphones
# when there are multiple cards, use the first one
if default_card="${1:-$(cat "$(for f in $(ls -1 /proc/asound/card[0-9]*/{midi,codec}* 2>/dev/null); do echo "${f%/*}"; done \
| sed -e '\|^\:blank:]\]$|d' -e 'q')/id" 2>/dev/null)}"; then
   echo "Using sound card: ${default_card}" >&2 
   cat /proc/asound/card[0-9]*/id | \
   gawk --assign default_card="${default_card}" \
'{print "pcm."$1" { type hw; card "$1"; }
ctl."$1" { type hw; card "$1"; }" }
END {print "pcm.!default pcm."default_card"
ctl.!default ctl."default_card}'
else
   echo "Warning: No sound cards found." >&2
fi
chmod 755 /usr/bin/asoundrc
asoundrc /etc/asound-pulse

Step 2–Remove PulseAudio and Install a Package Lock: The following commands will remove PulseAudio and lock it so that it is never installed on your system again:

First we will remove all PulseAudio packages, leaving other GNOME packages untouched.

rpm -e --nodeps `rpm -qa | grep pulse`

Next, we will add a lock to all of the PulseAudio packages, which will prevent them from being reinstalled when you do updates or install other packages. You can test if this worked by going into YaST Software Management after adding the lock, and see if it prompts you to install any PulseAudio packages.

zypper al *pulse*

Step 3–Reconfigure Applications to use ALSA: The above setup will work fine for programs that output sound to ALSA directly, but apps such as Gstreamer (Banshee, Totem) and SDL (Sauerbraten, Nexuiz, etc) need to be reconfigured before you’ll have sound. Use the following commands to restore sound to these applications through ALSA:

We will open the GUI where you can change Gstreamer’s output to ALSA. This will enable sounds for applications like Banshee and Totem.

gstreamer-properties

Here, we will edit the gnome startup script to enable sound on SDL apps like Sauerbraten, and a few others, mostly games. Scroll to the bottom of the file (line 101 in my file) and edit the line “export SDL_AUDIODRIVER=pulse” to “export SDL_AUDIODRIVER=dsp”. I’m not sure why this works, (“dsp” is generally an OSS thing) but it was the only way I could get sound on these apps.

vi /usr/bin/gnome

Now log out and log back in, or do init 3 followed by init 5, or reboot, and everything should be working.

I did the above steps and now sound is (hopefully) working as expected on my machine; I just got it working last night so hopefully there are no other problems. Please post any improvements or simplifications to this method… hopefully we can save somebody the six hours of research and trial-and-error it took me to find a workable solution.

it works here but you could probably simply remove the package in yast?

or simply unchek ‘pulseaudio’ in the audio configuration during setup.

mik334 wrote:
> it works here but you could probably simply remove the package in yast?

yep, i’m surprised in in his “six hours of research and
trial-and-error” that Johnny didn’t find several post here that i’ve
made in the last year saying (in response to a wide variety of sound
problems) “Have you tried uninstalling pulseaudio in YaST?”


palladium

you should mention this in the x-plane.org forum. There’s a debate going on about pulseaudio for months.

mik334 wrote:
> you should mention this in the x-plane.org forum. There’s a debate going
> on about pulseaudio for months.

i’m not much of a gamer…and, since i’m a real supersonic jet pilot
i wouldn’t be much interested in X-Plane…wow, i just went to the
site (first time) and see it COST “Only $29”…what a rip…that is
like ten or fifteen minutes of wages…

but, you have my permission to reference this thread:

http://forums.opensuse.org/showthread.php?t=432053

or any of the others i mentioned deleting pulse solve all my
problems…and, by the way: did you know that 11.2 doesn’t by use
pulseaudio by default! so . . .


palladium

Read the procedure before commenting.

  1. As stated in the OP, unchecking the “disable pulseaudio” box in Yast did not resolve my problems.

  2. Pulseaudio is a dependency of GNOME, therefore you must install it with a new setup.

  3. Pulseaudio is a dependency of GNOME, therefored trying to unistall it with YaST will result in the removal of your desktop. Try it.

  4. As stated in the OP, additional configuration needed to get sound working with Gstreamer and SDL.

Read the post before commenting. Know what you are talking about before commenting. Only comment if you have something useful to say. Thank you.
I was hoping that somebody would acutally appreciate this write-up, the method has solved my sound problems completely.

> I was hoping that somebody would acutally appreciate this write-up, the
> method has solved my sound problems completely.

then consider submitting it to the forum specficially for such
http://forums.opensuse.org/new-user-how-faq-read-only/unreviewed-how-faq/

ps: i was completely unaware that Pulseaudio is an integral and
dependent part of Gnome, please accept my apology–another good reason
to use KDE…


palladium

Excellent stuff johnny-5.

I kicked off the thread “Pulseaudio must die!” on here some months ago, and since then have stuck with openSUSE 11.1 because I’d heard that pulse was tied to Gnome in 11.2.

Your workaround seems to be the way forward.

consider submitting it to the forum specficially for such

Good idea, I didn’t see the subforum for “Advanced How-to” before (I wouldn’t recommend a new user rip out PulseAudio). I’ll move this into that forum when this method is more complete. Specifically, the /etc/asound-pulse and the gstreamer steps maybe can be omitted, or can be improved upon… I’m not sure, not an ALSA expert.

My sound setup is finally working, so I’m going to leave it alone for the time being.

What did you say about knowing what you are talking about before commenting ? :wink:

Nevermind. But instead of telling us how we should behave and whether our posts are useful or not in your opinion, did you ever try to install the Gnome Desktop and unckeck ‘pulseaudio’ in the audio settings during the installation (not later in YaST!) ?

It would seem logical that in such a case, alsa would be setup not to redirect sound output to pulse (or to nowhere in case a connection to the pulse server failed). And if it works, that would be a really helpful information.

BTW I don’t like pulseaudio either. But who does like it?

please-try-again => Please accept my apologies, I was frustrated that it took me so long to get my audio working, and I felt my work was intentionally being trivialized by some of the initial comments. As far as your idea about initial configuration, I use OpenSUSE as my primary computer, so reinstalling the OS is not an option. Maybe someone can throw 11.2 in a VM and test this out? It would definitely be useful info.

Again, I apologize about the “know what you are talking about”, etc comments, if we all knew what we were talking about, then nobody would be here. I looked for ways to edit the post, but didn’t find any.

KJ44 => Thank you so much for your “PulseAudio Must Die” post, without it I never would have found the random environment variable being set in /usr/bin/gnome … crazy stuff.

Everyone Else => I have confirmed the /etc/asound-pulse file generation part is not needed, you can just commend out the whole file for the same effect.

Also I have my own feelings about the recent “new direction” of GNOME, with PulseAudio, MONO, and GNOME Shell, but I’ll save those for the soapbox–people need their audio working first.

Note that pulseaudio seems to bother only alsa and not other sound ouputs.
If pulseaudio doesn’t work, because you didn’t start the daemon (it happens when you start another wm than Gnome) or you kill the daemon (using pulseaudio --kill), or you are not allowed to access the server (you are not member of the pulse-access group) or for whatever reason, you won’t be able to output to alsa either (under openSUSE. Ubuntu will redirect to alsa directly in case a connection to the pulse server fails). However you can still use oss as sound output.

Example: After killing the pulseaudio daemon (pulseaudio --kill)

mplayer -ao pulse (which is the default) and mplayer -ao alsa both end up in a Connection refused error from pulseaudio :
[AO_ALSA] alsa-lib: pulse.c:229: (pulse_connect) PulseAudio: Unable to connect: Connection refused

However mplayer -ao oss still works :
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)

Setting mplayer default sound to oss will guaranty sound to this program whether pulseaudio is installed or not, running or not. But not all applications can use oss or let you choose the sound ouput.

I had olso problems with PulseAudio and Gnome, in other distro… the problem is that PulseAudio has very deep roots into Gnome.

my sound problems got resolved with bug fixes…

did your problem got resolved?

just installed the latest round of updates… there was some update to gnome/alsa/??? that caused my sound system to choke because /etc/asound-pulse.conf was not present.

No problem, just ran

asoundrc > /etc/asound-pulse.conf

like I posted before, and it is working again–so you do need the file now.

pulseaudio pwns.

Just in case anyone runs across this thread in future searches…

This method ended up not working for me. The updates a few weeks ago caused all sorts of bizarre issues, such as the asound-pulse file being deleted and reappearing, output direct to ALSA being broken for some programs, and a few other things which I thankfully have forgotten about.

Back to Windows for that computer, sound is working fine now (wasn’t the Soundblaster card). Oh well, sound was nice while it lasted, serves me right for installing bugfix/security updates.

Perhaps sometime I’ll look into OSS; it looks quite promising, and has per-application volume control just like PA… and there might be a chance that it actually works.