From bc0aa86381bd32abce4dffdd02a2dc069d111cab Mon Sep 17 00:00:00 2001 From: legop3 Date: Thu, 27 Nov 2025 17:31:15 -0500 Subject: [PATCH] ugh --- pi/asound.conf | 40 +++------------------------------------- pi/install_roverd.sh | 10 +++++++++- 2 files changed, 12 insertions(+), 38 deletions(-) diff --git a/pi/asound.conf b/pi/asound.conf index 1f542df5..71b19816 100644 --- a/pi/asound.conf +++ b/pi/asound.conf @@ -1,45 +1,11 @@ # Use the Google Voice HAT soundcard as index 0 (primary card) options snd_rpi_googlevoicehat_soundcard index=0 -# Define a soft volume control for the speaker (Playback) -pcm.softvol { - type softvol - slave.pcm "dmix" # route through dmix for mixing - control { - name "Master" # name of volume control - card 0 - } -} - -# Shareable mic capture on the Google Voice HAT (card 0) -pcm.micdup { - type dsnoop - ipc_key 2048 - slave { - pcm "hw:0,0" - channels 1 - rate 16000 - } -} - -# Define a software volume (gain) for the microphone (Capture) -pcm.micboost { - type softvol - slave.pcm "micdup" # route through dsnoop wrapper - control { - name "Micro" # name of mic gain control - card 0 - } - min_dB -10.0 - max_dB 50.0 - resolution 256 -} - -# Set default devices to use the above for asymmetrical playback/capture +# Simple defaults: direct playback/capture on card 0 pcm.!default { type asym - playback.pcm "plug:softvol" - capture.pcm "plug:micboost" + playback.pcm "plughw:0,0" + capture.pcm "plughw:0,0" } ctl.!default { diff --git a/pi/install_roverd.sh b/pi/install_roverd.sh index 89cca5a6..73472c8b 100755 --- a/pi/install_roverd.sh +++ b/pi/install_roverd.sh @@ -152,6 +152,15 @@ install_audio_support() { if ! boot_config="$(find_boot_config)"; then log "WARNING: unable to locate /boot config.txt; please enable googlevoicehat-soundcard overlay manually" else + # Ensure onboard audio is disabled (prevents card index flapping) + if grep -Eq '^\s*dtparam=audio=on\b' "$boot_config"; then + log "Disabling onboard audio (dtparam=audio=on -> off) in $boot_config" + sed -i 's/^\s*dtparam=audio=on\b/# roverd disabled onboard audio\ndtparam=audio=off/' "$boot_config" + fi + if ! grep -Eq '^\s*dtparam=audio=off\b' "$boot_config"; then + log "Adding dtparam=audio=off to $boot_config" + echo "dtparam=audio=off" >> "$boot_config" + fi if ! grep -Eq '^\s*dtoverlay=googlevoicehat-soundcard\b' "$boot_config"; then local backup="${boot_config}.roverd.$(date +%Y%m%d%H%M%S).bak" cp "$boot_config" "$backup" @@ -159,7 +168,6 @@ install_audio_support() { echo "" echo "# Added by roverd installer to enable Google AIY v1 sound card" echo "dtoverlay=googlevoicehat-soundcard" - echo "dtparam=audio=off" } >> "$boot_config" log "Enabled googlevoicehat-soundcard overlay in $boot_config (backup at $backup). Reboot required." else