Get SC running unter linux Mint

Hi all!
I am new to Supercollider and would like to try it out.
While wotking through the tutorial, I got stuck at the point where the server component won’t start. From what I found, the problem seems to be that JACK is nor running. Trying to start it with qjackctl it crashes with the message

D-BUS: Service not available (org.jackaudio.service aka jackdbus).

I understand that this is no tech support forum, but as I got stuck and did not find a solution on the net that worked, I thought someone here might have a solution as my pulseaudio system is just default from the installation.

Thank you

HI,

i’m using linux mint too, and i’ve installed the package “multimedia-supercollider” from the software center .

This is a metapackage which installs packages, externals, libraries and plug-ins to work with SuperCollider,

Hi!
Thanks, that did the trick. I just needed to set the frames / period to 1008 .

Still, I get a nasty “choppy” sound as if the waveform gets somehow cut of half way through (can not be seen in the scope) when running this code:

(
{ SinOsc.ar(200, 0, 0.5) }.play;
)

weird, your code works like a charm on my laptop (dell latitude 5330)

what do you mean by setting frame/period ?

for me, SC uses jack audio out of the box.

Can you show us the command you start jack? Or are you using pipewire? What is " frames / period to 1008" ?

here is the boot message for me for reference, frame is set to 1024

Booting server 'localhost' on address 127.0.0.1:57110.
Found 0 LADSPA plugins
jackdmp 1.9.20
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2021 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 10
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:0|1024|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 1024 frames (21.3 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 = 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
Requested notification messages from server 'localhost'
localhost: server process's maxLogins (1) matches with my options.
localhost: keeping clientID (0) as confirmed by server process.
Shared memory server interface initialized

Post the command to start jackd, that’s also important.

Looks good, although latency is a bit high. I would just use -P80 (real-time priority), seems to work better.

is that a usb soundcard?

actually i’m not having any problem at all, it’s for bread-on-toast :slight_smile:

1 Like

Sorry! My mistake !!! :sweat_smile:

Another strange thing I noticed, qjackctl seems to not work so well after pipewire was introduced. In my system, it doesn’t really work, I need to use the terminal.

Anyone having this issue?

I am using qjackctl, so I am nor sure about the exact command.
In .jackdrc I find

/usr/bin/jackd -v -dalsa -dhw:0 -r32000 -p1008 -n4 -S

Maybe It is the problem with qjackctl @smoge noticed. I’ll try to find a suitable command for terminal.

Here is a dump from the startup of SC server:

Booting server 'localhost' on address 127.0.0.1:57110.
Found 155 LADSPA plugins
Jack: JackClient::SetupDriverSync driver sem in flush mode
Jack: JackLinuxFutex::Connect name = jack_sem.1000_default_SuperCollider
Jack: Clock source : system clock via clock_gettime
Jack: JackLibClient::Open name = SuperCollider refnum = 6
JackDriver: client name is 'SuperCollider'
Jack: JackClient::PortRegister ref = 6 name = SuperCollider:in_1 type = 32 bit float mono audio port_index = 9
Jack: JackClient::PortRegister ref = 6 name = SuperCollider:in_2 type = 32 bit float mono audio port_index = 10
Jack: JackClient::PortRegister ref = 6 name = SuperCollider:out_1 type = 32 bit float mono audio port_index = 11
Jack: JackClient::PortRegister ref = 6 name = SuperCollider:out_2 type = 32 bit float mono audio port_index = 12
Jack: jack_set_graph_order_callback ext_client fbf268a0 client fbf268a0 
SC_AudioDriver: sample rate = 48000.000000, driver's block size = 1008
Jack: JackClient::Activate
Jack: JackPosixThread::StartImp : create non RT thread
Jack: JackPosixThread::ThreadHandler : start
Jack: JackClient::kBufferSizeCallback buffer_size = 1008
Jack: JackClient::Init : period = 21000 computation = 100 constraint = 21000
Jack: JackPosixThread::AcquireRealTimeImp priority = 5
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 2
Jack: JackClient::kActivateClient name = SuperCollider ref = 6 
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 18
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 18
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 4
Jack: JackClient::kGraphOrderCallback
Jack: WaitGraphChange...
Jack: JackClient::Connect src = system:capture_1 dst = SuperCollider:in_1
JackDriver: connected  system:capture_1 to SuperCollider:in_1
Jack: JackClient::Connect src = system:capture_2 dst = SuperCollider:in_2
JackDriver: connected  system:capture_2 to SuperCollider:in_2
Jack: JackClient::Connect src = SuperCollider:out_1 dst = system:playback_1
JackDriver: connected  SuperCollider:out_1 to system:playback_1
Jack: JackClient::Connect src = SuperCollider:out_2 dst = system:playback_2
JackDriver: connected  SuperCollider:out_2 to system:playback_2
SuperCollider 3 server ready.
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 18
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 18
Jack: JackClient::ClientNotify ref = 6 name = SuperCollider notify = 4
Jack: JackClient::kGraphOrderCallback
JackDriver: max output latency 84.0 ms
Requested notification messages from server 'localhost'
localhost: server process's maxLogins (1) matches with my options.
localhost: keeping clientID (0) as confirmed by server process.
Shared memory server interface initialized

try this:

/usr/bin/jackd -v -P80 -u -dalsa -r48000 -p1024 -n3 -dhw:0