[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
playground:patest [2015/05/26 22:22 (UTC)] – removing fsleg | playground:patest [Unknown date] (current) – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | PulseAudio is a sound server running on top of some other sound system, usually ALSA. The original purpose was to get software mixing and transmit sound over network. Now PulseAudio is more than that, but it came at cost of increased complexity, which is not very good, considering the Linux sound system is already overly complex. But despite that the sound server is widely used by most Linux distributions. Slackware is not one of them because of its KISS principle and the fact that ALSA does its job fairly well in majority of cases. However, there are some programs (cough, Skype v4.3+, cough) that require PulseAudio in order to have working sound. There is a project called [[https:// | ||
- | ====== Installation ====== | ||
- | |||
- | SlackBuilds.org is a great place to obtain packages missing on the stock system. Luckily for us, it has [[http:// | ||
- | |||
- | Besides PulseAudio itself, you'll need alsa-plugins in order to get sound from non-pulse applications. Also, '' | ||
- | |||
- | You can build the packages either directly using SBo, or using '' | ||
- | |||
- | You can also use pre-compiled packages in order to install all necessary applications, | ||
- | |||
- | <note important> | ||
- | |||
- | ===== Installation on a x86 or pure x86_64 system ===== | ||
- | |||
- | This part used to be as easy as " | ||
- | |||
- | Other than that the installation part is pretty straightforward and SlackBuilds work perfectly. | ||
- | |||
- | For pavucontrol you need to resolve more dependencies, | ||
- | |||
- | ===== Installation on a x86_64 multilib system ===== | ||
- | |||
- | Here I'll assume you know how to set up a multilib system and how to build 32bit packages on it. In case you don't, read [[slackware: | ||
- | |||
- | If you want 32bit applications (like Skype) on a multilib system to have sound through PulseAudio, you'll have to build compat32 package. And this is where things get complicated and manual intervention is needed. | ||
- | |||
- | First, install 64bit package of PulseAudio as described above. | ||
- | |||
- | Second, you need to compile 32bit package. Unfortunately, | ||
- | |||
- | PKG_CONFIG_PATH=/ | ||
- | |||
- | This will force PA to use the correct libraries and allow it to compile. Make compat32 package and install it. You don't need 32bit alsa-plugins or pavucontrol. | ||
- | |||
- | ====== Using PulseAudio ====== | ||
- | |||
- | Actually, it's difficult to //not// use it, because it just keeps spawning. If you want to use PulseAudio exclusively as you sound server, then that's fine. If not, I'll cover what to do a bit later. | ||
- | |||
- | ===== PulseAudio as the main sound system ===== | ||
- | |||
- | All you need to do now it just create ''/ | ||
- | |||
- | pcm.pulse { | ||
- | type pulse | ||
- | } | ||
- | | ||
- | ctl.pulse { | ||
- | type pulse | ||
- | } | ||
- | | ||
- | pcm.!default { | ||
- | type pulse | ||
- | } | ||
- | | ||
- | ctl.!default { | ||
- | type pulse | ||
- | } | ||
- | |||
- | That' | ||
- | |||
- | ===== PulseAudio as an additional sound system ===== | ||
- | |||
- | It is possible to have PulseAudio not use ALSA exclusively for itself. For that you'll need to comment out all strings about udev in '' | ||
- | |||
- | If you are annoyed by PA constantly spawning, define '' | ||
- | |||
- | The downside of this approach is that you are limited to only one device at a time, while udev allows PulseAudio to use all sound devices it finds. You'll have to configure your devices manually through ALSA's asoundrc config file. | ||
- | |||
- | In case of sound capturing, you have two options. First, use '' | ||
- | |||
- | When using PA as an additional sound system, you'll need to choose it as an output sound device in applications you want to use PA, while other will use the default sound system. | ||
- | |||
- | ===== Starting PulseAudio ===== | ||
- | |||
- | XDG-compliant DEs will start PulseAudio automatically thanks to ''/ | ||
- | |||
- | In case you aren't using those, you can use '' | ||
- | |||
- | ===== PulseAudio in Xfce ===== | ||
- | |||
- | If you use PA as the default sound system, everything will work just fine, except the multimedia keys. For them to work correctly, install [[http:// | ||
- | |||
- | ===== PulseAudio in KDE ===== | ||
- | |||
- | KDE uses GStreamer to play sound. ALSA applications will work fine, as they' | ||
- | |||
- | While '' | ||
- | |||
- | Gstreamer applications will try to use ALSA, which re-routes the sound to PA, but in some rare cases it may not work. For them to use PA directly, you'll need to rebuild '' | ||
- | |||
- | ===== PulseAudio mixers ===== | ||
- | |||
- | The main mixer for PulseAudio is '' | ||
- | |||
- | In case you are running PA as your main sound system and set up '' | ||
- | |||
- | If you like CLI commands, there' | ||
- | |||
- | Speaking of '' | ||
- | |||
- | pactl set-sink-volume 0 +5% #raise the main sink's volume by 5% | ||
- | pactl -- set-sink-volume 0 -5% #lower the main sink's volume by 5%; notice the " | ||
- | pactl sit-sink-mute 0 toggle # | ||
- | |||
- | For more commands and options see '' | ||
- | |||
- | By the way, by default PA also installs bash completion script, which may come in very handy when using '' | ||
- | |||
- | <!-- | ||
- | |||
- | TODO: | ||
- | |||
- | * Add something about other PA-related tools like `pamon`, `paprefs` etc. | ||
- | * Read about dsnoop myself. Maybe it's a bogus advice to use it. | ||
- | * Test per-user daemons on a multiuser setup. Maybe PA needs to be run system-wide for it to work. | ||
- | |||
- | Changelog: | ||
- | |||
- | 2015-05-13: | ||
- | * published the base on my blog | ||
- | |||
- | 2015-05-14: | ||
- | * Added link to statically built Skype | ||
- | * Added info about mixers | ||
- | * Added some info about starting PA | ||
- | |||
- | 2015-05-16: | ||
- | * Added information about using PA in Xfce. | ||
- | * Added information about using PA in KDE. | ||
- | * Added a solution to make alsa-plugins compile. | ||
- | * Tried to test multiuser setup. Didn’t work (the setup, not PA). It should work anyway as long as each user logs out before another one logs in. | ||
- | |||
- | 2015-05-27: | ||
- | * Changed markup from Markdown to DokuWiki style, published the article to SlackDocs playground to see how it looks | ||
- | --> |