Monorepo for Aesthetic.Computer aesthetic.computer

native: speaker-first PCM selection + per-PCM name diagnostic master

Follow-up to the SOF buffer-sizing fix. Amp toggles dropped from 10,686 to 4 per boot (big win) but speakers still silent. Suspicion: ac-native opens hw:0,0 blindly, but on SOF JSL topologies card0 exposes multiple playback PCMs and the Chromebook convention isn't universal — pcm0 may be Headset (RT5682) while Speakers (MAX98360A) sits on pcm1, or vice versa. Opening the wrong one means no audio ever reaches the amp, regardless of whether DAPM + SD_MODE are correct. Fix: before the legacy hw:0,0 → hw:1,0 → … fallback chain, scan /proc/asound/cardN/pcmMp/info for name/id strings. Skip HDMI (monitor audio, not speaker). Prefer "Speaker" match; accept "HiFi" / "Jack" (SOF combined front-end name) as fallback. If neither exists we drop through to the original hardcoded list so nothing regresses on boards without /proc/asound. Also dump each PCM's id + name in pre-launch.log so the next boot tells us which PCM is actually the speaker device, end to end. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>


+53
2 changed files