Package Base Details: pipewire-common-git

Git Clone URL: (read-only, click to copy)
Submitter: eh5
Maintainer: eh5
Last Packager: eh5
Votes: 5
Popularity: 0.061316
First Submitted: 2021-01-10 08:40 (UTC)
Last Updated: 2022-05-02 19:15 (UTC)

Pinned Comments

PedroHLC commented on 2021-01-11 22:53 (UTC)

If someone needs any of these packages pre-built, chaotic-aur builds them hourly...

Latest Comments

souravdas142 commented on 2022-05-07 14:23 (UTC) (edited on 2022-05-07 14:27 (UTC) by souravdas142)

lc3plus codec is here (If any packager @eh5 wants to package) :


-D bluez5-codec-lc3plus=enabled

eh5 commented on 2022-04-08 17:57 (UTC)

Noticed you are a TU, here is a short explanation on why I created pipewire-common-git .

eh5 commented on 2022-04-08 17:51 (UTC) (edited on 2022-04-08 17:51 (UTC) by eh5)

@dvzrv The PKGBUILD of this this pkgbase build the latest version(git master branch) of pipewire.

The "common" in package name is just to distinguish from another AUR package of pipewire, "pipewire-git".

dvzrv commented on 2022-04-08 17:45 (UTC)

@eh5: What is the use-case for this package in comparison to the extra/pipewire split-package?

eh5 commented on 2021-10-22 02:59 (UTC) (edited on 2021-10-23 05:07 (UTC) by eh5)

Since pipewire 0.3.39, pipewire-media-session has moved into a separate package base. Hence I have changed some packages in this package base to depends on pipewire-session-manager instead, which also depends on pipewire >= 0.3.39 if it resolves to pipewire-media-session. So it's a little bit tricky to upgrade to 0.3.39 because of circular dependency between this package base with pipewire-media-session.

And here is my guide if you want to build/use pipewire-media-session-git:

  1. Build all packages in package base pipewire-common-git/pipewire-full-git.
  2. Install pipewire-common-git/pipewire-full-git or testing/pipewire which provides pipewire>=0.3.39 with pacman -Udd or pacman -Sdd
  3. Build and install pipewire-media-session-git (depends on pipewire>=0.3.39)
  4. Install the rest of packages you wanted built in step 1.

Once wireplumber has added a provide to pipewire-session-manager, you could then use it instead.

edit: use pipewire-media-session-git instead of media-session-git, which is about to merge into the former.

eh5 commented on 2021-10-18 22:19 (UTC)


please reconsider adding media-session-git as "depends".

Oh, yes. I was trying to say to not build media-session source in this package base. Sorry for the confusion.

Netboy3 commented on 2021-10-18 13:13 (UTC)

@eh5, please reconsider adding media-session-git as "depends". there are many folks out there using wireplumber instead of media-session. Upstream has intentionally created a balanced hierarchy of pipewire with two sub-projects dealing with media-session management. Creating a dependency on one of the session managers deviates from the intention of the upstream and should really be left to the user to decide.

eh5 commented on 2021-10-18 12:03 (UTC)

Upstream has now separated[1] its example media session pipewire-media-session into a standalone project So I have created a AUR package for it, I would probably change this package to depends on media-session-git when things are settled in upstream.

Currently the media-session is still built as a meson subproject of pipewire here, so you don't have to build&install media-session-git yet.


Edu4rdSHL commented on 2021-07-30 06:02 (UTC)

@eh5, I just saw, nice and thank you!

eh5 commented on 2021-07-30 05:58 (UTC)

@Edu4rdSHL I have done something similar.

Edu4rdSHL commented on 2021-07-29 21:57 (UTC) (edited on 2021-07-30 04:33 (UTC) by Edu4rdSHL)

Hello, please can you merge this PKGBUILD.patch:

libopenaptx was removed from repos and pipewire now depends on libfreeaptx, see for more context.

Thank you.

jintseng commented on 2021-06-08 11:53 (UTC)

@eh5 experiencing that error as well (unable to resolve the libwebrtc dep) - I was able to install pipewire by updating my webrtc-audio-processing to version 0.3.1-3 which yay/pacman wasn't updating.

Use yay --getpkgbuild webrtc-audio-processing and build it yourself makepkg then install.

eh5 commented on 2021-06-06 18:43 (UTC)

@Dude803 I guess you would need to update your packages repo, the is provided by webrtc-audio-processing.

But somehow AUR web also can not recognize

Dude803 commented on 2021-06-06 18:35 (UTC)

Starting yesterday (June 5) I am experiencing a weird error on package upgrade: cannot resolve "", a dependency of "pipewire-common-git". Is this something wrong on my end or is this something wrong with the package?

eh5 commented on 2021-05-19 01:51 (UTC) (edited on 2021-05-20 00:31 (UTC) by eh5)

edit: Following "extra/pipewire", I have removed all /usr/share/pipewire/**/*.conf entries from backup=() array. From now on all files under /usr/share/pipewire would be overwritten during upgrading.

@Netboy3 It's OK as long as pacdiff is used and the diffs are properly handled after every pipewire upgrading.

pipewire currently don't merge config from multiple files, it search config name from ~/.config/pipewire, /etc/pipewire, /usr/share/pipewire and only accept the first one found.

For someone (like me) who has custom property values in configs and still want other properties to be in sync with upstream, /usr/share/pipewire + pacdiff might be an easier way to go. Otherwise, one might need to write a custom script to sync changes from /usr/share/pipewire to /etc/pipewire on every upgrading, or do it manually.

Netboy3 commented on 2021-05-19 00:59 (UTC)

Thanks for updating the package promptly. Your part (3) advice is not recommended. Normally /usr/share is reserved for package content, not user managed configs. Advising users to modify /usr/share configs is not recommended and most packages will warn you that any changes to /usr/share will be overwritten during package updates. This is especially concerning when the developers provide the users with two locations for overriding/modifying the configs (/etc/pipewire and ~/.config/pipewire).

eh5 commented on 2021-05-18 23:52 (UTC) (edited on 2021-05-20 00:26 (UTC) by eh5)

Config files are now installed to /usr/share/pipewire, all previously installed configs in /etc/pipewire would be renamed to *.pacsave. You have several options to migrate those files.

  1. If you have never modified any config property in /etc/pipewire, you can safely delete all those *.pacsave. (e.g. rm /etc/pipewire/**/*.pacsave or rm -rf /etc/pipewire)

  2. Remove .pacsave postfix from config files you have modified, pipewire would still read config from /etc/pipewire and it has higher priority than /usr/share/pipewire.

Netboy3 commented on 2021-05-18 14:34 (UTC) (edited on 2021-05-18 14:35 (UTC) by Netboy3)

In the latest master, pipewire changed the package-delivered config directory from /etc/pipewire to /usr/share/pipewire. The /etc/pipewire is still being scanned for systemwide config changes, but is optional for the system admin to modify. This requires a few _pick and install invocations to be adjusted.

eh5 commented on 2021-03-05 00:15 (UTC)

Dropped JACK SPA plugin following "extra/pipewire", if your setup needs pipewire to perform a JACK device role, please switch to pipewire-full-git, pipewire-full-jack-client-git.

eh5 commented on 2021-02-25 07:46 (UTC) (edited on 2021-02-25 08:49 (UTC) by eh5)

Check which version you upgraded from in /var/log/pacman.log (e.g. cat /var/log/pacman.log | grep pipewire-common-git -C 10 | tail -n 20).

The service enabling command should be executed if you upgrade pipewire-common-git from a version less than 0.3.22.r46.ge340a44a-2. (see If you have already manually enabled the service, the install script would not outputs any hint message even if it re-runs the service enabling command.

edit: Updated with

amoka commented on 2021-02-25 02:04 (UTC)

For some reason the install script is not enabling pipewire-media-session.service for me.

eh5 commented on 2021-02-24 09:33 (UTC) (edited on 2021-02-24 15:03 (UTC) by eh5)

The execution for pipewire's media session is now split out into pipewire-media-session.service. Enable the service manually with systemctl --user enable --now pipewire-media-session.service, or (force) rebuild the pacakge base and then install script will do it for you.

kleinph commented on 2021-02-12 13:15 (UTC)

You were right @eh5.

For anyone who comes across this issue: the build dir was cached, deleting it fixed it. Never had this issue before.
So sorry for the noise.

eh5 commented on 2021-02-12 12:55 (UTC)

@kleinph The pkgvel did changed.

Again, vulkan-headers is now not required to build, I have successfully built it in a fakeroot.

kleinph commented on 2021-02-12 12:51 (UTC)

Sorry, I see you increased the commit hash, which I missed because I forced a rebuild meanwhile.

My apologizes...

kleinph commented on 2021-02-12 12:48 (UTC) (edited on 2021-02-12 12:54 (UTC) by kleinph)

@eh5 If I build it with an AUR helper this should be a clean build, I also saw the changed meson options in the diff review.


eh5 commented on 2021-02-12 12:45 (UTC)

Also note that you have to increase the pkgrel if you want that AUR helplers get this changes (or update to a new commit hash if there is any). @kleinph Why you think I don't know that...

eh5 commented on 2021-02-12 12:41 (UTC)

@kleinph It requires a clean build, meson options are changed.

kleinph commented on 2021-02-12 12:39 (UTC)

I see the replaces/conflict was already solved while I was writing my comment. Pleas also look into the vulkan-headers issue.

Also note that you have to increase the pkgrel if you want that AUR helplers get this changes (or update to a new commit hash if there is any).

kleinph commented on 2021-02-12 12:34 (UTC) (edited on 2021-02-12 12:34 (UTC) by kleinph)

There are two errors in the PKGBUILD:

  • vulkan-headers is still needed as a makedep
  • pipewire-common-ffmpeg-git (and maybe also pipewire-common-bluez5-hsphfpd-git should be conflicts/replaced as @PedroHLC already pointed out.

(The pipewire-common-ffmpeg-git caused conflicting files, the other one was not installed on my system.)

eh5 commented on 2021-02-12 12:32 (UTC)

@PedroHLC Updated, replaces+conflicts should do the trick.

PedroHLC commented on 2021-02-12 12:14 (UTC)

I think then you can put package_pipewire-common-git() to replace+provides+conflicts (pipewire-common-bluez5-git pipewire-common-bluez5-hsphfpd-git pipewire-common-ffmpeg-git)

eh5 commented on 2021-02-12 11:17 (UTC) (edited on 2021-02-23 04:14 (UTC) by eh5)

Dropped vulkan, ffmpeg, hsphfpd SPA plugins in this "common" package base because they are disabled by default in upstream, you can still find them in

Vulkan, ffmpeg SPA plugins are actually not used by pipewire's default media session, you won't have any lose on it except less dependency.

Consider that pipewire's native HSP/HFP support is now good enough compared to hsphfpd, I also dropped hsphfpd varient of bluez plugin.

eh5 commented on 2021-01-24 10:21 (UTC) (edited on 2021-01-24 10:28 (UTC) by eh5)

@kode54 Maybe you are on the old version? pipewire-common-git now is not depends on alsa-card-profiles.

kode54 commented on 2021-01-24 10:12 (UTC) (edited on 2021-01-24 10:15 (UTC) by kode54)

I see. Since pipewire-common-git is providing it, it shouldn't be depending on the alsa-card-profiles package, or delete the alsa card profiles files, then.

eh5 commented on 2021-01-21 04:56 (UTC) (edited on 2021-01-21 05:09 (UTC) by eh5)

alsa-card-profiles is now split from pipewire in Arch.

Splitting alsa-card-profiles is meaningless for this VCS package base since it's a pipewire specific version and only pipewire requires it currently, so we let pipewire-common-git provides it.

eh5 commented on 2021-01-12 18:38 (UTC) (edited on 2021-01-12 19:33 (UTC) by eh5)

@tornado99 Then just replace pipewire-git with pipewire-common-git. I would add pipewire-git as conflict of pipewire-common-git in next commit.

edit: Make bluze5 plugin be dependent on pipewire-common-git instead.

What I said about makepkg -rs in my previous comment is to showcase that pipewire is not required for building this package base. It's still a runtime dependency though. Since pipewire-common-git "provides" pipewire, it's not a problem to add pipewire as runtime dependency (aka. put pipewire into depends array).

Seems your AUR helper don't recognize pipewire-common-git as a "pipewire" provider(like pipewire-git). You'd better build/install pipewire-common-git and pipewire-common-pulse-git firstly before building pipewire-common-bluez5-*.

tornado99 commented on 2021-01-12 14:26 (UTC)

I would like to use a package manager like Pacman/pamac/yay. Even if I start with no pipewire packages installed it seems your AUR package always installs pipewire first. The error I get is:

conflicting files: - pipewire-common-bluez5-hsphfpd-git: /usr/lib/spa-0.2/bluez5/ already exists in filesystem (owned by pipewire-git)

Perhaps you could remove pipewire as a dependency?

eh5 commented on 2021-01-12 04:07 (UTC)


It wants to install pipewire or pipewire-git first,

I don't think it requires pipewire to build. Maybe you can try building it with makepkg -rs.


$ git clone
$ cd pipewire-common-git && makepkg -rs

and then complains there is a conflict with pipewire when installing itself.

Of course it conflict with pipewire, the package is meant to replace other pipewire builds.

tornado99 commented on 2021-01-11 23:49 (UTC)

I'm confused about how to install this. It wants to install pipewire or pipewire-git first, and then complains there is a conflict with pipewire when installing itself.

PedroHLC commented on 2021-01-11 22:53 (UTC)

If someone needs any of these packages pre-built, chaotic-aur builds them hourly...

eh5 commented on 2021-01-10 12:03 (UTC) (edited on 2021-01-16 20:46 (UTC) by eh5)

@FabioLolix This one has gstreamer support (provides gst-plugin-pipewire) and hsphfpd support enabled.

(All below is edit message for anyone who interests.)

Be aware that depend by pipewire-git is not part of pipewire-git package base.

Many people request[1-2] the maintainer( of pipewire-git to enable gstreamer support but seems he refuse to do that. Despite gstreamer support is enabled by default in upstream (also in Arch repo) and gstreamer plugin is a dynamic loadable library which is capable to be split into separate package.

And some request to orphan or delete pipewire-git but all has been rejected by TU[3].

There was a VCS package solved gstreamer problem named pipewire-nightly, but a TU decides to delete it for the reason that the suffix "-nightly" in package name imply that it has to be a snapshot package[4].

Those are reasons why I create this package base.



[3] (search keyword "pipewire")


FabioLolix commented on 2021-01-10 11:47 (UTC)

What is the difference with pipewire-git?