PipeWire, the next-generation of modern Linux audio and video appears to be coming along nicely and it appears it's ready for wider testing.
Writing in a blog post, Red Hat's Senior Manager for Desktop, Christian F.K. Schaller did a summary of a presentation done by another Red Hatter Wim Taymans. As a quick primer - PipeWire provides a low-latency, graph based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both PulseAudio and JACK and it's made so it can work well with container systems like Flatpak too. PipeWire should also work directly with anything made for ALSA, PulseAudio and JACK - so you shouldn't see breakage with it.
So how is progess? Great by the sound of it. According to the write-up, it's at a stage where PulseAudio, Jack and ALSA backends should be properly usable and close to 100% complete. Which is why they're ready to ask for wider testing, to have a go at using it on your own Linux systems.
They've even written a standalone library that can be used with both PipeWire and PulseAudio to handle ALSA sound card profiles, devices, mixers and UCM (use case manager) used to configure some newer audio chips (like the Lenovo X1 Carbon) which then provides the correct info to audio applications like GNOME Control Center or PulseAudio Volume Control which also means devices names won't change.
All the work going into it sounds quite impressive, and their commitment to have things continue working with what's already in place is great.
More info in the blog post on testing. More info about PipeWire itself here.
Why it's better than Pulseaudio?
pipewire-late-summer-update-2020 (Creating audio sink devices with Jack) PIPEWIRE_PROPS="media.class=Audio/Sink" calfjackhost
I either read it wrong or missed something.
Last edited by joni909 on 7 September 2020 at 11:45 am UTC
Quoting: PatolaSo it's like pulseaudio + gstreamer? I remember redirecting audio and video streams with gst-something back and forth my cellphone with Linux (N900) and my PC many years ago.I've only redirected audio over the network with pulseaudio on my Sailfish phones, but the multimedia framework is based on gstreamer so I guess this might still work. Takes a bit of tinkering though.
Quoting: slaapliedjeStill wish the Sailfish phones came to the US, and my N9 / N900 hadn't been killed off by Nokia. N900 is still my favorite phone I've ever owned.For my current phone I went for the cheapest piece of hardware supported by Sailfish X I could find for sale locally (the Sony Xperia 10), and then bought the OS separately. The phone isn't great but it does the job, and Sailfish is the only mobile OS I can tolerate. Jolla doesn't produce hardware anymore, so Sailfish X is the way to go.
Anyway, this doesn't help you much seeing as the OS is only available in "EU, Norway, Switzerland" according to Jolla's site.
Quoting: liamSo how is progess? Great by the sound of it.
Stealth pun!
Quoting: liamAll the work going into it sounds quite impressive ...
Ouch! It's a one-two PUNch!
Seriously though, mebs this will get my system to sort out my MOBO's Realtek audio ports. Mic is shared with either line-in or side-speaker and using either results in a horrible, noisy connection. (I use a cheap external USB sound-card as a workaround.) Playing with pipe-wire is probs above my skill set at the moment, but I'll be interested to see where it goes.
In the olden days you could only play one audio stream at the time on Linux, because most sound cards only have a single hardware channel. Then ALSA added software mixing with dmix to allow for multiple audio streams. Then there was EsounD and aRts sound servers. Then eventually came PulseAudio.
Whereas nothing much really happened for video. You still can only access your webcam via a single application at the same time.
PipeWire allows things like sharing video sources like webcams, so you can have a video stream going to a conference call while saving it to a file and broadcasting to YouTube at the same time. Maybe apply some fancy effect somewhere in between, because why not?
It also greatly simplifies screen capture, because your window manager can take care of the capture part, because it knows where and what is being rendered, and you just get the video stream as input. No more messing around with X libs, finding the right window, cropping it, etc.
I honestly think that PipeWire is one of the most innovative projects for the Linux desktop at the moment, and definitely deserves attention.
Quoting: LinasIn the olden days you could only play one audio stream at the time on Linux, because most sound cards only have a single hardware channel.
Not sure what "olden days" you're referring to, but it seems to me that the situation for default audio chipsets now is much worse than it was in soundcard days. The old wavetable cards had a whole stack of channels back in the 90s.
I'm hoping pipewire does things right. Pulse has some nice ideas, but a lot of practical issues. The main one is not having enough control over what it does. These sort of systems need a full gui to control it though. I have a setup where one computer connects to my main desktop to play audio. I've set that up maybe two times and as a result I don't remember the details and need to consult the documentation every time.
Quoting: EhvisNot sure what "olden days" you're referring to, but it seems to me that the situation for default audio chipsets now is much worse than it was in soundcard days.Somewhere after dedicated soundcards started losing popularity, and before proper software mixing.
My audio journey on Linux went something like this:
- No sound at all.
- Single stream, reload the driver when playing different bitrates, otherwise crackling sound.
- No more crackling sound.
- Software mixing in ESD, crackling sound is back.
- Proper software mixing with dmix, as long as your asound.conf is configured properly.
- Software mixing by default, no more asound.conf.
- PulseAudio brings per-application volume settings, crashes a lot.
- Most applications do not support PulseAudio. Need to configure ALSA over Pulse or Pulse over ALSA, or maybe both.
- Time goes by.
- PulseAudio works, no configuration needed.
Last edited by Linas on 8 September 2020 at 1:11 pm UTC
See more from me