FS#68745 - [jack2] split jackdbus into a separate package
Attached to Project:
Community Packages
Opened by hexchain (hexchain) - Wednesday, 25 November 2020, 21:08 GMT
Last edited by David Runge (dvzrv) - Wednesday, 03 February 2021, 19:43 GMT
Opened by hexchain (hexchain) - Wednesday, 25 November 2020, 21:08 GMT
Last edited by David Runge (dvzrv) - Wednesday, 03 February 2021, 19:43 GMT
|
Details
Description:
Some program (e.g. Catia) tries to connect to the JACK server through D-Bus, and only fallback to use libjack if D-Bus is not available. For people like me that uses PipeWire solely, the original JACK server cannot be started due to the replacement JACK client libraries. Thus, on startup, Catia will hang for a few minutes waiting for the D-Bus activation to fail. Is it possible (or desirable) to split jackdbus and the service file into a separate package, so that people can selectively get rid of the D-Bus part? Additional info: * package version(s) pipewire 0.3.16-5 pipewire-jack 0.3.16-5 jack2 1.9.16-1 |
This task depends upon
Closed by David Runge (dvzrv)
Wednesday, 03 February 2021, 19:43 GMT
Reason for closing: Implemented
Additional comments about closing: Implemented with jack2 1.9.17-1
Wednesday, 03 February 2021, 19:43 GMT
Reason for closing: Implemented
Additional comments about closing: Implemented with jack2 1.9.17-1
How do you start jack?
However, with this ld path change in place, the real JACK server cannot be started anymore, which is fine given that it's features are now provided by PipeWire.
In the future the pipewire-jack package is supposed to be a drop-in replacement of jack, but this is not yet the case.
Splitting out the dbus stuff is not really feasible (we have been there before actually) and is just more fragmentation and more mess.
I'll write to heftig and see whether we can provide a drop-in replacement soonish.
To my knowledge pipewire on top of jack will remain a supported use-case by upstream (according to Wim Taymans).
Fedora also splits jack-dbus out. I'm interested in the reason why jack-dbus is no longer a thing on Arch.
As mentioned earlier, having had jack2-dbus meant even more fragmentation. We already have jack and jack2.
The jack2-dbus package was a conflict/provides with jack2. That's not particularly great user experience.
I am not entirely sure, whether the dbus stuff can be made an optdepends of jack2 (only providing e.g. the scripts etc.). FTR: Just because $X does $Y does not mean that it is great or that it will actually work as expected or reliably in our use-case.
You are currently experiencing the forefront of missing integration :)
Joke aside: I will try and get in touch with Wim to check how he envisions this integration.
Did you try with jack(1) btw? It does not have dbus integration.
> The jack2-dbus package was a conflict/provides with jack2. That's not particularly great user experience.
Okay, so IIUC jack2-dbus was another full jack2 build with D-Bus enabled? If that is the case, what I mean by "splitting" is something like Fedora's jack-dbus package [1].
> FTR: Just because $X does $Y does not mean that it is great or that it will actually work as expected or reliably in our use-case.
I understand that. I'm not suggesting to remove JACK and force PipeWire for everyone.
> Did you try with jack(1) btw? It does not have dbus integration.
I wasn't aware that jack and jack2 are interchangeable. Good to know!
[1] https://fedora.pkgs.org/rawhide/fedora-x86_64/jack-audio-connection-kit-dbus-1.9.14-5.fc34.x86_64.rpm.html
I guess splitting out the dbus only files and making it an optdepend of jack2 can be a solution though. I'll check it out!
Meanwhile I wrote with Wim Taymans and he also suggests leaving dbus out of the game.
Please test integration with e.g. cadence and qjackctl. Thanks!
It seems to me that qjackctl works fine without jack2-dbus.
I think cadence can also optionally depend on jack2-dbus, because the tools that come with it do not need that (but itself isn't very useful then).
However, irt to cadence, it will require jack2-dbus in depends. While the catia executable can potentially use a jack started via jackd, cadence (the main application in that package) only works with jackdbus.
Upstream is about to make catia a standalone project in the future though.
Thanks for testing!