[arch-general] Basic questions about Linux's sound system

Ralf Mardorf silver.bullet at zoho.com
Tue Jan 31 10:43:55 UTC 2017


Hi,

I only replied because your graphic shows "Rosegarden". If you should
use Rosegarden, you should get rid of pulseaudio.

[rocketmouse at archlinux ~]$ pacman -Qi rosegarden | grep Dep
Depends On      : liblrdf  dssi  fftw  lirc  perl  qt5-tools  shared-mime-info  liblo>=0.28
Optional Deps   : lilypond: notation display

Pulseaudio is not good for this kind of task.

ALSA is the only thing required for sound, since it's the layer with
the audio drivers. Pulseaudio needs ALSA, but ALSA doesn't need
pulseaudio. The people responsible for pulseaudio made a lot of noise
when pulseaudio didn't work correctly with ALSA, while ALSA on it's own
worked. It's a "consortium" of coders who cause a lot of trouble, not
only with pulseaudio. Soundservers such as pulseaudio or jackd provide
some comfort. For the desktop I just use the bell (beep of the PC
speaker) and an audio interface for webradio, videos and things like
this. Only for audio productions I'm using a sound server, jackd. You
only need crappy sound servers such as pulseaudio for software that is
bad programmed, AFAIK it's skype or if you want to listen to webradio
and recycle bin crackles at the same time, without using ALSA's dmix.
AFAIK pulseaudio allows you to play a video and a media player at the
same time using different sample rates. In short, without some kind of
"patch bay" only one app could use a single audio device. A sound
server provides the comfort to connect several apps to a single audio
device. From my audio engineer's point of view, everybody who uses
pulseaudio either makes something fundamentally wrong or is a lazy
android who wants to listen to several sound sources at the same time,
without configuring plain ALSA to do it. I doubt that many humans
seriously like to listen to several sound sources at the same time. For
audio productions OTOH it makes sense to have a virtual patch bay that
is real-time capable and in addition easily allows to chose sample rate
and frames, so jackd makes sense for such a task, but even in
this context using pulseaudio still would be counter-productive.

IMO pulseaudio is good for absolutely nothing, but just could be the
cause for serious issues. 

I installed a dummy package, just in case pulseaudio should be a
hard dependency for software, that actually doesn't need it, because I
don't want to rebuild those packages without the pulseaudio requirement.

[rocketmouse at archlinux ~]$ pactree -r pulseaudio
pulseaudio
└─pulseaudio-alsa
  ├─cinnamon-settings-daemon
  │ ├─cinnamon
  │ └─cinnamon-control-center
  │   └─cinnamon
  └─vokoscreen
[rocketmouse at archlinux ~]$ pacman -Qi pulseaudio | head -12
Name            : pulseaudio
Version         : 2013.08.18-1
Description     : Dummy package
Architecture    : any
URL             : None
Licenses        : None
Groups          : None
Provides        : pulseaudio
Depends On      : None
Optional Deps   : None
Required By     : pulseaudio-alsa
Optional For    : fluidsynth  phonon-qt4  phonon-qt5  speech-dispatcher

It's to funny, I never used cinnamon and never used vokoscreen,so I
could remove them. However, in the past I used some software with a hard
dependency to pulseaudio without having pulseaudio installed. Much
likely cinnamon and vokoscreen will work without pulseaudio, too. The
old AUR once provided gnome-settings-daemon-nopulse.

[rocketmouse at archlinux ~]$ ls /var/aur3/gnome-settings-daemon-nopulse/
gnome-settings-daemon.install  PKGBUILD

Regards,
Ralf


More information about the arch-general mailing list