JackDriver: couldn't activate jack client


#1

Hi,
Running SC 3.8.0 on linux fedora, (planet ccrma). I’m having trouble understanding how Jack and SC work together. Yesterday I tried to run SC with an external USB audio interface. And now I’m having trouble just booting the server with any audio interface (even internal) without some addtional jack tweaking.

Here’s the message I boot SC, after a machine boot (I have nothing in my startup.scd file):

booting 57110
jackdmp 1.9.12
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2017 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 20
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:PCH|hw:PCH|32|2|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 32 frames (0.7 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 44100.000000, driver's block size = 32
JackDriver: couldn't activate jack client
start audio failed.
RESULT = 0
ERROR: server failed to start
For advice: [http://supercollider.github.io/tutorials/server-failed-to-start]

After some googling around, I found that I could fix it with this command in a terminal:

jackd -d alsa -d hw:PCH

Now when I boot the server in SC, it works OK:

booting 57110
JackDriver: client name is 'SuperCollider'
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 1024
JackDriver: connected  system:capture_1 to SuperCollider:in_1
JackDriver: connected  system:capture_2 to SuperCollider:in_2
JackDriver: connected  SuperCollider:out_1 to system:playback_1
JackDriver: connected  SuperCollider:out_2 to system:playback_2
SuperCollider 3 server ready.
JackDriver: max output latency 42.7 ms
Receiving notification messages from server localhost
Shared memory server interface initialized
JackDriver: killed by jack
RESULT = 0

Now the audio works with my internal audio interface. But I have no idea why this works, what’s happening between jack and SC, why I need this command… I’m pretty confused, and I would need to understand what’s happening so that I can confidently switch between several audio interfaces.

Can somebody help me understand what’s going on?

Thank you very much.


#2

Hi RedBluff,

Looks like you found the solution to your JACK booting issues. It’s normal to have to configure JACK to use different hardware when moving between USB and internal audio.

The SC server expects a running JACK, and it’s recommend practice to boot JACK separately from SC (via the CLI or using Qjackctl). The SC will try to boot JACK if not already running, but it can’t do anything about faulty JACK configurations.

Cheers,
Patrick


#3

Thank you Patrick, your explanation was very helpful.