I've been fiddling with #PipeWire and WirePlumber, #Linux's latest #audio system, trying to make my sound more reliable.
-
@akkana
I love Linux, have used it for at least 25 years. But I admit they have not done a good job developing a decent sound system. I'd guess it's because of the large variance in sound cards and virtually none of them designed primarily for Linux. -
@akkana
I love Linux, have used it for at least 25 years. But I admit they have not done a good job developing a decent sound system. I'd guess it's because of the large variance in sound cards and virtually none of them designed primarily for Linux.@stargazersmith That's part of it, but a bigger part is people in major distros who insist on introducing something new and shiny and forcing it on everyone.
PulseAudio was crap when it was first forced on everyone. But over the years, they finally got it working really well. And once it was finally working well -- they added the untested and buggy PipeWire on top of it, so now sound is broken again, for who knows how many more years.
-
@stargazersmith That's part of it, but a bigger part is people in major distros who insist on introducing something new and shiny and forcing it on everyone.
PulseAudio was crap when it was first forced on everyone. But over the years, they finally got it working really well. And once it was finally working well -- they added the untested and buggy PipeWire on top of it, so now sound is broken again, for who knows how many more years.
@akkana @stargazersmith Pipewire was not added "on top of" pulseaudio.
Pipewire is a reimplementation of: pulseaudio server, pulseaudio API for clients, JACK server, JACK API for clients, plus video streaming, ALSA pseudo-devices and much more.
It unifies both desktop apps using audio, and pro-audio/music creation apps, with a single server. It does more than the audio APIs on other platforms, lots more.
I do find that the configuration side of it is still a bit of nightmare.
-
@akkana
I love Linux, have used it for at least 25 years. But I admit they have not done a good job developing a decent sound system. I'd guess it's because of the large variance in sound cards and virtually none of them designed primarily for Linux.@stargazersmith @akkana it isn't the variance in soundcards. It's the variance in the style of APIs and application needs, plus (most importantly) the inability of anyone in Linux-land to wield a big stick.
When Apple dropped their old (classic macOS) audio APIs for CoreAudio, they just told developers "this is how it's going to be".
Nobody has the power to do that on Linux.
So we developed desktop-style audio APIs like pulseaudio, and pro-audio/music creations APIs like JACK.
-
@akkana @stargazersmith Pipewire was not added "on top of" pulseaudio.
Pipewire is a reimplementation of: pulseaudio server, pulseaudio API for clients, JACK server, JACK API for clients, plus video streaming, ALSA pseudo-devices and much more.
It unifies both desktop apps using audio, and pro-audio/music creation apps, with a single server. It does more than the audio APIs on other platforms, lots more.
I do find that the configuration side of it is still a bit of nightmare.
@PaulDavisTheFirst @stargazersmith Okay. I admit I've been confused by the relationship between them. For instance, as far as I could glean from web searches, the only way to get a GUI to look at the current PipeWire setup was to use pavucontrol, the PulseAudio tool, and to do much with the commandline required pactl, both of which required installing pipewire-pulse, some kind of compatibility layer between PW and PA. So the PA layer seems like a separate thing.
-
@PaulDavisTheFirst @stargazersmith Okay. I admit I've been confused by the relationship between them. For instance, as far as I could glean from web searches, the only way to get a GUI to look at the current PipeWire setup was to use pavucontrol, the PulseAudio tool, and to do much with the commandline required pactl, both of which required installing pipewire-pulse, some kind of compatibility layer between PW and PA. So the PA layer seems like a separate thing.
@akkana @stargazersmith as i said, pipewire *implements* the pulseaudio API so tools that worked with PA work with PW, but that is done (like most things in PW) via a module. The main tool that has carried over is, as you've noticed, pavucontrol, i think mostly because people didn't think it was worth reimplementing. PW comes with its own better/more focused tools for other kinds of control, and some good patching tools (helvum, qpwgraph). There are several cmd lines tool for PW, notably pw-cli.
-
@stargazersmith That's part of it, but a bigger part is people in major distros who insist on introducing something new and shiny and forcing it on everyone.
PulseAudio was crap when it was first forced on everyone. But over the years, they finally got it working really well. And once it was finally working well -- they added the untested and buggy PipeWire on top of it, so now sound is broken again, for who knows how many more years.
@akkana @stargazersmith During the second half of 2025, syslog's contents were mostly pipewire errors. That was particularly annoying because they obscured the more serious USB/PCIe power-related problems mentioned earlier.
-
R relay@relay.mycrowd.ca shared this topic