SuperCollider/JACK/ALSA Can’t Initialize Audio

Hi all!

I’ve installed everything needed to use Tidal Cycles with vim on Debian 11 “Bullseye” testing with ansible. I had similar errors as this poster but fixed them by deleting .cabal and .ghc and installing with cabal v1-install tidal as suggested.

However, I’m having errors with SuperCollider that I haven’t figured out how to fix. I’ve uninstalled SuperCollider/SuperDirt/SC3Plugins and reinstalled them using build-supercollider but continue to get these errors:

SuperCollider errors
*** Welcome to SuperCollider 3.11.2. *** For help press Ctrl-D.

SCDoc: Indexing help-files...

Booting server 'localhost' on address 127.0.0.1:57110.

Found 0 LADSPA plugins

Faust: supercollider.cpp: sc_api_version = 3

Faust: FaustJPverbRaw numControls=11

Faust: supercollider.cpp: sc_api_version = 3

Faust: FaustGreyholeRaw numControls=7

jackdmp 1.9.17

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: 24bit little-endian

Released audio card Audio0

audio_reservation_finish

SCDoc: Indexed 1930 documents in 0.51 seconds

could not initialize audio.

Server 'localhost' exited with exit code 0.

These are similar to the errors in this forum post. I followed the advice given and installed qjackctl. When I run qjackctl and press the start button, no matter how I fiddle with the interface and sample rate, I get the same error messages:

JACK errors
Cannot connect to server socket err = No such file or directory

Cannot connect to server request channel

jack server is not running or cannot be started

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

23:26:41.600 JACK was started with PID=303876.

jackdmp 1.9.17

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 non-realtime mode

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|44100|0|0|nomon|swmeter|-|32bit

configuring for 44100Hz, period = 1024 frames (23.2 ms), buffer = 2 periods

ALSA: final selected sample format for capture: 24bit little-endian

ALSA: cannot set period size to 1024 frames for capture

ALSA: cannot configure capture channel

Released audio card Audio0

audio_reservation_finish

Cannot initialize driver

JackServer::Open failed with -1

Failed to open server

23:26:41.678 JACK was stopped

23:26:43.713 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.

Cannot connect to server socket err = No such file or directory

Cannot connect to server request channel

jack server is not running or cannot be started

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

I did some research on these errors, and I initially thought that PulseAudio could be interfering with JACK. First, I tried suspending pulseaudio using pasuspender, killing it before running qjackctl as suggested on this forum, and adding pasuspender -- to the qjackctl setup as described on the JACK Wiki. None of these changed anything.

I also tried redirecting PulseAudio to JACK using pajackconnect. The installation seemed to work, except for I had to manually copy resume-fix-pulseaudio.service to /etc/systemd/system/ before enabling it. However, this did not fix my problems and only added some more JACK errors after the original ones.

pajackconnect errors
17:55:44.988 JACK was stopped

17:55:44.988 Post-shutdown script...

17:55:44.988 pajackconnect reset &

sh: 1: pajackconnect: not found

17:55:45.389 Post-shutdown script terminated successfully.

17:55:46.950 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.

Cannot connect to server socket err = No such file or directory

Cannot connect to server request channel

jack server is not running or cannot be started

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock

Next, I removed pajackconnect and installed Cadence and turned on the ALSA and PulseAudio bridges as described. This worked! The SuperDirt server started and I sent d1 $ sound “bd sd”. However, even though the scope showed movement, SuperCollider didn’t output any sound. Trying to fix this, I changed the output device in Cadence and got the error “Failed to start JACK, please check the logs for more information.” The logs read:

JACK error logs
Starting jack server...

JACK server starting in realtime mode with priority 10

self-connect-mode is "Don't restrict self connect requests"

Acquired audio card Audio0

creating alsa driver ... hw:sofhdadsp,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 playback: 24bit little-endian

#[1m#[31mERROR: ALSA: cannot set period size to 1024 frames for playback#[0m

#[1m#[31mERROR: ALSA: cannot configure playback channel#[0m

Released audio card Audio0

#[1m#[31mERROR: Cannot initialize driver#[0m

#[1m#[31mERROR: JackServer::Open failed with -1#[0m

#[1m#[31mERROR: Failed to open server#[0m

I tried changing the device back and tested all of the devices. Yet, I couldn’t replicate the first partial success and JACK always failed to start. I also tried changing the period size, but always got the same error for that size. At this point, I’m fairly certain the error is about the period size and not PulseAudio. I only found one forum post on the same error and it doesn’t provide a solution.

Does anyone have any suggestions for fixing these errors? I’ve reached the limits of my researching and troubleshooting skills and don’t know what to try next. I also know this isn’t exactly related to Tidal Cycles, so if anyone knows of a more appropriate forum that would be great, too.

Thanks!

Hi @quavercircle thanks for all the detail, a high quality request!

I searched up your device:

and found this issue: Bug #1872244 “Jack audio not working on Ubuntu 20.04 running on ...” : Bugs : jackd-defaults package : Ubuntu

Unfortunately there isn't a workaround there but perhaps the things they tried (like period of 1008?) will somehow work for you.

Someone here seems to be saying that changing hw:sofhdadsp to hw:PCH helped?
https://linuxmusicians.com/viewtopic.php?p=120874#p120874

It seems this sound device is not well supported by Linux. This is quite rare these days and upgrading your kernel might help. Or you could buy an external sound device and use that instead, or if you use an external screen possibly use sound via your monitor over HDMI.

Thank you! Setting the frames/period to 1008 in qjackctl fixed everything.

Woah, sometimes it just comes down to knowing the magic number..