{"slug": "fix-no-internal-speakers-on-asus-zenbook-s16-um5606ga-amd-strix-point-acp-7-0", "title": "Fix: no internal speakers on ASUS Zenbook S16 UM5606GA (AMD Strix Point / ACP 7.0 SoundWire) under Linux — DKMS quirk", "summary": "A developer created a DKMS quirk to fix missing internal speakers on the ASUS Zenbook S16 UM5606GA (AMD Strix Point) under Linux. The BIOS incorrectly sets the audio chip to a legacy mic-only mode, preventing the SoundWire bus from initializing. The fix adds the laptop to the kernel's override table, enabling the Cirrus Logic CS42L43 and CS35L56 amplifiers.", "body_md": "Short version: your laptop speakers, headphone jack, and built-in mic show up as nothing in Linux, even though the drivers are already there. The BIOS quietly tells the audio chip to use an old, speaker-less mode. One tiny tweak flips it back. This gist wraps that tweak in DKMS so it keeps working after kernel updates and is easy to undo later.\n\nTested on a Zenbook S16 **UM5606GA** (AMD Ryzen AI, Strix Point) running Linux\n7.0.9, June 2026.\n\nThis is the **AMD** model (the name ends in \"GA\"). The Intel one (UM5606KA) has\ntotally different audio hardware, so please don't use this there. It won't help.\n\n- The only sound outputs are HDMI, DisplayPort, and Bluetooth. There's no \"Speaker\" option anywhere.\n- The system log has this line:\n\n```\nplatform acp_asoc_acp70.0: warning: No matching ASoC machine driver found\n```\n\n- This folder is empty:\n`ls /sys/bus/soundwire/devices/`\n\n- Nothing you do in software helps (resetting PipeWire, messing with audio profiles, removing firmware packages). That's because Linux never creates a sound card in the first place, so there's nothing for software to talk to.\n\nYour speakers don't plug into the usual audio chip. They hang off a small audio\nhelper chip inside the CPU (AMD calls it the ACP) and talk to it over a bus\ncalled SoundWire. When Linux boots, it asks the BIOS how this audio helper\nshould behave. The BIOS answers with a number. On the UM5606GA that number is\n`0x10`\n\n, which means \"only do the old microphone-only mode.\" So Linux never turns\non the SoundWire bus, the speaker amps never wake up, and no speaker ever\nappears.\n\nEverything else is already in place. The drivers ship with the kernel. The only\nmissing bit is telling Linux to ignore the BIOS's bad answer for this exact\nlaptop. The kernel already keeps a little list of laptops that need this\noverride (it's called `acp70_acpi_flag_override_table`\n\nin the file\n`sound/soc/amd/acp-config.c`\n\n), and the closely related ASUS ProArt PX13 is\nalready on it. The Zenbook S16 just hasn't been added yet.\n\nOnce you flip the switch, the amps wake up and turn out to be Cirrus Logic chips: one CS42L43 plus four CS35L56 amplifiers. Two nice consequences:\n\n- The drivers for these are already in the kernel.\n- The factory tuning for the speakers already ships with\n`linux-firmware`\n\n. The log even prints \"Calibration applied\" on boot. So you do**not** have to dig any firmware out of a Windows driver. It's already handled.\n\nFlipping that one config number is the entire fix.\n\nAdd this laptop to the kernel's override list:\n\n```\n{\n    /* ASUS Zenbook S16 UM5606GA: Cirrus CS42L43 + 4x CS35L56 over SoundWire.\n     * BIOS forces the legacy mic-only mode (flag 0x10); override it so the\n     * SoundWire path runs and the speakers show up. */\n    .matches = {\n        DMI_MATCH(DMI_BOARD_VENDOR, \"ASUSTeK COMPUTER INC.\"),\n        DMI_MATCH(DMI_BOARD_NAME, \"UM5606GA\"),\n    },\n},\n```\n\nInstead of rebuilding the whole kernel, this packages just the one small audio config module with that line added, as a DKMS module that takes priority over the built-in one. DKMS rebuilds it for you every time the kernel updates, so you set it once and forget it.\n\nGrab `setup.sh`\n\nfrom this gist and run it:\n\n```\nchmod +x setup.sh\n./setup.sh        # it uses sudo where needed, grabs the right sources, builds, installs\nsudo reboot\n```\n\nThe script downloads the two source files it needs from the kernel version you're actually running, adds the one line, and sets up DKMS. After a reboot you should have a working \"Speaker\" output.\n\nYou'll need these installed:\n\n`dkms`\n\n, the kernel headers for your kernel, the usual build tools, and`curl`\n\n.- On Arch:\n`sudo pacman -S dkms linux-headers base-devel curl`\n\n- On Arch:\n- Secure Boot turned off. If it's on, the override module won't load unless you sign it yourself with your own key.\n\nAfter rebooting:\n\n```\nmodinfo snd-acp-config | grep filename     # should point at .../updates/dkms/\nls /sys/bus/soundwire/devices/             # should list cs35l56 / cs42l43 entries\naplay -l                                   # should show an amd-soundwire SmartAmp card\nwpctl status                               # a \"... Speaker\" output should be there\nspeaker-test -t sine -f 440 -l 1 -c 2      # you should actually hear a tone\n```\n\nOnce a future kernel adds this laptop on its own, you won't need this anymore:\n\n```\nsudo dkms remove snd-acp-config-um5606/1.0 --all\nsudo reboot\n```\n\nThat puts the built-in module back. Keep an eye on `sound/soc/amd/acp-config.c`\n\nin new kernels; when UM5606GA shows up there, you can drop this.\n\nThe same trick may work for other AMD Zenbooks or Vivobooks whose speakers are silent. First check your laptop's name and the BIOS number:\n\n```\ncat /sys/class/dmi/id/board_name        # e.g. UM5606GA\n# look for the audio config flag the BIOS sets:\nsudo grep -ai 'acp-audio-config-flag' /sys/firmware/acpi/tables/SSDT* 2>/dev/null\n```\n\nIf the flag is `0x10`\n\nand your amps are on SoundWire, change the board name in\n`setup.sh`\n\nand run it. Please don't fire off auto-generated patches to the kernel\nteam. Either let the audio maintainers add it themselves, or open an issue with\nyour board name and flag value so a real person can do it right.", "url": "https://wpnews.pro/news/fix-no-internal-speakers-on-asus-zenbook-s16-um5606ga-amd-strix-point-acp-7-0", "canonical_source": "https://gist.github.com/Yiin/8308c3ba6e5badab1098a7378f9f807f", "published_at": "2026-06-19 16:45:02+00:00", "updated_at": "2026-06-19 17:06:48.677742+00:00", "lang": "en", "topics": ["developer-tools", "machine-learning"], "entities": ["ASUS", "Zenbook S16 UM5606GA", "AMD", "Linux", "DKMS", "Cirrus Logic", "CS42L43", "CS35L56"], "alternates": {"html": "https://wpnews.pro/news/fix-no-internal-speakers-on-asus-zenbook-s16-um5606ga-amd-strix-point-acp-7-0", "markdown": "https://wpnews.pro/news/fix-no-internal-speakers-on-asus-zenbook-s16-um5606ga-amd-strix-point-acp-7-0.md", "text": "https://wpnews.pro/news/fix-no-internal-speakers-on-asus-zenbook-s16-um5606ga-amd-strix-point-acp-7-0.txt", "jsonld": "https://wpnews.pro/news/fix-no-internal-speakers-on-asus-zenbook-s16-um5606ga-amd-strix-point-acp-7-0.jsonld"}}