Live data from Hacker News

PipeWire: A year in review and a look ahead

collabora.com

31–40 of 125 posts

Re: PipeWire: A year in review and a look ahead

#31
post #2

I recently made the switch in NixOS and found it pretty painless. Can't get my mic to work in Firefox though, and the other day I was looking through the manual trying to figure out how to use my HDMI screen's speakers rather than the built-in one and couldn't find the right incantation. Sounds like such rough corner cases will be a thing of the past soon. Congrats to the dev team!

I wonder how your setup is different than mine. I also switched to Pipewire (some months ago) and I'm using NixOS and Arch Linux, and on both I could just change the audio output to my speakers on my monitors (via HDMI) with the usual device switch, same as before with just PulseAudio. Everything works perfectly.

https://github.com/Lillecarl/nixos/blob/1c76775bbed80057cf54... https://github.com/Lillecarl/nixos/blob/1c76775bbed80057cf54...

This is my pipewire config, does the job perfectly for me, tracking unstable.

Re: PipeWire: A year in review and a look ahead

#32
post #17
post #12

Can anyone explain me like I'm five, why this major transition from PulseAudio to PipeWire is happening during the last year?

Pipewire was started by Wim Taymans, one of the gstreamer people. Originally it was supposed to allow video-streams in sandboxed environments like flatpak (and was known as "pulsevideo"), but then he noticed that it could be extended to do audio as well. Since pulseaudio's architecture isn't well-suited to incorporate sandboxing, that project continued and it turned out that it could handle compatibility with both pu…

> 2. is compatible with sandboxing

"DOC,ENH: How to connect container pipewire, alsa, jack to host pipewire (#1612)" https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/16...

Re: PipeWire: A year in review and a look ahead

#33
post #17
post #12

Can anyone explain me like I'm five, why this major transition from PulseAudio to PipeWire is happening during the last year?

Pipewire was started by Wim Taymans, one of the gstreamer people. Originally it was supposed to allow video-streams in sandboxed environments like flatpak (and was known as "pulsevideo"), but then he noticed that it could be extended to do audio as well. Since pulseaudio's architecture isn't well-suited to incorporate sandboxing, that project continued and it turned out that it could handle compatibility with both pu…

Thank you! So is pipewire a replacement/superset of gstreamer? Or is it supposed to be a higher-level component (more user facing than gstreamer). Alternatively, is Pipewire about connecting audio devices (instruments, speakers) to software on the computer?

Re: PipeWire: A year in review and a look ahead

#34
post #26

I'm not a pro user but PipeWire has been mostly great. I originally switched because of PulseAudio was causing a hissing noise on with my bluetooth headset, and switching fixed it. However, there are still two issues that I'm struggling with and haven't been able to find a definitive answer for. One is the audio sometimes randomly jitters while simply playing music. It seems this only happens when I use my bluetooth…

You are definitely not the only one was has the issue about the automatic switching to bluetooth headset. One workaround is to run `pactl load-module module-switch-on-connect` (not persisted across reboot) as recommended on the arch wiki:

https://wiki.archlinux.org/title/PipeWire#Sound_does_not_aut...

Re: PipeWire: A year in review and a look ahead

#35
As someone who has a fairly basic use case for something like Pipewire - I switched to it about a year ago and hope to never switch back. Everything just works properly - and some of the value added stuff we have now (Easyeffects inside a Flatpak sandbox comes to mind) are very cool and work extremely well. My thanks to the developers, who have done an AMAZING job of building a realistic alternative.

There is a lot of REALLY good software coming out for Desktop Linux recently. Wayland, Pipewire, Wireguard, etc!

Re: PipeWire: A year in review and a look ahead

#36
post #17

Earlier quoted context omitted.

Pipewire was started by Wim Taymans, one of the gstreamer people. Originally it was supposed to allow video-streams in sandboxed environments like flatpak (and was known as "pulsevideo"), but then he noticed that it could be extended to do audio as well. Since pulseaudio's architecture isn't well-suited to incorporate sandboxing, that project continued and it turned out that it could handle compatibility with both pu…

Thank you! So is pipewire a replacement/superset of gstreamer? Or is it supposed to be a higher-level component (more user facing than gstreamer). Alternatively, is Pipewire about connecting audio devices (instruments, speakers) to software on the computer?

> So is pipewire a replacement/superset of gstreamer?

It is neither. Gstreamer deals with codecs and such. It's a set of libraries that an application uses to handle multimedia needs.

Pipewire is a service that handles streams and passes them off to hardware.

If you wrote e.g. a music player, you could tell gstreamer to play a .mp3 file, and it would decode it (by using its mp3 codec) and send the audio off to the pipewire socket, and pipewire would send it to the hardware to actually, you know, play. Pipewire would handle buffering and resampling and mixing and all that fun stuff.

Pipewire sits at the same level in the stack where pulseaudio sat before, and gstreamer also talked to that (and in fact you can speak to pipewire as if it was pulseaudio).

It's simply that it was written by a person also involved with gstreamer.

Re: PipeWire: A year in review and a look ahead

#37

Is anybody here using pipewire to stream to a different machine on the same network? I currently use Pulseaudio to send audio from my laptop to a raspberry (with a DAC hat) connected to my hifi, but it turns out it's a pretty niche use case. So I'm looking for anybody with a similar use case who has upgraded from PA to PW and can talk about the experience.

I have been attempting this in some way or another for a month or two. So far, no luck.

The most realistic option I have found would be to use NetJack, but while its been noted in a roadmap as a relatively straightforward protocol, it is not yet implemented (at least, it wasn't last time i looked).

It may be possible to hack a pipewire-jack client to do it now... but that seems like more effort than its worth.

An alternative would be Scream, if all you want is one-way streaming.

If anyone has any other ideas, i would be very much interested too!

Re: PipeWire: A year in review and a look ahead

#38

Earlier quoted context omitted.

I wonder how your setup is different than mine. I also switched to Pipewire (some months ago) and I'm using NixOS and Arch Linux, and on both I could just change the audio output to my speakers on my monitors (via HDMI) with the usual device switch, same as before with just PulseAudio. Everything works perfectly.

https://github.com/Lillecarl/nixos/blob/1c76775bbed80057cf54... https://github.com/Lillecarl/nixos/blob/1c76775bbed80057cf54... This is my pipewire config, does the job perfectly for me, tracking unstable.

Off topic, but I watched the ffmpeg args that go-chromecast used and scripted it. Now I preproces my videos and use catt.

You can detect when they're h264 and use - c:v copy for speediness.

Re: PipeWire: A year in review and a look ahead

#39

Is anybody here using pipewire to stream to a different machine on the same network? I currently use Pulseaudio to send audio from my laptop to a raspberry (with a DAC hat) connected to my hifi, but it turns out it's a pretty niche use case. So I'm looking for anybody with a similar use case who has upgraded from PA to PW and can talk about the experience.

I have a similar setup, however it seems that video doesn't want to play in browsers with the networked audio for some reason. Anyone else experience that?

Re: PipeWire: A year in review and a look ahead

#40
post #2

I recently made the switch in NixOS and found it pretty painless. Can't get my mic to work in Firefox though, and the other day I was looking through the manual trying to figure out how to use my HDMI screen's speakers rather than the built-in one and couldn't find the right incantation. Sounds like such rough corner cases will be a thing of the past soon. Congrats to the dev team!

Have you tried different profiles for your hardware?
Post reply on HN