• Welcome to ASR. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

RPi5 + CamillaDSP help needed

germanshep

Member
Joined
Jan 18, 2026
Messages
7
Likes
1
First off let me open with, Im a complete idiot, and a nutter.

I am trying to use a Pi as a new Radio for my car.

I have tried following the tutorial here:


and here:

to no avail.

Setup - My Neofetch -
_,met$$$$$gg. germanshep@CarPi
,g$$$$$$$$$$$$$$$P. ----------------
,g$$P" """Y$$.". OS: Debian GNU/Linux 13 (trixie) aarch64
,$$P' `$$$. Host: Raspberry Pi 5 Model B Rev 1.1
',$$P ,ggs. `$$b: Kernel: 6.12.62+rpt-rpi-2712
`d$$' ,$P"' . $$$ Uptime: 5 mins
$$P d$' , $$P Packages: 1920 (dpkg)
$$: $$. - ,d$$' Shell: bash 5.2.37
$$; Y$b._ _,d$P' Resolution: 5760x1200
Y$$. `.`"Y$$$$P"' WM: labwc
`$$b "-.__ Theme: PiXtrix [GTK3]
`Y$$ Icons: PiXtrix [GTK3]
`Y$$. Terminal: /dev/pts/0
`$$b. CPU: Cortex-A76 (4) @ 2.400GHz
`Y$$b. GPU: llvmpipe (LLVM 19.1.7, 128 bits)
`"Y$b._ Memory: 961MiB / 16218MiB
`"""
RPi5 with

HiFiBerry DAC8x topped by -

HATCarPi HAT Pro​

Am trying to use "Dac8x_Streamer_44c_44p.yml" from the library.
description: null
devices:
adjust_period: 10
capture:
channels: 2
device: hw:CARD=Loopback,DEV=1
format: null
labels: null
link_mute_control: null
link_volume_control: null
stop_on_inactive: null
type: Alsa
capture_samplerate: 44100
chunksize: 256
enable_rate_adjust: true
multithreaded: null
playback:
channels: 8
device: hw:sndrpihifiberry
format: S32LE
type: Alsa
queuelimit: 4
rate_measure_interval: null
resampler: null
samplerate: 44100
silence_threshold: -100
silence_timeout: 5
stop_on_rate_change: null
target_level: 1024
volume_limit: null
volume_ramp_time: null
worker_threads: null
filters:
Bass:
description: null
parameters:
freq: 85
gain: 0
q: 0.9
type: Lowshelf
type: Biquad
Treble:
description: null
parameters:
freq: 6500
gain: 0
q: 0.7
type: Highshelf
type: Biquad
mixers:
2x8:
channels:
in: 2
out: 8
description: null
labels: null
mapping:
- dest: 0
mute: false
sources:
- channel: 0
gain: 0
inverted: false
mute: false
scale: dB
- dest: 1
mute: false
sources:
- channel: 1
gain: 0
inverted: false
mute: false
scale: dB
- dest: 2
mute: false
sources:
- channel: 0
gain: 0
inverted: false
mute: false
scale: dB
- dest: 3
mute: false
sources:
- channel: 1
gain: 0
inverted: false
mute: false
scale: dB
- dest: 4
mute: false
sources:
- channel: 0
gain: 0
inverted: false
mute: false
scale: dB
- dest: 5
mute: false
sources:
- channel: 1
gain: 0
inverted: false
mute: false
scale: dB
- dest: 6
mute: false
sources:
- channel: 0
gain: 0
inverted: false
mute: false
scale: dB
- dest: 7
mute: false
sources:
- channel: 1
gain: 0
inverted: false
mute: false
scale: dB
pipeline:
- bypassed: false
channels:
- 0
- 1
description: null
names:
- Bass
- Treble
type: Filter
- bypassed: null
description: null
name: 2x8
type: Mixer
processors: {}
title: Streamer



No matter wat capture device I use I cant get any sound to show up on the CamillaDSP GUI. Once I get this working Im hoping to push the audio to an external amp.

What might I be doing wrong? What other info can I give that might help sort this out - "Refrain" - Im an idiot.
 
photo_2026-01-18_20-06-19.jpg
photo_2026-01-18_20-06-16.jpg



Some Images of what it looks like cos Im a weirdo
 
arecord -l

germanshep@CarPi:~ $ arecord -l
**** List of CAPTURE Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 7/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7

germanshep@CarPi:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Loopback [Loopback], device 0: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 0: Loopback [Loopback], device 1: Loopback PCM [Loopback PCM]
Subdevices: 8/8
Subdevice #0: subdevice #0
Subdevice #1: subdevice #1
Subdevice #2: subdevice #2
Subdevice #3: subdevice #3
Subdevice #4: subdevice #4
Subdevice #5: subdevice #5
Subdevice #6: subdevice #6
Subdevice #7: subdevice #7
card 1: sndrpihifiberry [snd_rpi_hifiberry_dac8x], device 0: HifiBerry DAC8x HiFi snd-soc-dummy-dai-0 [HifiBerry DAC8x HiFi snd-soc-dummy-dai-0]
Subdevices: 0/1
Subdevice #0: subdevice #0

service camilladsp status

germanshep@CarPi:~ $ service camilladsp status
● camilladsp.service - CamillaDSP
Loaded: loaded (/usr/lib/systemd/system/camilladsp.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-01-10 00:12:51 GMT; 1 week 1 day ago
Invocation: f6a8f7c4353a4185b84e987ee70e8139
Main PID: 1706 (camilladsp)
Tasks: 10 (limit: 19362)
CPU: 56.459s
CGroup: /system.slice/camilladsp.service
└─1706 camilladsp -s camilladsp/statefile.yml -w -g-40 -o camilladsp/camilladsp.log -p 1234

Jan 10 00:12:51 CarPi systemd[1]: Started camilladsp.service - CamillaDSP.
service camillagui status
germanshep@CarPi:~ $ service camillagui status
● camillagui.service - CamillaDSP Backend and GUI
Loaded: loaded (/usr/lib/systemd/system/camillagui.service; enabled; preset: enabled)
Active: active (running) since Sat 2026-01-10 00:12:51 GMT; 1 week 1 day ago
Invocation: 941e43a8d37145a480747f3e3144d77d
Main PID: 1711 (camillagui_back)
Tasks: 5 (limit: 19362)
CPU: 1min 34.884s
CGroup: /system.slice/camillagui.service
└─1711 /opt/camillagui_backend/camillagui_backend

Jan 10 00:12:51 CarPi systemd[1]: Started camillagui.service - CamillaDSP Backend and GUI.
 
Thank you. It looks like you have ALSA loopback enabled and the DAC is detected. CamillaDSP and CamillaGUI appear to be running.

What are you trying to use to send audio to the ALSA loopback?

What do you see in CamillaGUI and in the log?

It should look like this if the configuration is appropriately applied.

1768780436882.png

And the log should look something like this.

Code:
2026-01-18 18:54:25.632833 INFO  [src/bin.rs:781] CamillaDSP version 3.0.1
2026-01-18 18:54:25.632846 INFO  [src/bin.rs:782] Running on linux, aarch64
2026-01-18 18:54:25.634334 INFO  [src/alsadevice.rs:798] Capture device supports rate adjust
2026-01-18 18:54:25.639236 INFO  [src/alsadevice.rs:117] PB: Starting playback from Prepared state

Michael
 
So I've been trying to run a video while testing.
Screenshot 2026-01-19 025309.png



I've checked the log and get the same as you do.

Im getting no feedback from the volume faders as video plays
 
First thing to check would that VLC is outputting to hw:Loopback,1.

Based on that screenshot, do you have a full desktop version of raspberry pi os installed? If so, I believe pulseaudio will be installed which may be causing the issue. I am not familiar with pulseaudio and really can't troubleshoot, my tutorial is based on using raspberry pi os lite which has no GUI and no pulseaudio.

Take a look at the pulseaudio section of the camilladsp github -> https://github.com/HEnquist/camilladsp?tab=readme-ov-file#pulseaudio. I am not sure, but you may need to compile a new binary as I am not sure pulseaudio support is provided in the pre-compiled aarch64 binary.

Michael
 
The loopback and hifiberry devices can/should be disabled in pulseaudio/pipewire. Then VLC can be configured to output to the alsa loopback device, and it will succeed as PA/PW will not occupy that device.

IMO the target of 1024 is too large for the chunksize of 256, because CDSP tries to use a buffer of 4 chunksizes (i.e. 1024 frames) and the target at 1024 means CDSP should try to keep the playback-device buffer completely full on average - which is clearly not possible.
 
so tried as you asked....

Still nothing ;-;

Fyi this is my 2nd time imaging this, both have had same results
 

Attachments

  • Screenshot 2026-01-19 131047.png
    Screenshot 2026-01-19 131047.png
    425.9 KB · Views: 39
  • Screenshot 2026-01-19 131246.png
    Screenshot 2026-01-19 131246.png
    518.5 KB · Views: 40
Honestly, the screenshots do not say anything meaningful. The config file and CDSP logs (for start the default info level, not debug) are needed. Please no screenshot, but dump into the code tag, or attached as files.
 
Again, do you have the full desktop version of raspberry pi os installed? Your screenshot still shows a GUI, so I have to assume that you do, but please confirm.

Michael
Sorry yes! this is full fat PiOS trixy 64bit.
Honestly, the screenshots do not say anything meaningful. The config file and CDSP logs (for start the default info level, not debug) are needed. Please no screenshot, but dump into the code tag, or attached as files.
Interestingly...I wasnt getting anything more than the standard bits of starting in the log....
but now
2026-01-19 02:55:52.887796 INFO [src/bin.rs:781] CamillaDSP version 3.0.1
2026-01-19 02:55:52.887815 INFO [src/bin.rs:782] Running on linux, aarch64
2026-01-19 02:55:52.923931 INFO [src/alsadevice.rs:798] Capture device supports rate adjust
2026-01-19 02:55:52.933943 INFO [src/alsadevice.rs:117] PB: Starting playback from Prepared state
2026-01-19 13:09:30.710219 WARN [src/alsadevice.rs:351] Capture failed, error: ALSA function 'snd_pcm_readi' failed with error 'Unknown errno (77)'
2026-01-19 13:09:30.710298 ERROR [src/bin.rs:314] Capture error: ALSA function 'snd_pcm_readi' failed with error 'Unknown errno (77)'
2026-01-19 22:00:35.473123 WARN [src/alsadevice.rs:344] Capture: read overrun, trying to recover. Error: ALSA function 'snd_pcm_readi' failed with error 'Broken pipe (32)'
 
Not much can be analyzed without the config file. Since that error 77 should mean "File descriptor in bad state", we need to know what that capture device is and how it's being used.
 
See, the problem with sharing data this way is that those reading the thread will not understand what we are talking about. Appending the config here would make it much easier.

Nevertheless:

Code:
devices:
  adjust_period: 10
  capture:
    channels: 2
    device: hw:CARD=Loopback,DEV=1
    format: null
    labels: null
    link_mute_control: null
    link_volume_control: null
    stop_on_inactive: null
    type: Alsa
  capture_samplerate: 44100
  chunksize: 4
  enable_rate_adjust: true
  multithreaded: null
  playback:
    channels: 8
    device: hw:sndrpihifiberry
    format: S32LE
    type: Alsa
  queuelimit: 4
  rate_measure_interval: null
  resampler: null
  samplerate: 44100
  silence_threshold: -100
  silence_timeout: 5
  stop_on_rate_change: null
  target_level: 16
  volume_limit: null
  volume_ramp_time: null
  worker_threads: null

Chunksize of 4 frames is not going to work, keep your previous 256. I talked about number of chunks in the buffer being 4, not about the size of each chunk. Then target_level would be e.g. 768.
 
Do you need a full desktop version? Is there a reason you are not running lite as specified in the tutorial?

But assuming you want to run a full desktop version you should know that Trixie Desktop uses pipewire. You need to follow step 6 in this link -> https://github.com/HEnquist/camilladsp-config. Note that my configurations use hw:Loopback,0 as the CamillaDSP capture device, as result you will want the api.alsa.path under context.objects to be "hw:Loopback,1,0".

I found that by default I couldn't run pactl to confirm pipewire was being used so I installed pulseaudio-utils. I also installed pavucontrol as I needed it to set the output to Alsa Loopback for what I was playing.

Note that other portions of my tutorial will not work. For example shairport-sync needs to be built specifically with pipewire support to be used.

Michael
 
Last edited:
Back
Top Bottom