PulseAudio is an indispensable part of my Fedora Workstation. While PulseAudio may have detractors, my experience has been all good. Most sound problems I’ve seen come down to one of the following:
- Bad drivers at a lower layer (not PulseAudio’s problem)
- Bad hackery in the distro (ohai *buntu)
- People parroting years-old Internet “wisdom” (does that happen?)
But in a well-integrated system, PulseAudio is awesome. That’s definitely the case with Fedora Workstation. That includes Fedora 22, which is what I’m using now.
Meetingpalooza
I’m attending a number of conference calls this week. Lots of them. The last two days have been eight hours of meetings. For example, today I’m at a Fedora Hubs workshop with fellow community members. I usually use my laptop to attend these conference calls. I use it with a USB headset attached. But having a headset on for that long is uncomfortable.
I also have a desktop computer in my office hooked to a big speaker set. So I use PulseAudio to route sound from my conference calls to those speakers. Now I don’t have to wear a headset to listen in.
I do this using the paprefs and pavucontrol utilities. I find these utilities very useful for more audio control. I can watch and move streams, all though an easy, comfortable GUI.
Thanks for the memory, PulseAudio
But that’s not all!
I was in the conference call, but there were updates available on the desktop computer. I decided to see what happened when I rebooted to get the updates. (Since my laptop was on the call, it wasn’t a problem.) I restarted the desktop, and the sound automatically moved back to the laptop speakers! That was cool — I didn’t lose any of the conference.
But it got better. After updates finished and the system restarted, I logged in. The sound automatically went back to the desktop speaker system! I was really impressed.
PulseAudio can track where audio streams are going, and send them back to the original devices when restarted. I love this feature! I remember the early days of Linux audio. It seemed like every single operation was hit-or-miss. I’m glad I don’t have to mess around with the system at that level anymore. I can just concentrate on my tasks, and things Just Work(tm).
When my mother uses Skype on her old Pentium-4 based laptop (2.6ghz), pulseaudio consumes almost half as much CPU cycles as skype does. However, skype handles video and audio en- and decode, whereas pulseaudio … to be honest … I don’t know where all those cycles are “wasted”.
When I watch movies using gmplayer on my SandyBridge based laptop, the proporition is the same. gmplayer uses only twice the amount of cycles for video/audio decode and display.
When I tried to find the cause on the pulseaudio-mailinglist, I was told this is “normal” and I shouldn’t complain…
@Clemens: Yet on G+ or other products, it’s no problem at all. I’m doing a hangout here and PulseAudio is consuming only a few percent on my laptop. So I believe any conclusion that PulseAudio is at fault is premature. It’s a pity there’s no way to crack open the Skype “black box” to see what the problem really is. I wouldn’t be surprised if they were doing something awful to misuse (or poorly use) the extensive and very well documented PulseAudio API.
I remember once writing a LD_PRELOAD hack to trick Skype into believing PulseAudio was not available (sadly, I can’t find the code anymore). It then used PulseAudio via ALSA and suddenly all my audio glitches disappeared.
Skype doesn’t have direct ALSA support anymore. But the good (to you) news are that others have already written “apulse” which achieves a similar thing, i.e. emulates libpulse api over raw ALSA.
If “skype ? PulseAudio” doesn’t work, but “skype ? ALSA shim ? PulseAudio” works, then how on earth can PulseAudio be at fault?
More than possibly, your problems are due to some (mis/ab)use of PA APIs by skype.
Precisely. It’s easy to hate on PA when (1) the Internet is full of misinformation, and (2) most people aren’t developers who can discern what’s going on.
I have Fedora 22 htpc connected to a 7.1 surround amplifier. This does not work well with pulseaudio (pass-through), which is not too bad, but I wish there was a better way to disable pulseaudio than chmod – x /usr/bin/pulseaudio.
@Kjell: Try this link from the PulseAudio docs.
I really want to know how to do that, because I tried and I just couldn’t figure it out.
the last time I tried pulseaudio was last year and I had to remove it because audio crashed once a day (“pulseaudio -k” didn’t work)… usually I reboot my computer once a month… for me reboot once a day or more is a hassle… so let me try fedora! (cross fingers!)
It’s really impressive how vocal people get when complaining about PulseAudio. Let me just say that I love PA and I don’t even remember the last time it didn’t work. Thanks, Lennart et al!