From 69a4fd3098e64e87781443511ce1f1b2cffabd97 Mon Sep 17 00:00:00 2001 From: SpiliosDmk <150211937+SpiliosDimakopoulos@users.noreply.github.com> Date: Sun, 26 Jul 2026 17:01:33 +0300 Subject: [PATCH] docs: add realtime scheduling tuning for constrained hardware (#376) The core problem in #164 (config fully overriding pipewire.conf) was already fixed by switching to pipewire.conf.d. This adds the remaining performance-tuning recommendation (libpipewire-module-rt) from the issue thread that never made it into the docs, to reduce audio dropouts on hardware like the Raspberry Pi 3B. Closes #164 --- docs/install_audioserver.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docs/install_audioserver.md b/docs/install_audioserver.md index c9a2be3..48aaea7 100644 --- a/docs/install_audioserver.md +++ b/docs/install_audioserver.md @@ -54,11 +54,31 @@ sudo mkdir -p /etc/pipewire/pipewire.conf.d sudo vi /etc/pipewire/pipewire.conf.d/linux-voice-assistant.conf ``` +💡 **Note:** On constrained hardware like a Raspberry Pi 3B, audio +processing can be interrupted by other system activity, causing +audible glitches or dropped wake-word detections. Loading the +`libpipewire-module-rt` module raises PipeWire's scheduling priority +(`rt.prio`) above normal processes, which reduces these interruptions. +The `flags = [ ifexists nofail ]` ensures this configuration is +silently skipped rather than causing a startup failure on systems +where realtime scheduling isn't available (e.g. some containers or +restricted kernels). + Add the following content: ``` context.properties = { default.clock.rate = 16000 } + +context.modules = [ + { name = libpipewire-module-rt + args = { + nice.level = -11 + rt.prio = 88 + } + flags = [ ifexists nofail ] + } +] ``` #### Applying the Changes