Hi @all!
I’m opening this thread to discuss what is going on with RPI5, I2S sound cards and jack audio.
In my case, i’ve been trying to get working the official Zynthian V5 soundcard with the Pi5 but still can’t get the audio input to work with jackd.
-
I can record + play with raw ALSA. Full duplex.
-
I can run jack audio with some specific configurations, but some configurations that work in RPi4 doesn’t work for the RPI5.
-
Audio input is “silent” with any configuration of Jackd
For instance, this works:
root@zynthian:~# jackd -d alsa -d hw:sndrpihifiberry -r 48000 -p 128 -n 2
jackdmp 1.9.21
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2022 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:sndrpihifiberry|hw:sndrpihifiberry|128|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 128 frames (2.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
Curiously, if i try a bigger buffer size, like 256, it doesn’t work:
root@zynthian:~# jackd -d alsa -d hw:sndrpihifiberry -r 48000 -p 256 -n 2
jackdmp 1.9.21
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2022 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:sndrpihifiberry|hw:sndrpihifiberry|256|2|48000|0|0|nomon|swmeter|-|32bit
configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: cannot set period size to 256 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
If i use short samples (16 bit samples), then i can configure buffer size of 256:
root@zynthian:~# jackd -d alsa -d hw:sndrpihifiberry -S -r 48000 -p 256 -n 2
jackdmp 1.9.21
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2022 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:sndrpihifiberry|hw:sndrpihifiberry|256|2|48000|0|0|nomon|swmeter|-|16bit
configuring for 48000Hz, period = 256 frames (5.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 16bit little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 16bit little-endian
ALSA: use 2 periods for playback
Note that all the 3 configurations work perfectly OK with the RPi4.
Anyway, when running jack audio, i can’t get any audio input, although everything seems to work flawlessly. The audio card LEDs are lighting, both, DAC & ADC LEDs. The ALSA driver is loaded without issues except for the:
[ 2.886678] snd-rpi-hifiberry-dacplusadcpro soc:sound: ASoC: driver name too long HifiberryDacpAdcPro' -> 'HifiberryDacpAd'
Jackd logs are clean. Everything seems to work, except there is no audio input signal from jack. Audio output works perfectly OK.
If i stop jack audio daemon and run:
arecord -f dat p.wav
It works like a charm.
Curiously, when running jack audio, it shows 8 x system audio capture ports and 8 x system audio playback ports. Of course, i tested with all of them and the 2 first audio playback ports are the only ports that work.
FYI, the audio interface integrated in the V5 main board is almost the same than our previous ZynADAC soundcard, that was very similar to the Hifiberry DAC+ADC PRO. Indeed we have been using the same driver until now without any issues. I would like to know about other users trying to configure the ZynADAC, Hifiberry DAC+ADC or any similar soundcard with the RPI5.
Regards,