Just for learning sake, I’ve been reading about audio processing. I understand that ALSA takes care of the hardware interface either with onboard audio or sound card. Apparently ALSA can be used alone from front to back, but there are advantages to having an audio server sitting between the ALSA coming in and out or between other audio sources and sinks. The advantages of the audio server seems to be that it can do various redirect, multi-direct, and modify operation on audio data streams. Apparently there are two predominate choices of audio server in Fedora (PulseAudio and Jack). On this machine PulseAudio is installed, but there is also one package of Jack (jack-audio-connection-kit). I have three non-default installed audio applications on this machine (audacious, audacity, and mscore). I suspected that one of these wanted Jack, but I could not find where any of these depend on Jack; so I’m guessing that the Jack package is installed by default.
Since they do the same function do PulseAudio and Jack co-exist well? What determines which one gets used?
I’ve read that sometime in the future that pipewire will take over this server function from PulseAudio and Jack. PulseAudio seems to be the one intended for ordinary users and Jack seems to be the one for sound studio type users.
Will pipewire be able to serve the needs of both ordinary users and advanced audio users?
Have I misunderstood something? If so, please provide clues or links to reading material.
I use Pulse Audio, and I have found it to be quite advanced, after installing a few plug-ins, such as Pulse Effects and Calf Studio. Otherwise, I agree with most of what you said. I think you should use either Pulse Audio or Jack, but not both. I may be wrong, though, as I have never tried Jack.
I didn’t install the Jack package. It either was part of the Fedora 32 default install, or another application wanted it. When I check processes PulseAudio is running, but Jack is not. I just monitored processes while I ran the three audio related applications mentioned above to see if Jack starts up. Jack did not show up in processes. So I’m still wondering how and why Jack is installed on this machine,
so I see there are several things I’m using that depend on this part of Jack. Since I’m not having any audio problems I guess that at least this much of Jack can play nicely with PulseAudio
In the mean time, Does anyone have info on what the pipewire audio server’s planned capabilities will be, or when it will be in Fedora?
I’m guessing by the titles of these that implementation in the audio applications will be mostly the same calls as used when the applications are using the non-pipewire versions of pulseaudio etc. So it seems like Jack, PulseAudio, etc may be replaced by pipewire some time, but the replacements will still carry the names and probably operate much (if not completely) like the packages being replaced.
As discussed in the last link, I could not install pipewire-pulseaudio on Fedora 33 (perhaps it would work on rawhide? I didn’t test it).
The manual symlinks will work, but I’d rather avoid fiddling with symlinks.
Did anybody manage to install pipewire-pulseaudio somehow?
Finally I managed to install pipewire-pulseaudio on Fedora 33. I guess some recent update fixed the conflicts:
$ sudo dnf --allowerasing install pipewire-pulseaudio.x86_64
Last metadata expiration check: 2:15:18 ago on Sat Jan 2 22:09:40 2021.
Dependencies resolved.
======================================================================================================================
Package Architecture Version Repository Size
======================================================================================================================
Installing:
pipewire-pulseaudio x86_64 0.3.18-1.fc33 updates 14 k
Removing dependent packages:
alsa-plugins-pulseaudio x86_64 1.2.2-3.fc33 @anaconda 121 k
paprefs x86_64 1.1-7.fc33 @fedora 260 k
pulseaudio x86_64 14.0-2.fc33 @updates 4.0 M
pulseaudio-module-bluetooth x86_64 14.0-2.fc33 @updates 231 k
pulseaudio-module-gsettings x86_64 14.0-2.fc33 @updates 51 k
pulseaudio-module-x11 x86_64 14.0-2.fc33 @updates 78 k
After rebooting:
$ pactl info | grep 'Server Name'
Server Name: PulseAudio (on PipeWire 0.3.18)
But no sound.
The systemd units are installed at user level:
$ systemctl --user status pipewire.service
* pipewire.service - Multimedia Service
Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; vendor preset: disabled)
Drop-In: /usr/lib/systemd/user/pipewire.service.d
`-00-uresourced.conf
Active: active (running) since Sun 2021-01-03 00:34:03 CET; 4min 12s ago
TriggeredBy: * pipewire.socket
Main PID: 1517 (pipewire)
Tasks: 4 (limit: 8972)
Memory: 3.5M
CPU: 722ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
|-1517 /usr/bin/pipewire
`-1530 /usr/bin/pipewire-media-session
Jan 03 00:35:55 localhost.localdomain pipewire-media-session[1530]: no node found for 39
Jan 03 00:35:55 localhost.localdomain pipewire-media-session[1530]: no node found for 40
Jan 03 00:36:22 localhost.localdomain pipewire-media-session[1530]: no node found for 39
Jan 03 00:36:22 localhost.localdomain pipewire-media-session[1530]: no node found for 40
Jan 03 00:36:22 localhost.localdomain pipewire-media-session[1530]: no node found for 39
Jan 03 00:36:22 localhost.localdomain pipewire-media-session[1530]: no node found for 40
Jan 03 00:36:38 localhost.localdomain pipewire-media-session[1530]: no node found for 39
Jan 03 00:36:38 localhost.localdomain pipewire-media-session[1530]: no node found for 40
Jan 03 00:36:38 localhost.localdomain pipewire-media-session[1530]: no node found for 39
Jan 03 00:36:38 localhost.localdomain pipewire-media-session[1530]: no node found for 40
Thank you for the update. My previous test are using the copr nightly build repo of pipewire audio. It works on a static setup, but problematic when bluetooth speakers / headsets are connected and disconnected.
On my Vostro 3350 notebook, I just did after seeing your post:
sudo dnf update
sudo dnf install --allowerasing pipewire-pulseaudio
systemctl reboot