Talk:PipeWire

From ArchWiki

0.3.16 pulse replacement

For the pulse-dropin-replacement to work, you probably also need to clear your users config, ~/.config/pulse (like in delete/move the content) - That is created by pulseaudio for pulseaudio. Otherwise the server could be unable to start.

Fabis.cafe (talk) 14:12, 23 November 2020 (UTC)


I just installed the pulse replacement and while everything seems to be working just fine, the only problem is gnome-shell doesn't seem to be able to see the pipewrire pulse server, thus the volume control in the top right system menu is absent and keyboard media keys for volume don't work either. I think this should be addressed in the troubleshooting section with a solution if there is one.

Interestingly enough gnome-control-center is able to control the volume as well as other typical pulseaudio parameters.

UPDATE: running killall pipewire-pulse; killall pipewire restarts the pipewire pulse daemon and makes the volume control in gnome-shell work as expected. This of course is a workaround and not a proper solution.

UPDATE 2: the above makes the volume control menu item and shortcuts appear, but adjusting the volume does nothing.

GabMus (talk) 09:39, 3 December 2020 (UTC)

I don't see volume indicator in gnome-shell/wayland but I'm able to control volume with media keys. -- Svito (talk) 15:55, 3 December 2020 (UTC)
Possibly related: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/426 Hexchain (talk) 18:05, 3 December 2020 (UTC)
Solved, refer to the latest change I made in the main page, found the solution thanks to Hexchain's link. -- GabMus (talk) 19:55, 4 December 2020 (UTC)

aptX support

Does `pipewire` support low latency/high quality bluetooth codecs (aptX, LDAC, ...) ? along the lines of https://aur.archlinux.org/packages/pulseaudio-modules-bt-git/ If yes, how to configure it? along the lines of https://freedesktop.org/software/pulseaudio/pavucontrol/ nTia89 (talk) 21:23, 3 December 2020 (UTC)

I switched to PipeWire and currently bluetooth sound poorly works: high latency and low quality.
Actually open bug/enhancement in pipewire bugtracker [1].
nTia89 (talk) 10:20, 5 December 2020 (UTC)
It does now but currently there is no way to select a codec manually. It uses (the first supported?) codec in this order: LDAC, AptX HD, AptX, SBC. You can check for the current codec with pactl list sinks IIRC.
Hexchain (talk) 00:41, 21 December 2020 (UTC)
In the meantime, pipewire gets updated with support of the above mentioned feature; at the same time GNOME's sound setting allows to select (supported) codec
nTia89 (talk) 06:31, 1 May 2021 (UTC)

Better introduction?

Right now I think the description is missing some content to exactly explain what pipewire is and what it can be used for. The website names some important examples imho:

  • Capture and playback of audio and video with minimal latency.
  • Real-time Multimedia processing on audio and video.
  • Multiprocess architecture to let applications share multimedia content.
  • Seamless support for PulseAudio, JACK, ALSA and GStreamer applications.

G3ro (talk) 15:21, 28 February 2021 (UTC)

I fully agree! TBH I don't see an urgent need for a discussion on this topic. Feel free to amend the page with whatever you think is right. -- Edh (talk) 19:30, 3 March 2021 (UTC)
Ok, I have added some parts. Someone with better knowledge on this topic might edit it further.
G3ro (talk) 20:26, 5 March 2021 (UTC)

Move section "webrtc screen sharing" below other sections in "Usage"

I think that the "Audio" and "Video" sections are more important and more general, so they should be placed first.

G3ro (talk) 15:23, 28 February 2021 (UTC)

IMHO the ordering is just fine as of now. Pipewire is completely optional for handling audio and video. However, for screensharing under wayland you must use it. I strongly believe that this section is of most interest to the average user. Note, I am fine though with whatever reaches a consensus. I do not feel too strongly about the ordering of these sections. -- Edh (talk) 19:28, 3 March 2021 (UTC)
For now I would be ok with the ordering, but afaik Pipewire is aimed to become some kind of "replacement" for pulseaudio etc., so the other parts will become more important in the future.
G3ro (talk) 20:33, 5 March 2021 (UTC)

0.3.23 no pcm devices found

Thanks nTia89 for reverting my change. pipewire-alsa isn't needed, I checked contents of the package, it definitely can't help.

Spent 5h on pipewire, it did not find any sound-card. The moment I installed pipewire-alsa it started working. I used pw-cli ls | grep -i pcm to find pcm devices. I didn't change any config the whole time, because the wiki-page says it should work out of the box. I rebooted a lot. I hoped I could help that other users don't have to spend 5h on this. pipewire seems very nice. So here is what I did in the end.

  • install pipewire pipewire-media-session pipewire-alsa pipewire-jack pipewire-pulse pipewire-jack-dropin (ignore jack if you don't have jack-applications)
  • remove pulseaudio
  • systemctl --user enable pipewire.socket pipewire-pulse.service pipewire-media-session.service
  • systemctl --user restart pipewire.service pipewire-pulse.service pipewire-media-session.service

I try to find out what exactly my mistake was.

Streampunk (talk) 14:59, 22 March 2021 (UTC)

Native pulse clients can't connect

pipewire-pulse-dropin (AUR) has existed until Nov 2020. If still installed, it shadows and conflicts the socket /run/user/*/pulse/native which is now already provided by pipewire-pulse.service. Delete that orphaned package to solve this issue. Sausix (talk) 15:10, 30 March 2021 (UTC)

Configuration section

I think we have to mention the official wiki page: https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Configuration#set-global-sample-rate because it is a complete and always up-to-date resource.


I think we should add a Configuration section; a sort of:

`PipeWire is a powerful tool having a plethora of options. We recommend to read the official wiki page[1] in order to have a complete sight of all possibilities. Although most users are happy with default settings, particular configuration cases are reported in the Pipewire/Examples page. On the other hand, most common issues and their solutions are reported below in the Troubleshooting section.`

What do you think?


nTia89 (talk) 10:16, 27 March 2021 (UTC)

I fully agree with you about mentioning the official wiki page. However, I think it is fine to recap some of the most important configuration options in the ArchWiki too! At least to me the current phrasing of the paragraph suggests that we solely refer to the official wiki page for that. -- Edh (talk) 11:03, 27 March 2021 (UTC)
Maybe add info about Pipewire wiki in a new Configuration section and below that add " Configurations for some of the most common usecases are provided in the following [usage] sections. " RaZorr (talk) 07:54, 8 December 2021 (UTC) .

video production ready?

The video section currently claims that:

> Although the software [video in PipeWire] is not yet production-ready, it is safe to play around with.

(emphasis mine). What's the source for the claim? The PipeWire (PW) FAQ basically says "It [PW] is ready for broader use", so I wonder where that dissonance comes from. --Anarcat (talk) 18:45, 6 May 2021 (UTC)

Elaborate on the expectations/requirements of the jack/jack2 removal option

The page currently suggests removing jack/jack2 from your system as an alternative to running through `pw-jack` or installing pipewire-jack-dropinAUR to have the system use PipeWire for JACK but this is most likely blocked by a lot of software unless you've installed said software on your system without involving `pacman` and thus not having the transaction blocked, or you would need to force the removal (and IgnorePkg it to prevent it from returning) or maybe NoExtract jack's *.so files? The way it is suggested makes it sound like it should be a very easy `pacman -Rns jack/jack2` which it more than likely will not be.

Examples of programs that would block a simple/normal removal as suggested are blender and ffmpeg looking for 'jack', or things like qemu and fluidsynth looking for 'libjack.so=0-64'.

Maybe this section should have a note about that or maybe it's better to remove that whole suggestion as an option?

—This unsigned comment is by Omar007 (talk) 15:36, 10 June 2021. Please sign your posts with ~~~~!

Screensharing not functional with wireplumber?

It looks to me that wireplumber, while mentioned as more powerful in the wiki page, does not allow screen sharing at least with sway. Replacing it with pipewire-media-session fixes the issue. xdg-desktop-portal[-wlr] and wireplumber bugtrackers and docs do not mention anything about it.

Does anyone have a different experience or should we mention it in the wiki?

EDIT: it looks like it's fixed as of xdg-desktop-portal-wlr v0.5.0

--Njoyard (talk) 20:56, 26 October 2021 (UTC)

No information is given on how to control the volume

I had heard that PipeWire was the best way to use audio on Linux. So, I installed it, but was left without any understanding of how to control the volume. This wiki page doesn't help with that.

Pound Hash (talk) 02:51, 21 December 2021 (UTC)

The page could word it better, but the idea behind PipeWire is that all the changes happen "behind the scenes" so your usual pavucontrol or equivalent are still relevant. --Erus Iluvatar (talk) 06:24, 21 December 2021 (UTC)

Unclear that we need pipewire-media-session or wireplumber

It is heavily implied that just installing and enabling Pipewire is enough to make it work. Everyone talks about how Pipewire is a drop-in replacement, the section on replacing pulseaudio doesn't mention it, and the Wireplumber subheading has the same style and appears after GUI, implying that it is optional just like the GUI frontend. However, this is not the case. Pipewire does not recognize any audio devices unless I start pipewire-media-session.service or install and start wireplumber. I feel like it should be explained in whatever the relevant section is that you must do one of these things.

0100001001000010 (talk) 03:25, 28 December 2021 (UTC)

We do need a session manager as detailed on PipeWire's documentation:
A correctly installed PipeWire system should have a pipewire process, a pipewire-media-session (or alternative) and an (optional) pipewire-pulse process running.
Therefore users must install either pipewire-media-session or wireplumber. Both still work. I am editing the page to clarify this.
--Dllud (talk) 14:46, 30 January 2022 (UTC)
I just want to mention that currently PipeWire#Session_manager says "When installing PipeWire you will be asked to opt between one of them", however I just installed pipewire and did not get asked. So it should probably be mentioned in this subsection, preferrably before the listing of session managers, that one should install one. Or the pipewire package should be fixed so that one actually gets asked to install a session manager (probably more convenient for the useres). Mearon (talk) 10:20, 26 April 2022 (UTC)

pipewire.conf is NOT in /etc/pipewire

after a fresh install of archlinux and pipewire and pipewire-pulse:

  1. find / -mount -name pipewire.conf

/usr/share/pipewire/pipewire.conf


I assume the documentation should be edited to reflect this, (it currently states that the path is /etc/pipewire/pipewire.conf)

by default the directory /etc/pipewire does not exist.

the header of /usr/share/pipewire/pipewire.conf states that one should copy the file to /etc/pipewire (or ~/.config/pipewire)

I think the documentation should reflect this:

if file does not exist copy template from /usr/share/pipewire/pipewire.conf then edit.

I dare not do the edit myself as this is my first ever contribution FatherFunky (talk) 04:55, 10 January 2022 (UTC)

Welcome to ArchWiki! To get a definitive idea of what configuration paths a software uses, its manpages are a good place to start. According to pipewire.conf(5) § SYNOPSIS, Pipewire will read from both of those two paths. file-hierarchy(7) explains that /etc/ is used for system specific configuration, whereas /usr/ is for vendor supplied resources. Indeed, in the Pipewire file list you can see that it ships the file in /usr/. As a result, changes you make to the that config file will be backed up and overwritten by a package update. I am editing the documentation to clarify this. - CodingKoopa (talk) 23:19, 10 January 2022 (UTC)

pipewire-jack-dropin/ deleted and now "pipewire-jack and jack2 are in conflict (jack). Remove jack2?" but too many dependencies

https://aur.archlinux.org/packages/pipewire-jack-dropin/ was deleted and now "pipewire-jack and jack2 are in conflict (jack). Remove jack2?" but there are too many dependencies on jack2 to remove it.

The wiki should provide some legacy advice for those affected by this because the comments section of https://aur.archlinux.org/packages/pipewire-jack-dropin/ is gone now.


See https://web.archive.org/web/20211204135226/https://aur.archlinux.org/packages/pipewire-jack-dropin.

—This unsigned comment is by Elijah Lynn (talk) 01:02, 26 January 2022. Please sign your posts with ~~~~!

There is a comparison table explaining the differences between the JACK implementations. Before removal of the pipewire-jack-dropin PKGBUILD I have left a comment, which instructs the user to uninstall the package because it is no longer required. FWIW, if there are any dependents on jack2, then it is likely jack2-dbus, which itself only has cadence as single dependent. Can you elaborate on why it would be important to explain package dependency resolution to the user in this particular case, but not in another? After all, it highly depends on what the user installed. -- Davezerave (talk) 13:58, 26 January 2022 (UTC)


Broken Link for rtkit error

This link is broken. I have this error and I don't know what to do.

https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1069

The issue is available on archive.org; unfortunately, comments are not archived and the only save for this page was made while it was in an open status.

https://web.archive.org/web/20210725060503/https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1069

Does anyone have an updated link where the resolution can be viewed or, alternatively, does anyone know how to resolve this issue so we can document it in-wiki?

Spencerharmon

The link works fine for me and the issue is still open. — Lahwaacz (talk) 06:37, 29 June 2022 (UTC)
I can confirm that the link is working on my end too. --Erus Iluvatar (talk) 07:02, 29 June 2022 (UTC)
The freedesktop gitlab used to have issues a few days ago, those appear fixed now. Closing -- Alad (talk) 19:17, 29 June 2022 (UTC)