Csound Csound-dev Csound-tekno Search About

[Csnd] Interesting Interaction with Pipewire Jack and Qjackctl

Date2026-11-10 23:45
FromBrandon Hale
Subject[Csnd] Interesting Interaction with Pipewire Jack and Qjackctl

Hello all,

I use csound with a complete pipewire system (including pipewire-jack and pipewire-alsa) and just discovered an interesting interaction using csound 7's (packaged for arch linux from extra-staging) jack rtaudio backend and qjackctl. 

I like to route things with qjackctl, as it still works with pipewire, but if qjackctl is running in the background when I run my csound for realtime output using the jack backend, it sometimes will not output audio, and only sometimes being the key word, while everything says it is (and everything being pw-top, qjackctl, and csound reporting running normally without errors, just no audio, despite rerouting and trying things).  Below is my very mundane test csd named jack-test.csd with pipewire's quantum set to 1024:

<CsoundSynthesizer>

<CsOptions>
-+rtaudio=jack -o dac -b 1024 -B 4096

</CsOptions>

<CsInstruments>
sr = 48000
;; kr = 4800 
ksmps = 16
nchnls = 2
0dbfs = 1

instr 1
  afourforty oscili .3, 440, 1  
  outs afourforty, afourforty
endin 

</CsInstruments>

<CsScore>
f1 0 4096 10 1
i1 0 100

</CsScore>

</CsoundSynthesizer>

I found if I don't have qjackctl running the background with this file, csound consistently outputs audio correctly. qpwgraph also has no negative affect running in the background.

Lastly, I didn't know if this was the right place to post about this, or going straight to the pipewire devs, but I figured maybe someone else here can try this out and see if it happens on their setup too. Below are my software versions from pacman -Q:

qjackctl 1.0.6-1
csound 7.0.0-1
csound-debug 7.0.0-1
csound-doc 7.0.0-1
csound-plugins 1.0.2-18
lib32-libpipewire 1:1.6.10-1
lib32-pipewire 1:1.6.10-1
lib32-pipewire-jack 1:1.6.10-1
lib32-pipewire-v4l2 1:1.6.10-1
libpipewire 1:1.6.11-1
pipewire 1:1.6.11-1
pipewire-alsa 1:1.6.11-1
pipewire-audio 1:1.6.11-1
pipewire-jack 1:1.6.11-1
pipewire-pulse 1:1.6.11-1
pipewire-session-manager 1:1.6.11-1
pipewire-v4l2 1:1.6.11-1
libwireplumber 0.5.19-1
wireplumber 0.5.19-1

Personally, I'm just happy I figured out how to now reliably use the jack backend with csound. It was driving me a bit crazy.

Let me know what you find,
Brandon Hale