Score:0

How to develop and run jack applications under pipewire correctly

cn flag

I have just installed 22.10 and I am trying to setup my jack environment properly.

Run: one needs to install pipewire-jack and then execute via pw-jack my-application.

Develop: I need to install jack.h which comes from 2 possible real jack packages, either libjack-dev or libjack-jackd2-dev which will both install the real jack libraries.

It seems ok, but it is not.

  1. The real jack package will be installed on my system
  2. This becomes the default jack provider (unless overridden case by case via pw-jack)
  3. The net result is that it is all too easy to run the wrong jack
  4. snap packages totally ignore pw-jack and run their own choice of libjack (e.g. musescore)

The final result is really unsatisfactory. I do not want the old jack server anywhere on my system. The should be a single setting (maybe a package) to switch between real jack and pw jack.

An example is python-is-python3 which simply symlinks the chosen version of python and this applies system wide.

Can this be improved at all?

Score:0
cn flag

PW replaces jack subsystem. It emulates jack (API). AFAIK you can't chose. when PW is install PW jack is used. I compiled Jack clients against the legacy jack2 libraries and the clients just work with PW jack (and legacy). (Ubuntu 22.04.1). I actually prefer Legacy Jack because PW jack causes more XRUNS with external audio hardware. YMMV. Perhaps PW has evolved. It would be great if there was any easy way to move between Jack and legacy PA/Jack but it seems Canonical is pushing PW, Right now it seems the best way is to have two development systems (or boot disks) one with PW and one legacy PA/PW.

Andrea avatar
cn flag
I do not really have the same experience as you. A client application uses PW-Jack only if it is told to do it via `pw-jack` otherwise the default is to try to use real-jack regardless of the presence or not of PW. I think a system setting to decide which jack server to run would be a much better situation.
Debugging avatar
cn flag
Agreed. You are connect that pw-jack must be installed for PW to act as the Jack server. I do wonder though how legacy Jack and PW running at the same time accessing the ALSA drivers if this is giving conflicts. Am on Ubuntu 23.04 now with PW-jack and the whole PW is much better now since 22.04. Never seen Xrun so far in jack, but perhaps PW does not report XRUNs' (not sure). Did had to select the interface in PAVU control for the USB audio interface to get it to work.
I sit in a Tesla and translated this thread with Ai:

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.