There should be a reason for why it didn't start in the logs. See https://unix.stackexchange.com/questions/225401/how-to-see-full-log-from-systemctl-status-service
Thanks Henrik.
I rebooted and entered the following command:
journalctl -u camillagui -b
Response was:
-- No entries --
No evidence of an attempt to start either service. I am at a loss!
I rebooted and entered the following command:
journalctl -u camillagui -b
Response was:
-- No entries --
No evidence of an attempt to start either service. I am at a loss!
I agree the output of 'systemctl list-units' shows 'camillagui.service' but from what I read the .service can be omitted in the journalctl command.
If I start the service manually then redo 'journalctl -u camillagui -b' it shows the service has started.
If I start the service manually then redo 'journalctl -u camillagui -b' it shows the service has started.
But why camillagui? IIUC your systemctl reported that camilladsp.service is dead - that's the core service to start up first. That's why I suggested to search for all logs containing camilla
Sorry to confuse. Both services fail to start on reboot. I have been entering display commands for both services.
If I start them manually I start the dsp then the gui but not sure there is anything that orders the startup at boot time.
If I start them manually I start the dsp then the gui but not sure there is anything that orders the startup at boot time.
Can you show your service files? Is this a headless setup or does it run a graphical desktop?
Headless.
Sorry I don't know how to insert code properly.
camilladsp.service:
[Unit]
Description=CamillaDSP
After=default.target
StartLimitIntervalSec=10
StartLimitBurst=10
[Service]
Type=simple
User=camilladsp
WorkingDirectory=~
ExecStart=camilladsp -s camilladsp/statefile.yml -w -o camilladsp/camilladsp.log -p 1234
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal
SyslogIdentifier=camilladsp
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10
[Install]
WantedBy=default.target
camillagui.service:
[Unit]
Description=CamillaDSP Backend and GUI
After=default.target
[Service]
Type=idle
User=camilladsp
ExecStart=/opt/camillagui_backend/camillagui_backend
[Install]
WantedBy=default.target
Sorry I don't know how to insert code properly.
camilladsp.service:
[Unit]
Description=CamillaDSP
After=default.target
StartLimitIntervalSec=10
StartLimitBurst=10
[Service]
Type=simple
User=camilladsp
WorkingDirectory=~
ExecStart=camilladsp -s camilladsp/statefile.yml -w -o camilladsp/camilladsp.log -p 1234
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal
SyslogIdentifier=camilladsp
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10
[Install]
WantedBy=default.target
camillagui.service:
[Unit]
Description=CamillaDSP Backend and GUI
After=default.target
[Service]
Type=idle
User=camilladsp
ExecStart=/opt/camillagui_backend/camillagui_backend
[Install]
WantedBy=default.target
Does this work in systemd units?
WorkingDirectory=~
IMO the tilde is expanded by shell (bash) in a terminal, not here.
I would suggest to use only absolute paths in ExecStart
WorkingDirectory=~
IMO the tilde is expanded by shell (bash) in a terminal, not here.
I would suggest to use only absolute paths in ExecStart
Thanks for that, it used to use Ubuntu server and I missed that its chnaged to Pi OS lite. Some things may not be correct for Ubuntu server, possibly the service. Will see if I can find the version for Ubuntu in an earlier tutorial.
OK, I found the camilladsp.service from an older verssion of the tutorial, coppied into my service file and rebooted. It started!
Havent done the gui service yet but will do now.
Thanks all for the help!
Havent done the gui service yet but will do now.
Thanks all for the help!
@ChrisMmm : IMHO it would be worth to learn a bit about key fields of the service unit files so that you can troubleshoot a bit, not just trial/error. E.g. the free github jobpilot can give a simple overview, even troubleshoot your file:
====================
To troubleshoot why your
### 1. WorkingDirectory=~
### 2. ExecStart
### 3. CPUSchedulingPolicy=fifo
### 4. User and Permissions
- The
### 5. default.target
- This is not a typical target for services. Usually, you want
-
### 6. Logs and Troubleshooting
- Check logs with:
- Look for errors about file paths, permissions, user, or
---
## Example Fixed Service File
---
## Summary of likely problems:
---
### Action Items:
1. Fix the
2. Add
3. Use
4. Check user permissions.
5. Check logs for specific error messages if it still doesn’t work.
If you have a log error message, please share it and I can help you further diagnose the specific problem!
===================
Just hinting at possible ways to see a bit what is going on.
====================
To troubleshoot why your
camilladsp.service
does not work, let’s review and point out potential issues in your systemd service file:### 1. WorkingDirectory=~
- The tilde (
~
) is not expanded by systemd. - Use an absolute path instead, e.g.,
/home/camilladsp
or/var/lib/camilladsp
.
### 2. ExecStart
- If you use relative paths (
camilladsp
,camilladsp/statefile.yml
), they are resolved relative toWorkingDirectory
. - Make sure the executable
camilladsp
and the files (statefile.yml
,camilladsp.log
) exist in yourWorkingDirectory
. - Consider using absolute paths to avoid ambiguity.
### 3. CPUSchedulingPolicy=fifo
- Real-time scheduling needs special privileges.
- The
camilladsp
user must have permission forfifo
scheduling. - If not, the service will fail to start with a permissions error (check
systemctl status camilladsp
andjournalctl -u camilladsp
). - You may need to add:
Code:
[Service]
LimitRTPRIO=99
### 4. User and Permissions
- The
camilladsp
user must exist and have read/write permissions for all specified files and directories.### 5. default.target
- This is not a typical target for services. Usually, you want
multi-user.target
or graphical.target
under [Install]
and After=
.-
default.target
is whatever is set as the system's default, but most services use multi-user.target
.### 6. Logs and Troubleshooting
- Check logs with:
Code:
journalctl -u camilladsp
systemctl status camilladsp
CPUSchedulingPolicy
.---
## Example Fixed Service File
INI:
[Unit]
Description=CamillaDSP
After=network.target
[Service]
Type=simple
User=camilladsp
WorkingDirectory=/home/camilladsp
ExecStart=/usr/local/bin/camilladsp -s /home/camilladsp/camilladsp/statefile.yml -w -o /home/camilladsp/camilladsp.log -p 1234
Restart=always
RestartSec=1
StandardOutput=journal
StandardError=journal
SyslogIdentifier=camilladsp
CPUSchedulingPolicy=fifo
CPUSchedulingPriority=10
LimitRTPRIO=99
[Install]
WantedBy=multi-user.target
---
## Summary of likely problems:
WorkingDirectory=~
should be an absolute path.- Relative paths in
ExecStart
may not resolve as intended. - Real-time scheduling without
LimitRTPRIO
or proper permissions. - Service may not be enabled for the right target.
- File and directory permissions for the
camilladsp
user.
---
### Action Items:
1. Fix the
WorkingDirectory
and all file paths to be absolute.2. Add
LimitRTPRIO=99
for real-time scheduling.3. Use
multi-user.target
instead of default.target
.4. Check user permissions.
5. Check logs for specific error messages if it still doesn’t work.
If you have a log error message, please share it and I can help you further diagnose the specific problem!
===================
Just hinting at possible ways to see a bit what is going on.
Very much appreciated, my Linux knowledge needs work! I will digest this tomorrow. Bed time this side of the world!
Rebooted this morning with updated service files. Both services started automatically without error so all good.
I had taken the service files from the tutorial which now uses Rpi OS as opposed to Ubuntu server in previous iterations. Even tho both based on Debian there are clearly differences, I will have to be aware of this for future upgrades/builds.
Anyway, many thanks for the help and pointers. Great support on this thread.
I had taken the service files from the tutorial which now uses Rpi OS as opposed to Ubuntu server in previous iterations. Even tho both based on Debian there are clearly differences, I will have to be aware of this for future upgrades/builds.
Anyway, many thanks for the help and pointers. Great support on this thread.
Glad to hear you got it working. I recently installed CamillaDSP on an HP t630 running Ubuntu Server 24.04 using the commands from my tutorial but substituting amd64 for aarch64. Here are the issues I encountered:
1) Needed to compile CamillaDSP as default amd64 binary assumes pulseaudio is installed
2) Needed to add user to audio group
Otherwise I did not need to change anything, but this was a clean install not an upgrade, it also may be different if you are using Desktop instead of Server.
Michael
1) Needed to compile CamillaDSP as default amd64 binary assumes pulseaudio is installed
2) Needed to add user to audio group
Otherwise I did not need to change anything, but this was a clean install not an upgrade, it also may be different if you are using Desktop instead of Server.
Michael
Thanks Michael.
I may do a clean 24.04/Camilla install sometime on a spare Wyse N07D. My current one has been upgraded (both Ubuntu and CamillaDSP) a few times now so be good to get a clean install.
I love these thin client computers, I have 2 HP (t620 and t630) plus 3 Wyse ones. Prefer the Wyse as they have slightly better processors and a really tidy small footprint.
I may do a clean 24.04/Camilla install sometime on a spare Wyse N07D. My current one has been upgraded (both Ubuntu and CamillaDSP) a few times now so be good to get a clean install.
I love these thin client computers, I have 2 HP (t620 and t630) plus 3 Wyse ones. Prefer the Wyse as they have slightly better processors and a really tidy small footprint.
Last edited:
- Home
- Source & Line
- PC Based
- CamillaDSP - Cross-platform IIR and FIR engine for crossovers, room correction etc