Alsa in Qjackctl for Jack Audio kills Asahi Linux' audio devices

Hello there,

I am running asahi Linux/Fedora on a MacBook Pro 16" with a M1Pro Chip. Everything works out of the box, but I have severe issues with jack. I need Jack for other Lisp-based stuff so: when I start jack using alsa, the speakers are literally gone, there is only a dummy device left without sound. I already created the audio groups etc. The speaker problem does not occur, if I youse portaudio in Jack (which is useless) or if I start Qjackctl as root, but then I cannot access jackserver from within Emacs, so this doesn’t solve anything. Pulseaudio cannot be installed without destroying the whole system sound on Asahi. So I am confused, if there could be another workaround. This is, what jack is doing
danielhensel@danielhensel-macbookpro:~$ jackd -R -dalsa
jackdmp 1.9.22
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2023 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
no message buffer overruns
no message buffer overruns
no message buffer overruns
JACK server starting in realtime mode with priority 20
self-connect-mode is “Don’t restrict self connect requests”
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
As soon as this starts, there is no audio device left.

The only supported sound server for the internal speakers is PipeWire, as we rely on it to implement automatically configured speaker DSP processing. Attempting to use anything else will break things and give you really poor sound without a lot of manual work and configuration. There’s a complex DSP chain including a software crossover, compressor, bass boost and EQ driving the 6 independent speakers in your 16" MacBook, you’d have to re-create all that on your own in JACK or PulseAudio if you tried to use those!

If you want to use JACK client apps, then uninstall JACK and install pipewire-jack-audio-connection-kit instead. That will allow JACK-based apps to use PipeWire as an audio server. It works really well, even with complex things like Ardour. QJackctl also works (you don’t need to “start” anything, don’t let it try to do that; once the package is installed JACK will appear to already be started when PipeWire is running, and you can still use qjackctl to manage ports and patchbays). This is basically the future-proof solution: PipeWire is endorsed by the developers of PulseAudio and JACK as the next generation and replacement.

If you want to use JACK with a different sound card (e.g. an external audio interface) you can do so in parallel with PipeWire driving the internal speakers. You need to make sure they don’t conflict with each other by disabling the external card in PipeWire (e.g. via pavucontrol) and pointing JACK at it in qjackctl. You could also just run JACK with the dummy backend if you only need it for internal audio routing reasons (e.g. some synth writing to a file) and don’t actually need to play back audio through hardware.

Finally, it’s probably possible to plug JACK into PipeWire as a client and route through it, though honestly I don’t know why you’d want to do that when the integrated JACK compatibility in PipeWire works as well as it does these days.


Thank you very much, highly appreciated. I’ll give it a try.

Yours, Daniel

The thing is, the software I am using, my compositions depend on, incudine and cm-incudine complain that there is no jack midi package




What could I do, to get it running?

A quick search for jack midi linux gives lots of results and this was the second link there.