I followed the (excellent) instructions on installing Home Assistant supervised on my Alta, which worked fine…except that pulseaudio is now running at 100% CPU.
I’m trying to understand what needs to be fixed in this. Googling was a bit tricky as it’s fairly generic, and the issues I could find on home-assistant/plugin-audio were closed or required some specific changes to the plugin.
Below might make more sense for someone else?
ha audio logs
:
W: [pulseaudio] module-udev-detect.c: Failed to open /proc/asound/card0: No such file or directory
E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument: "device_id="0" name="platform-sound" card_name="alsa_card.platform-sound" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
ha audio info
:
# ha audio info
audio:
application: []
card: []
input: []
output:
- applications: []
card: null
default: true
description: Dummy Output
index: 0
mute: false
name: auto_null
volume: 1
host: 172.30.32.4
update_available: false
version: 2023.12.0
version_latest: 2023.12.0
So it can’t identify which audio interface exists? If I exec into the container, /proc/asound/card0
is empty.
However, we have an audio interface?
# amixer
Simple mixer control 'ACODEC',0
Capabilities: pvolume pswitch pswitch-joined
Playback channels: Front Left - Front Right
Limits: Playback 0 - 255
Mono:
Front Left: Playback 139 [55%] [-43.33dB] [on]
Front Right: Playback 139 [55%] [-43.33dB] [on]
Simple mixer control 'ACODEC Left DAC Sel',0
Capabilities: enum
Items: 'Left' 'Right'
Item0: 'Left'
Simple mixer control 'ACODEC Mute Ramp',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'ACODEC Playback Channel Mode',0
Capabilities: enum
Items: 'Stereo' 'Mono'
Item0: 'Stereo'
Simple mixer control 'ACODEC Ramp Rate',0
Capabilities: enum
Items: 'Fast' 'Slow'
Item0: 'Fast'
Simple mixer control 'ACODEC Right DAC Sel',0
Capabilities: enum
Items: 'Right' 'Left'
Item0: 'Right'
Simple mixer control 'ACODEC Unmute Ramp',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'ACODEC Volume Ramp',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_A SINK 1 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_A SINK 2 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_A SINK 3 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_A SRC 1 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_A SRC 2 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_A SRC 3 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_B SINK 1 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_B SINK 2 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_B SINK 3 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_B SRC 1 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_B SRC 2 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_B SRC 3 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_C SINK 1 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_C SINK 2 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_C SINK 3 SEL',0
Capabilities: enum
Items: 'OUT 0' 'OUT 1' 'OUT 2' 'OUT 3' 'OUT 4' 'OUT 5' 'OUT 6' 'OUT 7'
Item0: 'OUT 0'
Simple mixer control 'FRDDR_C SRC 1 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_C SRC 2 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'FRDDR_C SRC 3 EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Onboard DAC output',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMIN_A SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2' 'IN 3' 'IN 4' 'IN 5' 'IN 6' 'IN 7' 'IN 8' 'IN 9' 'IN 10' 'IN 11' 'IN 12' 'IN 13' 'IN 14' 'IN 15'
Item0: 'IN 0'
Simple mixer control 'TDMIN_B SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2' 'IN 3' 'IN 4' 'IN 5' 'IN 6' 'IN 7' 'IN 8' 'IN 9' 'IN 10' 'IN 11' 'IN 12' 'IN 13' 'IN 14' 'IN 15'
Item0: 'IN 0'
Simple mixer control 'TDMIN_C SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2' 'IN 3' 'IN 4' 'IN 5' 'IN 6' 'IN 7' 'IN 8' 'IN 9' 'IN 10' 'IN 11' 'IN 12' 'IN 13' 'IN 14' 'IN 15'
Item0: 'IN 0'
Simple mixer control 'TDMOUT_A Gain Enable',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'TDMOUT_A Lane 0',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_A Lane 1',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_A Lane 2',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_A Lane 3',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_A SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2'
Item0: 'IN 0'
Simple mixer control 'TDMOUT_B Gain Enable',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'TDMOUT_B Lane 0',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_B Lane 1',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_B Lane 2',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_B Lane 3',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_B SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2'
Item0: 'IN 0'
Simple mixer control 'TDMOUT_C Gain Enable',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'TDMOUT_C Lane 0',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_C Lane 1',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_C Lane 2',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_C Lane 3',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 255
Front Left: 0 [0%]
Front Right: 0 [0%]
Simple mixer control 'TDMOUT_C SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2'
Item0: 'IN 0'
Simple mixer control 'TOACODEC Lane Select',0
Capabilities: volume volume-joined
Playback channels: Mono
Capture channels: Mono
Limits: 0 - 3
Mono: 0 [0%]
Simple mixer control 'TOACODEC OUT EN',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'TOACODEC SRC',0
Capabilities: enum
Items: 'I2S A' 'I2S B' 'I2S C'
Item0: 'I2S A'
Simple mixer control 'TODDR_A SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2' 'IN 3' 'IN 4' 'IN 5' 'IN 6' 'IN 7'
Item0: 'IN 0'
Simple mixer control 'TODDR_B SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2' 'IN 3' 'IN 4' 'IN 5' 'IN 6' 'IN 7'
Item0: 'IN 0'
Simple mixer control 'TODDR_C SRC SEL',0
Capabilities: enum
Items: 'IN 0' 'IN 1' 'IN 2' 'IN 3' 'IN 4' 'IN 5' 'IN 6' 'IN 7'
Item0: 'IN 0'
Simple mixer control 'TOHDMITX',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'TOHDMITX I2S SRC',0
Capabilities: enum
Items: 'I2S A' 'I2S B' 'I2S C'
Item0: 'I2S A'
Simple mixer control 'TOHDMITX SPDIF SRC',0
Capabilities: enum
Items: 'SPDIF A' 'SPDIF B'
Item0: 'SPDIF A'
Also, if I inspect the container, the /proc/asound
is masked? How does pulseaudio interact with hardware, dbus?
"MaskedPaths": [
"/proc/asound",
"/proc/acpi",
"/proc/kcore",
"/proc/keys",
"/proc/latency_stats",
"/proc/timer_list",
"/proc/timer_stats",
"/proc/sched_debug",
"/proc/scsi",
"/sys/firmware",
"/sys/devices/virtual/powercap"
],
"ReadonlyPaths": [
"/proc/bus",
"/proc/fs",
"/proc/irq",
"/proc/sys",
"/proc/sysrq-trigger"
],
Any ideas how to move forward? It feels stupid to waste CPU time on a hanged process…