From 67c774204a19e5964ec4e04a4e7cd0bfc4024553 Mon Sep 17 00:00:00 2001 From: pober Date: Fri, 24 Apr 2026 10:57:43 +0200 Subject: [PATCH] Dante buffers and cpu affinity. --- .../dante_package/dante_data/capability/dante.json | 12 ++++++++---- src/service/auracast-frontend.service | 2 ++ src/service/auracast-script.service | 2 ++ src/service/auracast-server.service | 4 +++- src/service/pipewire-aes67.service | 2 ++ src/service/ptp_aes67.service | 2 ++ 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/dep/dante_package/dante_data/capability/dante.json b/src/dep/dante_package/dante_data/capability/dante.json index 9840222..be0639b 100644 --- a/src/dep/dante_package/dante_data/capability/dante.json +++ b/src/dep/dante_package/dante_data/capability/dante.json @@ -16,7 +16,7 @@ 48000 ], "samplesPerPeriod" : 16, - "periodsPerBuffer" : 300, + "periodsPerBuffer" : 150, "networkLatencyMinMs" : 2, "networkLatencyDefaultMs" : 5, "supportedEncodings" : @@ -24,7 +24,10 @@ "PCM16" ], "defaultEncoding" : "PCM16", - "numDepCores" : 1 + "numDepCores" : + [ + 2 + ] }, "network" : { @@ -50,15 +53,16 @@ "alsaAsrc": { "enableAlsaAsrc": true, + "cpuAffinity": 3, "deviceConfigurations": [ { - "deviceIdentifier": "hw:0,0", + "deviceIdentifier": "hw:3,0,0", "direction": "playback", "bitDepth": 16, "numOpenChannels": 6, "alsaChannelRange": "0-5", "danteChannelRange": "0-5", - "bufferSize": 4800, + "bufferSize": 960, "samplesPerPeriod": 16 } ] diff --git a/src/service/auracast-frontend.service b/src/service/auracast-frontend.service index dca1b9e..fd3b46f 100644 --- a/src/service/auracast-frontend.service +++ b/src/service/auracast-frontend.service @@ -10,6 +10,8 @@ WorkingDirectory=/home/caster/bumble-auracast/src/auracast/server ExecStart=/home/caster/bumble-auracast/src/auracast/server/start_frontend_https.sh Restart=on-failure Environment=LOG_LEVEL=INFO +AllowedCPUs=0 +CPUAffinity=0 [Install] WantedBy=multi-user.target diff --git a/src/service/auracast-script.service b/src/service/auracast-script.service index 3bad0d9..5a3b0f5 100644 --- a/src/service/auracast-script.service +++ b/src/service/auracast-script.service @@ -9,6 +9,8 @@ ExecStart=/home/caster/bumble-auracast/.venv/bin/python src/auracast/multicast_s Restart=on-failure Environment=PYTHONUNBUFFERED=1 Environment=LOG_LEVEL=INFO +AllowedCPUs=0 +CPUAffinity=0 [Install] WantedBy=default.target diff --git a/src/service/auracast-server.service b/src/service/auracast-server.service index 06395bf..b7cbea2 100644 --- a/src/service/auracast-server.service +++ b/src/service/auracast-server.service @@ -10,8 +10,10 @@ Restart=on-failure Environment=PYTHONUNBUFFERED=1 Environment=LOG_LEVEL=INFO CPUSchedulingPolicy=fifo -CPUSchedulingPriority=99 +CPUSchedulingPriority=10 LimitRTPRIO=99 +AllowedCPUs=1 +CPUAffinity=1 [Install] WantedBy=default.target diff --git a/src/service/pipewire-aes67.service b/src/service/pipewire-aes67.service index d3eeb30..05e0598 100644 --- a/src/service/pipewire-aes67.service +++ b/src/service/pipewire-aes67.service @@ -9,6 +9,8 @@ ExecStartPre=/bin/sh -lc 'for i in $(seq 1 60); do ip route show default >/dev/n ExecStart=/usr/bin/pipewire-aes67 -c /home/caster/bumble-auracast/src/service/aes67/pipewire-aes67.conf Restart=always RestartSec=5s +AllowedCPUs=0 +CPUAffinity=0 # Avoid StartLimitHit on quick failures during boot; let RestartSec handle pacing StartLimitIntervalSec=0 diff --git a/src/service/ptp_aes67.service b/src/service/ptp_aes67.service index 99097bf..3fb55d7 100644 --- a/src/service/ptp_aes67.service +++ b/src/service/ptp_aes67.service @@ -6,6 +6,8 @@ After=network.target Type=simple ExecStart=/usr/sbin/ptp4l -i eth0 -f /home/caster/bumble-auracast/src/service/aes67/ptp_aes67_1.conf Restart=on-failure +AllowedCPUs=0 +CPUAffinity=0 StandardOutput=journal StandardError=journal