Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
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:
- 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:
- it should play a beep sound. You can use a tool like Carla to see the graph and add more nodes and connections.
Clone this wiki locally
Press h to open a hovercard with more details.