Package Details: pipewire-jack-git 0.3.51.21.g15431570f-1

Git Clone URL: https://aur.archlinux.org/pipewire-git.git (read-only, click to copy)
Package Base: pipewire-git
Description: Low-latency audio/video router and processor (GIT version)
Upstream URL: https://pipewire.org
Licenses: GPL2, MIT
Conflicts: jack, jack2, pipewire-jack
Provides: jack, libjack.so, libjacknet.so, libjackserver.so, pipewire-jack
Submitter: sl1pkn07
Maintainer: sl1pkn07
Last Packager: sl1pkn07
Votes: 10
Popularity: 0.004491
First Submitted: 2017-09-19 15:57 (UTC)
Last Updated: 2022-05-06 09:21 (UTC)

Dependencies (35)

Required by (759)

Sources (1)

Pinned Comments

Latest Comments

Quackdoc commented on 2022-05-23 00:36 (UTC) (edited on 2022-05-27 09:13 (UTC) by Quackdoc)

I have a simple pkgbuild https://github.com/Quackdoc/libLC3plus for LC3plus, only issue with it is that you need to manually rename /usr/include/lc3.h to lc3plus.h

I have it setup to install the float instead of fixed. but if fixed is needed the person who I forked it from has the cmake file for it, or it's in the git history

EDIT: it should work with pipewire now with additional kerfuffle.

souravdas142 commented on 2022-05-07 13:47 (UTC)

lc3plus codec is here (If any packager wants to package) : https://www.etsi.org/deliver/etsi_ts/103600_103699/103634/01.03.01_60/

pbo commented on 2022-05-06 06:59 (UTC)

@Nohan worked, thank you!

Nohan commented on 2022-05-05 17:05 (UTC)

@pbo Had the same problem, I built without it by adding


-D bluez5-codec-lc3plus=disabled

in the PKGBUILD, which then disables the lc3plus codec in the meson.options file by changing it from "auto" to "disabled".

This is what my current build options look like in the PKGBUILD now


build() {
  cd "${srcdir}/build"

  arch-meson ../pipewire \
    -D udevrulesdir=/usr/lib/udev/rules.d \
    -D docs=enabled \
    -D gstreamer=disabled \
    -D gstreamer-device-provider=disabled \
    -D roc=enabled \
    -D ffmpeg=enabled \
    -D vulkan=enabled \
    -D jack-devel=true \
    -D libjack-path=/usr/lib \
    -D session-managers=[] \
    -D bluez5-codec-lc3plus=disabled

  ninja
}

pbo commented on 2022-05-05 09:13 (UTC) (edited on 2022-05-05 09:26 (UTC) by pbo)

pipewire added support for LC3plus, cannot build:

Run-time dependency lc3plus found: NO (tried pkgconfig and cmake)

../pipewire/spa/meson.build:59:6: ERROR: C header 'lc3plus.h' not found

sl1pkn07 commented on 2022-04-12 13:28 (UTC)

imo, sounds a pipewire package issue. that files should be part of pupewire-pulse

try to fill a issue in the arch bugtracker

FreddieChopin commented on 2022-04-12 11:23 (UTC) (edited on 2022-04-12 11:24 (UTC) by FreddieChopin)

Any ideas how to solve this:

(1/1) checking for file conflicts                                               [#############################################] 100%
error: failed to commit transaction (conflicting files)
pipewire-pulse-git: /usr/share/man/man1/pipewire-pulse.1.gz exists in filesystem (owned by pipewire)
pipewire-pulse-git: /usr/share/pipewire/pipewire-pulse.conf exists in filesystem (owned by pipewire)
Errors occurred, no packages were upgraded.

?

nyanpasu64 commented on 2021-12-14 09:07 (UTC) (edited on 2021-12-14 09:27 (UTC) by nyanpasu64)

libcamera-git r3017.39c2d5dc-1 here and build ok

sl1pkn07, you're using a 3 month old libcamera-git package. libcamera broke their API on 2021-12-04 (https://git.linuxtv.org/libcamera.git/commit/?id=560f5cf998646ddc54a20dc1c7326012834d3204) and pipewire hasn't adapted yet. I reported this to pipewire at https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1904, and hopefully the build will be fixed soon.

For the time being you can replace .fd() with .get().

Alternatively, Arch's official pipewire package has -D libcamera=disabled (link). The pipewire lead developer recommends we enable that flag in pipewire-git for now (to remove the dependency on unstable libcamera and make the build more stable for end users), and possibly remove it when libcamera makes a release.

sl1pkn07 commented on 2021-12-12 18:27 (UTC) (edited on 2021-12-12 18:27 (UTC) by sl1pkn07)

libcamera-git r3017.39c2d5dc-1 here and build ok

cvolton commented on 2021-12-12 18:07 (UTC)

also I seem to be unable to build the package due to libspa-libcamera issues? This is using the latest libcamera-git package, which is also available in the AUR

[232/724] Compiling C++ object spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.cpp.o
FAILED: spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.cpp.o 
c++ -Ispa/plugins/libcamera/libspa-libcamera.so.p -Ispa/plugins/libcamera -I../pipewire/spa/plugins/libcamera -Ispa/include -I../pipewire/spa/include -I/usr/include/libcamera -I/usr/include/libdrm -flto=auto -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wunused-result -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -Wp,-D_GLIBCXX_ASSERTIONS -fPIC -pthread -MD -MQ spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.cpp.o -MF spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.cpp.o.d -o spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-source.cpp.o -c ../pipewire/spa/plugins/libcamera/libcamera-source.cpp
In file included from ../pipewire/spa/plugins/libcamera/libcamera-source.cpp:175:
../pipewire/spa/plugins/libcamera/libcamera-utils.cpp: In function ‘int mmap_init(impl*, port*, spa_buffer**, uint32_t)’:
../pipewire/spa/plugins/libcamera/libcamera-utils.cpp:561:67: error: ‘const class libcamera::SharedFD’ has no member named ‘fd’; did you mean ‘std::shared_ptr<libcamera::SharedFD::Descriptor> libcamera::SharedFD::fd_’? (not accessible from this context)
  561 |                                 d[j].fd = bufs[i]->planes()[j].fd.fd();
      |                                                                   ^~
In file included from /usr/include/libcamera/libcamera/framebuffer.h:16,
                 from /usr/include/libcamera/libcamera/stream.h:15,
                 from /usr/include/libcamera/libcamera/camera.h:21,
                 from ../pipewire/spa/plugins/libcamera/libcamera-source.cpp:54:
/usr/include/libcamera/libcamera/base/shared_fd.h:46:37: note: declared private here
   46 |         std::shared_ptr<Descriptor> fd_;
      |                                     ^~~
In file included from ../pipewire/spa/plugins/libcamera/libcamera-source.cpp:175:
../pipewire/spa/plugins/libcamera/libcamera-utils.cpp:571:73: error: ‘const class libcamera::SharedFD’ has no member named ‘fd’; did you mean ‘std::shared_ptr<libcamera::SharedFD::Descriptor> libcamera::SharedFD::fd_’? (not accessible from this context)
  571 |                                                 bufs[i]->planes()[j].fd.fd(),
      |                                                                         ^~
In file included from /usr/include/libcamera/libcamera/framebuffer.h:16,
                 from /usr/include/libcamera/libcamera/stream.h:15,
                 from /usr/include/libcamera/libcamera/camera.h:21,
                 from ../pipewire/spa/plugins/libcamera/libcamera-source.cpp:54:
/usr/include/libcamera/libcamera/base/shared_fd.h:46:37: note: declared private here
   46 |         std::shared_ptr<Descriptor> fd_;
      |                                     ^~~
[249/724] Linking target spa/plugins/alsa/libspa-alsa.so
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

cvolton commented on 2021-12-12 17:18 (UTC)

lilv seems to be missing from the dependency list

sl1pkn07 commented on 2021-11-01 13:47 (UTC)

uodate your libcamera package

carlosnewmusic commented on 2021-11-01 13:46 (UTC)

build error https://pastebin.com/3uy4Ui8t

nyanpasu64 commented on 2021-10-30 23:35 (UTC) (edited on 2021-10-30 23:37 (UTC) by nyanpasu64)

It works now. Thanks!

EDIT: I have to run --nocheck because the unit tests fail right now, but that's being tracked at https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1710#note_1124223 (which hopefully will be fixed soon).

sl1pkn07 commented on 2021-10-30 23:30 (UTC)

ops. true. done

nyanpasu64 commented on 2021-10-30 23:29 (UTC)

Doesn't work. You fixed every provides except for package_pipewire-git()'s...

sl1pkn07 commented on 2021-10-30 23:16 (UTC)

try now

nyanpasu64 commented on 2021-10-30 21:26 (UTC)

I can't install this package anymore:

:: removing pipewire breaks dependency 'pipewire>=0.3.39' required by pipewire-media-session

:: removing pipewire breaks dependency 'pipewire>=0.3.39' required by pipewire-media-session-git

I managed to fix it by switching package_pipewire-git() to provides=("pipewire=${pkgver}", as mentioned in the wiki. Is this an appropriate fix to add here?

AlexTsi commented on 2021-10-22 10:42 (UTC) (edited on 2021-10-22 15:19 (UTC) by AlexTsi)

This does no longer build. media-session is no longer part of the upstream pipewire repo, it has been moved to its own project, see https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/1bced6b2ef300acce23c0daaeb8f4fc14095f330.

We probably need to remove the pipewire-media-session-git from the provides of this PKGBUILD, and add the media-session-git package as dependency.

xdavidwu commented on 2021-10-01 06:45 (UTC)

../pipewire/meson.build:453:4: ERROR: Program 'rst2man.py' not found

looks like it need python-docutils in makedepends

sl1pkn07 commented on 2021-09-02 16:49 (UTC)

@carlosnewmusic you log is trimmed. please up full log

greetings

tinywrkb commented on 2021-08-06 16:45 (UTC)

@domain this is a recent change, jack-devel should be set as true not enabled.

domain commented on 2021-08-06 16:28 (UTC)

Getting build errors on this package.

Here are some relevant logs: https://pastebin.com/9xaXwHJL

bno1 commented on 2021-07-16 11:52 (UTC)

@tornado99 that's caused by a newer version of libcamera, and probably needs upstream changes to fix. You can also disable libcamera if you don't care about it:

diff --git a/PKGBUILD b/PKGBUILD
index bff785f..03d8c86 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -63,6 +63,8 @@ build() {
     -D gstreamer-device-provider=disabled \
     -D ffmpeg=enabled \
     -D jack-devel=enabled \
+    -D roc=disabled \
+    -D libcamera=disabled \
     -D libjack-path=/usr/lib

   ninja

tornado99 commented on 2021-07-16 10:06 (UTC)

@bno1, pipewire still fails even after fresh build of libcamera-git, fatal error: libcamera/buffer.h: No such file or directory

bno1 commented on 2021-07-09 13:01 (UTC)

@carlosnewmusic reinstall libcamera-git

carlosnewmusic commented on 2021-07-09 12:56 (UTC)

changing what you say still gives error https://pastebin.com/mTjHN30z

bno1 commented on 2021-06-29 10:08 (UTC)

To fix the roc issue, just apply the following change to the PKGBUILD:

@@ -63,6 +63,7 @@ build() {
     -D gstreamer-device-provider=disabled \
     -D ffmpeg=enabled \
     -D jack-devel=enabled \
+    -D roc=disabled \
     -D libjack-path=/usr/lib

   ninja

carlosnewmusic commented on 2021-06-28 17:17 (UTC)

https://pastebin.com/mTjHN30z roc error as you said

sl1pkn07 commented on 2021-06-27 18:48 (UTC)

libcamera issue fixed with https://gitlab.freedesktop.org/pipewire/pipewire/-/merge_requests/805

roc have issues when build https://github.com/roc-streaming/roc-toolkit/issues/450

yrlf commented on 2021-06-27 12:40 (UTC)

This package doesn't build without fixes to the spa/meson.build file (camera dependency is called libcamera in ArchLinux pkgconf) and without installing roc-git.

sl1pkn07 commented on 2021-06-26 09:42 (UTC) (edited on 2021-06-26 09:43 (UTC) by sl1pkn07)

seems fixed now (libwebrtc_audio_processing.so is not marked as "red" (missing package), so seems is fixed by aur devs)

carlosnewmusic commented on 2021-06-26 05:01 (UTC)

because everything else compiles fine, how can it be that it only affects this particular package?

sl1pkn07 commented on 2021-06-15 14:33 (UTC)

seems AUR problem. try directly with makepkg

sl1pkn07 commented on 2021-06-15 14:28 (UTC)

why the first warning? webrtc-audio-processing is in makedepends()

carlosnewmusic commented on 2021-06-15 14:22 (UTC)

Warning: Ignoring the webrtc-audio-processing-0.3.1-3 package. Warning: failed to resolve "libwebrtc_audio_processing.so", a dependency of "pipewire-git". Failed to prepare transaction: could not satisfy dependencies: - unable to satisfy dependency "libwebrtc_audio_processing.so" required by pipewire-git

tinywrkb commented on 2021-06-03 11:16 (UTC)

New dependency (untested) webrtc-audio-processing for using the webrtc based echo canceling in the echo canceling module.
I'm not building this package anymore so this is untested but it possible to confirm it's linking against the library by looking in the build log, with ldd, or forcing this feature with -Decho-cancel-webrtc=enabled.

JDAturbo commented on 2021-05-18 18:53 (UTC)

@sl1pkn07 Yes, thank you.

sl1pkn07 commented on 2021-05-18 16:04 (UTC)

@JDAturbo done(?)

JDAturbo commented on 2021-05-18 15:24 (UTC)

Needs an update due to this commit moving the config files:

mv: cannot stat 'etc/pipewire/media-session.d/*.conf': No such file or directory

kleinph commented on 2021-04-12 17:41 (UTC)

@Strykar as also noted in the comment before: use pipewire-common-git packages. They are properly maintained.

Strykar commented on 2021-04-12 17:26 (UTC)

Tried upgrading after a month, I get:

(398/398) checking keys in keyring                                                                                                                        [###############################################################################################] 100%
(398/398) checking package integrity                                                                                                                      [###############################################################################################] 100%
(398/398) loading package files                                                                                                                           [###############################################################################################] 100%
(398/398) checking for file conflicts                                                                                                                     [###############################################################################################] 100%
error: failed to commit transaction (conflicting files)
pipewire-media-session: /etc/pipewire/media-session.d/alsa-monitor.conf exists in filesystem (owned by pipewire-git)
pipewire-media-session: /etc/pipewire/media-session.d/bluez-monitor.conf exists in filesystem (owned by pipewire-git)
pipewire-media-session: /etc/pipewire/media-session.d/media-session.conf exists in filesystem (owned by pipewire-git)
pipewire-media-session: /etc/pipewire/media-session.d/v4l2-monitor.conf exists in filesystem (owned by pipewire-git)
pipewire-media-session: /usr/bin/pipewire-media-session exists in filesystem (owned by pipewire-git)
Errors occurred, no packages were upgraded.

I'd appreciate any pointers..

kleinph commented on 2021-03-23 09:27 (UTC) (edited on 2021-03-23 09:27 (UTC) by kleinph)

@A.J @tallero this AUR package seems to be poorly maintained. Use pipewire-common-git instead.

tallero commented on 2021-03-21 18:04 (UTC)

MR: (maybe) updated meson options need to be updated

A.J commented on 2021-03-18 03:36 (UTC)

then how to solve the issue ??

kode54 commented on 2021-03-18 02:13 (UTC)

They're user services, not system services. And they're supposed to be enabled automatically on install, and start when you log into your session.

A.J commented on 2021-03-18 00:36 (UTC)

am getting no sound , pactl info : connection refused .

also the systemd services is in /usr/lib/systemd/user , is that the correct location for it ??

yourealwaysbe commented on 2021-03-15 09:14 (UTC)

In case it benefits anyone. After an update on 2021-03-13, i ran into the "no devices detected issue". This was despite having pipewire-media-session running as described in the Arch Wiki.

The source of the error was that i had somehow ended up with the pipewire-media-session package installed, rather than pipewire-media-session-git.

b.vandenheuvel commented on 2021-03-12 22:07 (UTC)

I also needed vulkan-headers to compile.

brknrobot commented on 2021-03-11 20:15 (UTC)

These options fix the build.

    -D udevrulesdir=/usr/lib/udev/rules.d \
    -D docs=enabled \
    -D jack=disabled \
    -D gstreamer=disabled \
    -D gstreamer-device-provider=disabled \
    -D ffmpeg=enabled \
    -D libcamera=disabled \

tinywrkb commented on 2021-03-11 15:54 (UTC)

@sl1pkn07 I won't post here anymore about changes. I switched my systems to the stable release.
For testing I'm using my own packaging now that is more in sync with extra/pipewire and it's easier for me to keep it updated this way.

@GraysonPeddie that's due to a recent update in the build system. You need to change true->enabled and false->disabled for the meson config. You also need to explicitly set the vulkan option as disabled due to a regression introduced by this update.

Also, you should consider building in a chroot, I highly recommend using aurutils.
There are automatic build options that will be caught if you have a specific lib installed in your host system.
You wouldn't hit that conflict if you had built in a clean chroot.
But it doesn't change the fact that this is due to outdated packaging.

GraysonPeddie commented on 2021-03-11 14:28 (UTC)

I'm not able to proceed with building pipewire-git as I've had to update the PKGBUILD file every time I try to rebuild it.

../pipewire/meson.build:1:0: ERROR: Value "true" (of type "string") for combo option "Build documentation" is not one of the choices. Possible choices are (as string): "enabled", "disabled", "auto".

Also, I've ran into this problem:

Packages (6) pipewire-1:0.3.23-1 [removal]  pipewire-jack-1:0.3.23-1 [removal]
             pipewire-pulse-1:0.3.23-1 [removal]
             pipewire-git-0.3.23.57.gbdea557f-1
             pipewire-jack-git-0.3.23.57.gbdea557f-1
             pipewire-pulse-git-0.3.23.57.gbdea557f-1

Total Installed Size:  6.22 MiB
Net Upgrade Size:      0.53 MiB

:: Proceed with installation? [Y/n] 
(3/3) checking keys in keyring                     [######################] 100%
(3/3) checking package integrity                   [######################] 100%
(3/3) loading package files                        [######################] 100%
(3/3) checking for file conflicts                  [######################] 100%
error: failed to commit transaction (conflicting files)
pipewire-git: /usr/lib/gstreamer-1.0/libgstpipewire.so exists in filesystem (owned by gst-plugin-pipewire)
Errors occurred, no packages were upgraded.

bin commented on 2021-03-10 13:11 (UTC)

Please add provides=("pipewire-alsa" "pipewire-jack" "pipewire-media-session" "pipewire-pulse").

sl1pkn07 commented on 2021-03-04 22:44 (UTC)

later

greetings

tinywrkb commented on 2021-03-04 22:05 (UTC)

@sl1pkn07 please update the packaging. Here's again a patch following the latest changes to extra/pipewire.
I just went through this fast so it needs another set of eyes to confirm nothing is broken.

https://gist.github.com/tinywrkb/3e340f21bf5c5178b4ef6bab9eb89702

tinywrkb commented on 2021-02-25 11:50 (UTC)

The official recommendation now is to use the systemd service so let's keep it this way unless the extra/pipewire maintainers decide otherwise.

tinywrkb commented on 2021-02-25 04:43 (UTC)

p.s. with regards to enabling the pipewire-media-session.service there's a discussion here.
I'm not entirely convinced that enabling the service is the right approach.

tinywrkb commented on 2021-02-25 04:22 (UTC)

@all, there's a new service that you might need to enable if you updating before my suggested changes will be applied. So something like the following.

# systemctl enable --global pipewire-media-session.service
$ systemctl start --user pipewire-media-session.service

@sl1pkn07. a bit large update here https://gist.github.com/tinywrkb/6db1b588f673d5c941071996a394463c

Changes:

  • Sync with extra/pipewire, including some of the cosmetics. The main difference I kept is not moving the jack.conf to the split package, I tend to not agree with this, let's just keep the configs with the pipewire-media-session daemon, and this is how it's package in Fedora.
  • Drop ffmpeg spa plugin, iiuc it's supposed to be internally used but it doesn't seem to be useful and it's not enabled by default or in the Fedora builds packaged by wtaymans.
  • Globally enable the new pipewire-media-session systemd user service. I set the version in the vercmp call as the most recent one, 0.3.22.60.geacda22a-1, feel free to revise this.
  • I hope I haven't missed anything, it's working on my system correctly.

tinywrkb commented on 2021-02-24 20:53 (UTC)

@blackout pulseaudio-alsa is a compat config to make ALSA apps work through PulseAudio.

pipewire-alsa serves a different purpose, it lets ALSA apps work through PipeWire, so it's not the same.

I believe that there's nothing that stops you from using pulseaudio-alsa with PipeWire and then ALSA apps go through the Pulse server of PipeWire though I haven't tried.

blackout commented on 2021-02-24 20:29 (UTC)

provides pulseaudio-alsa ?

tinywrkb commented on 2021-02-18 18:58 (UTC)

@sl1pkn07 another change to the package.

  1. You missed client-rt.conf in the backup array.
  2. Bring back the configs into the main package. I was wrong to assume that users will install the -pulse package when using the Pulse server. This also follows the Rawhide package which PipeWire's developer is its maintainer.

@all you should probably expect two .pacsave files.

diff --git a/PKGBUILD b/PKGBUILD
index 25bb9c3..e329ffe 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -107,8 +107,10 @@ package_pipewire-git() {
             "libpipewire-${pkgver:0:3}.so"
             )
   conflicts=('pipewire')
-  backup=('etc/pipewire/pipewire.conf'
+  backup=('etc/pipewire/client-rt.conf'
           'etc/pipewire/client.conf'
+          'etc/pipewire/jack.conf'
+          'etc/pipewire/pipewire-pulse.conf'
           'etc/pipewire/pipewire.conf'
           'etc/pipewire/media-session.d/alsa-monitor.conf'
           'etc/pipewire/media-session.d/bluez-monitor.conf'
@@ -123,13 +125,11 @@ package_pipewire-git() {

   _pick docs usr/share/doc

-  _pick jack etc/pipewire/jack.conf
   _pick jack etc/pipewire/media-session.d/with-jack
   _pick jack usr/bin/pw-jack usr/lib/pipewire-${pkgver:0:3}/jack
   _pick jack usr/lib/spa-0.2/jack
   _pick jack usr/share/man/man1/pw-jack.1

-  _pick pulse etc/pipewire/pipewire-pulse.conf
   _pick pulse etc/pipewire/media-session.d/with-pulseaudio

   _pick ffmpeg usr/lib/spa-0.2/ffmpeg/libspa-ffmpeg.so
@@ -156,7 +156,6 @@ package_pipewire-jack-git() {
            )
   provides=('pipewire-jack')
   conflicts=('pipewire-jack')
-  backup=('etc/pipewire/jack.conf')

   mv jack/* "${pkgdir}"
 }
@@ -174,7 +173,6 @@ package_pipewire-pulse-git() {
              'pulseaudio'
              'pulseaudio-bluetooth'
              )
-  backup=('etc/pipewire/pipewire-pulse.conf')
   arch=('any')
   install=pipewire-pulse.install

tinywrkb commented on 2021-02-12 11:51 (UTC)

New config files. I'm not 100% sure about moving them to the split packages, especially not pipewire-pulse.conf though it looks like only pulse daemon relevant code uses it, so it might be ok.
Commit message says config paths might change so we should keep an eye on this as it might need another update.

diff --git a/PKGBUILD b/PKGBUILD
index b7a9ba0..0eba889 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=('pipewire-git'
          'pipewire-ffmpeg-git'
          'alsa-card-profiles-git'
          )
-pkgver=0.3.21.78.g6b11bf71
+pkgver=0.3.21.86.g8101334b
 pkgrel=1
 pkgdesc='Server and user space API to deal with multimedia pipelines. (GIT version)'
 arch=('x86_64')
@@ -107,7 +107,9 @@ package_pipewire-git() {
             "libpipewire-${pkgver:0:3}.so"
             )
   conflicts=('pipewire')
-  backup=('etc/pipewire/pipewire.conf'
+  backup=('etc/pipewire/client-rt.conf'
+          'etc/pipewire/client.conf'
+          'etc/pipewire/pipewire.conf'
           'etc/pipewire/media-session.d/alsa-monitor.conf'
           'etc/pipewire/media-session.d/bluez-monitor.conf'
           'etc/pipewire/media-session.d/media-session.conf'
@@ -121,11 +123,13 @@ package_pipewire-git() {

   _pick docs usr/share/doc

+  _pick jack etc/pipewire/jack.conf
   _pick jack etc/pipewire/media-session.d/with-jack
   _pick jack usr/bin/pw-jack usr/lib/pipewire-${pkgver:0:3}/jack
   _pick jack usr/lib/spa-0.2/jack
   _pick jack usr/share/man/man1/pw-jack.1

+  _pick pulse etc/pipewire/pipewire-pulse.conf
   _pick pulse etc/pipewire/media-session.d/with-pulseaudio

   _pick ffmpeg usr/lib/spa-0.2/ffmpeg/libspa-ffmpeg.so
@@ -152,6 +156,7 @@ package_pipewire-jack-git() {
            )
   provides=('pipewire-jack')
   conflicts=('pipewire-jack')
+  backup=('etc/pipewire/jack.conf')

   mv jack/* "${pkgdir}"
 }
@@ -169,6 +174,7 @@ package_pipewire-pulse-git() {
              'pulseaudio'
              'pulseaudio-bluetooth'
              )
+  backup=('etc/pipewire/pipewire-pulse.conf')
   arch=('any')
   install=pipewire-pulse.install

tinywrkb commented on 2021-02-11 11:23 (UTC)

@sl1pkn07 here's another update for the PKGBUILD:
1. Drop the Vulkan dependencies as it's now disabled by default and not useful.
2. Sync with extra/pipewire changes. 3. Cosmetics.

diff --git a/PKGBUILD b/PKGBUILD
index ef8dcc4..4438c13 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ pkgname=('pipewire-git'
          'pipewire-ffmpeg-git'
          'alsa-card-profiles-git'
          )
-pkgver=0.3.20.9.g73896bfa
+pkgver=0.3.21.75.g21040043
 pkgrel=1
 pkgdesc='Server and user space API to deal with multimedia pipelines. (GIT version)'
 arch=('x86_64')
@@ -24,13 +24,11 @@ makedepends=('git'
              'jack2'
              'sbc'
              'rtkit'
-             'vulkan-icd-loader'
              'dbus'
              'sdl2'
              'ncurses'
              'libsndfile'
              'bluez-libs'
-             'vulkan-headers'
              'ffmpeg'
              'libldac'
              'libopenaptx'
@@ -88,7 +86,6 @@ package_pipewire-git() {
            'bluez-libs'
            'rtkit'
            'sbc'
-           'vulkan-icd-loader'
            'libasound.so'
            'libdbus-1.so'
            'libfdk-aac.so'
@@ -122,9 +119,6 @@ package_pipewire-git() {

   cd "${pkgdir}"

-  mkdir -p etc/alsa/conf.d
-  ln -st etc/alsa/conf.d /usr/share/alsa/alsa.conf.d/50-pipewire.conf
-
   _pick docs usr/share/doc

   _pick jack etc/pipewire/media-session.d/with-jack
@@ -190,9 +184,10 @@ package_pipewire-alsa-git() {
   conflicts=('pipewire-alsa')
   arch=('any')

-  mkdir -p "$pkgdir"/etc/{alsa/conf.d,pipewire/media-session.d}
-  ln -st "${pkgdir}/etc/alsa/conf.d" /usr/share/alsa/alsa.conf.d/99-pipewire-default.conf
-  touch "$pkgdir/etc/pipewire/media-session.d/with-alsa"
+  mkdir -p "${pkgdir}"/etc/{alsa/conf.d,pipewire/media-session.d}
+  ln -st "${pkgdir}/etc/alsa/conf.d" \
+    /usr/share/alsa/alsa.conf.d/{50-pipewire,99-pipewire-default}.conf
+  touch "${pkgdir}/etc/pipewire/media-session.d/with-alsa"
 }

 package_alsa-card-profiles-git() {
@@ -200,7 +195,7 @@ package_alsa-card-profiles-git() {
   provides=('alsa-card-profiles')
   conflicts=('alsa-card-profiles')

-  mv acp/* "$pkgdir"
+  mv acp/* "${pkgdir}"
 }

 package_pipewire-ffmpeg-git() {

p.s. There are fewer reasons for me to stay on the git package. The only things I'm looking forward are to are: BT HW/device volume sync, auto HFP/HSP profile switch (voice call mode), and a few bug fixes.
So I might not stay on top of changes in the future.

tinywrkb commented on 2021-01-31 16:56 (UTC) (edited on 2021-02-01 13:10 (UTC) by tinywrkb)

I'm not exactly sure when this was added but now PipeWire is can save & restore the volume level of Bluetooth headphones, and it's not defaulting to 100% anymore when there's no saved state.
Also, when you connect a BT device it auto set the default sink and move all playing audio streams (at least those that were not manually set) to the A2DP output sink of the BT device.
So if you used my systemd user udev rule, which I noticed a couple of users did, then you don't need it anymore.

tinywrkb commented on 2021-01-21 11:42 (UTC)

@sl1pkn07 More changes from extra/pipewire.
Now alsa-card-profile is being packaged/split-up from pipewire base package and not pulseaudio, and the latter is packaged with the card profiles.
Because pulseaudio doesn't depend anymore on alsa-card-profile, I think it safe and correct to have pipewire-git directly depend on alsa-card-profile-git.

diff --git a/PKGBUILD b/PKGBUILD
index e0831d8..2009b13 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -5,6 +5,7 @@ pkgname=('pipewire-git'
          'pipewire-alsa-git'
          'pipewire-pulse-git'
          'pipewire-ffmpeg-git'
+         'alsa-card-profiles-git'
          )
 pkgver=0.3.19.61.gfee0c267
 pkgrel=1
@@ -35,6 +36,7 @@ makedepends=('git'
              'libopenaptx'
              'libfdk-aac'
              )
+checkdepends=(desktop-file-utils)
 source=('git+https://gitlab.freedesktop.org/pipewire/pipewire.git')
 sha256sums=('SKIP')

@@ -82,7 +84,7 @@ _pick() {
 }

 package_pipewire-git() {
-  depends=('alsa-card-profiles'
+  depends=('alsa-card-profiles-git'
            'bluez-libs'
            'rtkit'
            'sbc'
@@ -134,9 +136,8 @@ package_pipewire-git() {

   _pick ffmpeg usr/lib/spa-0.2/ffmpeg/libspa-ffmpeg.so

-  # Use alsa-card-profiles built with Pulseaudio
-  rm -rv "$pkgdir"/usr/share/alsa-card-profile
-
+  _pick acp usr/lib/udev
+  _pick acp usr/share/alsa-card-profile
 }

 package_pipewire-docs-git() {
@@ -193,6 +194,14 @@ package_pipewire-alsa-git() {
   touch "$pkgdir/etc/pipewire/media-session.d/with-alsa"
 }

+package_alsa-card-profiles-git() {
+  pkgdesc="ALSA card profiles shared by PipeWire (GIT version)"
+  provides=('alsa-card-profiles')
+  conflicts=('alsa-card-profiles')
+
+  mv acp/* "$pkgdir"
+}
+
 package_pipewire-ffmpeg-git() {
   pkgdesc='Server and user space API to deal with multimedia pipelines. (FFmpeg SPA plugin)(GIT version)'
   depends=('pipewire'

tinywrkb commented on 2021-01-13 16:56 (UTC)

New config files

diff --git a/PKGBUILD b/PKGBUILD
index c4fcb1d..0f4fdc4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -112,7 +112,9 @@ package_pipewire-git() {
   conflicts=('pipewire')
   backup=('etc/pipewire/pipewire.conf'
           'etc/pipewire/media-session.d/alsa-monitor.conf'
+          'etc/pipewire/media-session.d/bluez-monitor.conf'
           'etc/pipewire/media-session.d/media-session.conf'
+          'etc/pipewire/media-session.d/v4l2-monitor.conf'
           )
   install=pipewire-git.install

eh5 commented on 2021-01-10 09:08 (UTC) (edited on 2021-02-19 02:29 (UTC) by eh5)

Consider using https://aur.archlinux.org/pkgbase/pipewire-common-git/ if you are looking for GStreamer support.

65a commented on 2021-01-09 08:23 (UTC)

Having weird issues with this package vs the default version, and I'm not sure I trust the maintainer. Going back to default package until this namesquat is sorted.

tinywrkb commented on 2020-12-31 17:25 (UTC)

This makes the PKGBUILD a little more similar to extra/pipewire's one https://gist.github.com/tinywrkb/357c3a1a6d18e4219bb211b2a8d3de3f

tinywrkb commented on 2020-12-30 19:51 (UTC)

Note for users, you don't need to enable bluez5 in /etc/pipewire.conf anymore, it just works if you have the pipewire-pulse-git package installed because of the new config files.
In fact, the media-session -e option was removed completely, so I suggest to delete pipewire.conf and have the package deploy the default one when you upgrade.

To the maintainer, new config files in /etc that need to be backed up.

diff --git a/PKGBUILD b/PKGBUILD
index 7efd87a..66b7d77 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -104,7 +104,9 @@ package_pipewire-git() {
             "libpipewire-${pkgver:0:3}.so"
             )
   conflicts=('pipewire')
-  backup=('etc/pipewire/pipewire.conf')
+  backup=('etc/pipewire/pipewire.conf'
+          'etc/pipewire/media-session.d/alsa-monitor.conf'
+          'etc/pipewire/media-session.d/media-session.conf')
   install=pipewire-git.install

   DESTDIR="${pkgdir}" meson install -C build

tinywrkb commented on 2020-12-23 21:16 (UTC)

libfdk-aac is a new makedepend and also a depend in the package function of the pipewire-git. It adds AAC encoder for the Bluetooth plugin.
I confirmed that after adding the dependency the meson buildsystem finds the lib.

polyzen commented on 2020-12-17 22:52 (UTC)

No, the orphan request is not eligible to be accepted.

The policy is to not accept orphan requests until after 2 weeks, and it has hit the 2 week mark, with no response.

See the discussion here: https://lists.archlinux.org/pipermail/aur-requests/2020-November/046657.html

I read that, see the default here: https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/91b0d3bb39bdb43d667ed156bdfb798afd0098e7/meson_options.txt#L21-24

Enabling the ffmpeg feature is fine, but disabling gstreamer without giving a reason, not so much.

sl1pkn07 commented on 2020-12-17 22:41 (UTC)

@tinywrkb, @polyzen is a TU, he can make a decisions about this theme

greetings

tinywrkb commented on 2020-12-17 22:34 (UTC) (edited on 2020-12-17 22:45 (UTC) by tinywrkb)

@polyzen No, the orphan request is not eligible to be accepted. The maintainer is doing nothing against the rules and saying he is doesn't make it true. See the discussion here: https://lists.archlinux.org/pipermail/aur-requests/2020-November/046657.html

If you don't agree with the maintainer's packaging decisions then go ahead and create your own PKGBUILD.
I have a couple of these myself for packages from the official Arch Linux repos due to my disagreements with Arch TUs' packaging decisions.

polyzen commented on 2020-12-17 21:42 (UTC)

I don't see a rationale given for disabling gstreamer support, which is enabled upstream, in the stable package in our repos, and any other distro I checked, despite being asked several times.

There is an orphan request which is now eligible to be accepted that you also have not responded to.

tinywrkb commented on 2020-12-09 20:02 (UTC)

Heads up, as of today, aptX is working and maybe also LDAC, you just need to rebuild the package.
See here how to check which codec is used.

sl1pkn07 commented on 2020-12-04 16:30 (UTC)

@tinywekb, done libldac

greetings

tinywrkb commented on 2020-12-04 15:26 (UTC)

@sl1pkn07 thanks for the reply. Pipewire's dev confirmed that libldac is the correct package for the new LDAC support, so please add this.
Probably the safest route is to the base package's makedepends and in the package function to pipewire-git's depends.

sl1pkn07 commented on 2020-12-04 14:56 (UTC) (edited on 2020-12-04 15:12 (UTC) by sl1pkn07)

seems libopenaptx asc key is expired (makepkg claim it). for security reasons, i've not include this change yet.when upstream fix this, then i can add it without problem

edit: https://github.com/pali/libopenaptx/issues/6

greetings

tinywrkb commented on 2020-12-04 14:51 (UTC)

Apart of libopenaptx, I believe also libldac is needed. I asked the dev for confirmation here.

tinywrkb commented on 2020-12-04 11:17 (UTC)

New dependency: libopenaptx, I haven't tested yet but it's probably not being linked against pipewire, just the bluez spa plugin, so it might be possible to set it as makedepend and optdpend instead.

https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/106d597305ffbd5a9341c44b918274e8bea7db71

hexchain commented on 2020-11-26 00:09 (UTC)

Hi, can you at least consider enabling the gstreamer plugin and keep it as a separate split package? It would benefit other people that want to use this package to test PipeWire since they do not need to worry about a missing dependency of gnome-shell. You can of course still install without gstreamer yourself, and there is no need for you to "support" gstreamer in any way.

FreeFull commented on 2020-11-17 12:05 (UTC)

Since I haven't been even able to install pipewire-git (due to the alsa-card-profiles conflict), I've been using the pipewire PKGBUILD from the ABS, modified to pull from the master branch rather than from a tag. Basing a new pipewire-git PKGBUILD on the pipewire PKGBUILD is probably a good idea.

sl1pkn07 commented on 2020-11-17 12:04 (UTC)

Sorry @katt, you arrive late to the discussion. Maybe in other time. Greetings

katt commented on 2020-11-17 11:46 (UTC)

@sl1pkn07 You should've named it pipewire-sl1pkn07-git then, to enable the options that suits you.

Please don't waste everyone elses time, greetings.

tinywrkb commented on 2020-11-16 23:47 (UTC)

@sl1pkn07 thank you for updating the package.
I'm also not a fan of gst and if you're not building in a chroot then building with it enabled would be disruptive.
In any case, the pulse server starting to look pretty nice, it only missing volume state saving and auto-switching to the default sink (and streams) when connecting BT headphones.

sl1pkn07 commented on 2020-11-16 23:38 (UTC)

As maintainer of this package, I enable or disable the options that I think are convenient

if you not like, you can create you own package with your needs. this is AUR, you can do it

please. don't waste my time

greetings

PedroHLC commented on 2020-11-16 23:28 (UTC)

WT# are you saying @sl1pkn07? This is AUR and not sl1pkn07's personal git!

ArchLinux guidelines dictates to keep all package's as closest to the upstream project settings and defaults.

If you're not interested in keeping the arch's philosphy or keep the project to your own usage means, then you're the one to orphanage this one and create create a GitHub repo...

I'll ticket the orphanage request for you!

tinywrkb commented on 2020-11-16 22:53 (UTC)

With the new pulse server and its Systemd service and socket, pipewire-pulse-git should have pulseaudio in its provides array.

The main developer of Pipewire is also maintaining the Fedora packaging and it ships the GStreamer module and not building the FFmpeg one at all, so it seems like the GStreamer module is recommended to use.
I suggest having them both enabled here but split them into their own packages, so anyone who wants to avoid gst on the host system can build in a chroot which is pretty easy with aurutils.

Suggested changes are here: https://gist.github.com/tinywrkb/ecfdf730e54042dc26610f3c204624f8

Kodehawa commented on 2020-11-14 00:41 (UTC) (edited on 2020-11-14 00:53 (UTC) by Kodehawa)

Hm. How am I meant to use it as a pulse replacement without pw-pulse?

EDIT: systemctl enable --user pipewire-pulse

wizardwatch commented on 2020-11-12 20:32 (UTC) (edited on 2020-11-12 22:06 (UTC) by wizardwatch)

Attempts to use stat on usr/bin/pw-pulse instead of /usr/bin/pw-pulse during install. Issue occurred with error "mv: cannot stat 'usr/bin/pw-pulse': No such file or directory" on Clean build. The devs are reporting this as a packaging issue so I am also making note of it here.

edit: It seems that the issue is with the aur package rather than upstream. Pw-pulse has been depreciated and needs removed from the pkgbuild. https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/375

FreeFull commented on 2020-10-16 15:37 (UTC)

For some reason pipewire-git conflicts with alsa-card-profiles

error: failed to commit transaction (conflicting files)
pipewire-git: /usr/share/alsa-card-profile/mixer/paths/analog-input-aux.conf exists in filesystem (owned by alsa-card-profiles)

Also, pipewire-git contains pw-jack and pw-pulse, instead of those being in pipewire-jack-git and pipewire-pulse-git

kode54 commented on 2020-09-25 22:15 (UTC)

pkgconf is part of the base-devel group, which should be pretty much bare minimum for diving into ABS or the AUR.

greyltc commented on 2020-09-25 11:27 (UTC)

missing pkgconf dep I think.

sl1pkn07 commented on 2020-09-13 14:57 (UTC)

└───╼  systemctl --user status pipewire.socket 
● pipewire.socket - Multimedia System
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; disabled; vendor preset: enabled)
     Active: inactive (dead)
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
┌─┤[$]|[sl1pkn07]|[sL1pKn07]|[~/aplicaciones/pipewire-git]|
└───╼  systemctl --user start pipewire.socket 
┌─┤[$]|[sl1pkn07]|[sL1pKn07]|[~/aplicaciones/pipewire-git]|
└───╼  systemctl --user status pipewire.socket 
● pipewire.socket - Multimedia System
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; disabled; vendor preset: enabled)
     Active: active (listening) since Sun 2020-09-13 16:56:35 CEST; 2s ago
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/pipewire.socket

sep 13 16:56:35 sL1pKn07 systemd[1191]: Listening on Multimedia System.

timofonic commented on 2020-09-13 12:00 (UTC)

systemctl --user status pipewire.socket

Failed to connect to bus: Operation not permitted

systemctl --user status pipewire.service

Failed to connect to bus: Operation not permitted

kode54 commented on 2020-09-13 07:44 (UTC) (edited on 2020-09-13 08:10 (UTC) by kode54)

Why is this set to build against FFmpeg instead of gstreamer? Also, it may be worth reporting upstream that as of six commits past stable, it's quite broken right now.

sl1pkn07 commented on 2020-08-20 17:32 (UTC)

done

sorry the late

greetings

teraflops commented on 2020-08-20 16:32 (UTC)

I get this pipewire-git: /lib exists in filesystem (owned by filetem) pipewire-git: /lib/udev/rules.d/90-pipewire-alsa.rules exists in filesystem

electropura commented on 2020-08-11 22:14 (UTC)

It seems there is a new meson option that needs to be set: -Dudevrulesdir="/usr/lib/udev/rules.d"

net147 commented on 2020-08-01 11:54 (UTC) (edited on 2020-08-01 11:55 (UTC) by net147)

error: failed to commit transaction (conflicting files)

pipewire-git: /lib exists in filesystem (owned by filesystem)

danshick commented on 2020-04-29 15:58 (UTC) (edited on 2020-04-29 18:31 (UTC) by danshick)

The build has changed and the _pick commands are now failing. pulse and jack libs are now being placed in their own directories.

Edit: thanks, fixed now

FunctionalHacker commented on 2020-04-17 18:55 (UTC)

Can this be made to conflict with pipewire? I can't install it since so many of my packages depend on pipewire and the installation of pipewire-git results in file conflicts.

tallero commented on 2020-02-27 10:28 (UTC)

Agree with @sekret.

sekret commented on 2019-11-11 20:45 (UTC)

Please change the jack dependency to jack2, because it doesn't build with jack.

PedroHLC commented on 2019-11-11 13:59 (UTC) (edited on 2019-11-11 15:16 (UTC) by PedroHLC)

Seems like the repo was moved (and submodules merged) to here: https://gitlab.freedesktop.org/pipewire/pipewire

EDIT: Using this repo, it also needs cmake in makedepends to build from a clean chroot, and jack2 instead of jack.

danshick commented on 2019-10-16 21:55 (UTC)

Woah, that was quick. Still missing bluez-libs and jack dependencies, but submodules are working and vulkan-headers is there now

danshick commented on 2019-10-16 21:27 (UTC) (edited on 2019-10-16 21:34 (UTC) by danshick)

bluez-libs and jack2 dependencies are missing

Optionally, you could add some additional meson options to disable bluez and jack support

-D gstreamer=disable is no longer working, needs to be -D gstreamer=false

-D bluez5=false -D jack=false -D pipewire-jack=false were needed to build correctly without these deps

additionally, ran into vulkan issues later during compilation, and -D vulkan=false fixed this as well

and as for linkmauve's previous comment, the git clone needs to be recursive now as they are using submodules for pipewire-alsa, pipewire-jack, and pipewire-pulseaudio

sl1pkn07 commented on 2019-05-15 20:14 (UTC)

@fuzen this is a GIT package, please just reinstall for update it

linkmauve commented on 2019-01-04 16:03 (UTC)

Hi, you’re missing the pipewire-alsa, pipewire-jack and pipewire-pulseaudio submodules, this package fails to build currently.

PedroHLC commented on 2018-11-05 12:56 (UTC)

Missing 'gstreamer' 'gst-plugins-base'

hussam commented on 2017-09-20 07:43 (UTC)

@hobbledehoy899 for which one human lifetime is not nearly enough.

hobbledehoy899 commented on 2017-09-19 21:20 (UTC)

This will (eventually) lead to a painful (yet necessary) ride.