Wim Taymans edited this page Oct 11, 2018 · 6 revisions

We would like to do:

  • provide a drop-in replacement for libjack.so. Existing clients should work unmodified.
  • All jack API calls are mapped to equivalent PipeWire calls
  • Jack clients can only see ports marked with the dsp tags. These ports provide and consume float32 audio in mono.
  • A PipeWire session manager should provide DSP nodes that interfaces with the audio device and mix audio on the inputs. Through the ports provided by this node, jack clients (or native clients using compatible ports) can connect to the devices.
  • We would like to have the wakeup of jack clients be as lightweight as possible.
  • session handling through the PipeWire session handling API (to be designed).

How to test the current JACK support:

  • you will need to check out the work branch
  • run the pw-uninstalled.sh script to set up library paths
  • modify pipewire.conf, make sure this line is uncommented at the end:
exec build/src/examples/media-session
  • restart pipewire, pipewire-monitor should list a lot of new nodes nodes with ports marked with the port.dsp property set to the dsp profile.
  • in a console run a simple client like:
jack_simple_client
  • it should play a beep sound. You can use a tool like Carla to see the graph and add more nodes and connections.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.