Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#78592 - [pipewire] 0.3.71 add new module-jackdbus-detect

Attached to Project: Arch Linux
Opened by Bennett Hardwick (bennettbackward) - Wednesday, 24 May 2023, 12:00 GMT
Last edited by Jan Alexander Steffens (heftig) - Tuesday, 05 September 2023, 22:53 GMT
Task Type Feature Request
Category Packages: Extra
Status Closed
Assigned To Jan Alexander Steffens (heftig)
David Runge (dvzrv)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

The latest upstream version of pipewire (0.3.71) includes a new module called jackdbus-detect which allows pipewire to run as a JACK client and lets you use the native jack instead of pipewire-jack (https://gitlab.freedesktop.org/pipewire/pipewire/-/releases/0.3.71#highlights).

I followed the docs to set this up (https://docs.pipewire.org/page_module_jackdbus_detect.html) but pipewire wouldn't start and complained that this module didn't exist.
The docs include a spelling mistake with the module name but even after correcting this it didn't fix the issue.

In fact that module (libpipewire-module-jackdbus-detect.so) and the other required jack-tunnel module (libpipewire-module-jack-tunnel.so) are not available with the latest packaged version of pipewire.

Steps to reproduce:

1. Install pipewire, jack2 and jack2dbus
2. Copy `/usr/share/pipewire/pipewire.conf` to `~/.config/pipewire/pipewire.conf`
3. Add { name = libpipewire-module-jackdbus-detect } to `context.modules` in `~/.config/pipewire/pipewire.conf`
4. Pipewire fails to start with "file not found" error


Possible fix:

I noticed that this module is only built when jack is available based on these lines from the upstream build scripts:

https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/dfeacaafdd4dd63f6b7cd659d46de19cb2228b70/src/modules/meson.build#L163-184

I also noticed that there is a flag passed to the pipewire build in the PKGBUILD disabling jack:

https://gitlab.archlinux.org/archlinux/packaging/packages/pipewire/-/blob/355bad58ec7e1f5bc9b7f46dfc1543badf17d034/PKGBUILD#L89

Removing this line and adding jack2 as a makedepend fixes the issue on my machine - but I'm not sure if there are any other implications with doing this.
For example I don't think it makes sense to add this to the pipewire-jack module but naturally the pipewire module shouldn't depend on jack.

Perhaps there should be a new pipewire-jackdbus-detect module that includes this?


This task depends upon

Closed by  Jan Alexander Steffens (heftig)
Tuesday, 05 September 2023, 22:53 GMT
Reason for closing:  Implemented
Additional comments about closing:  pipewire 1:0.3.79-2 added pipewire-jack-client package
Comment by M (mjr) - Monday, 04 September 2023, 12:45 GMT
Anything we can do to help get this solved? I've been manually rebuilding pipewire with the changes to the PKGBUILD suggested by @bennetbackward (see attached patch) for quite a few versions and it works fine for me. It's also not clear to me which pipewire package the new jackdbus-detect module should be included in - possibly a new package?

Loading...