CachyOS / CachyOS/linux-cachyos
[BUG] HP EliteBook X G2a (board 8EF5) — No internal audio, ACP70: BIOS sets acp-audio-config-flag=0x10
- Dominant language
- Shell
- Stars
- 4.5k
- Forks
- 160
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 1
Description
### Pre-flight checklist
- [x] I have searched existing issues and this is not a duplicate.
- [x] I have read the [Contributing Guidelines](https://github.com/CachyOS/linux-cachyos/blob/master/CONTRIBUTING.md).
- [x] I have verified the issue is reproducible with the latest available CachyOS kernel.
- [x] I have tried to reproduce the issue on Arch Linux's `linux` kernel.
### Upstream / vanilla kernel check
I have not tested with a vanilla/upstream kernel
### Kernel variant
Other (specify in description)
### System information (cachyos-bugreport.sh)
```text
- **Model**: HP EliteBook X G2a 14 inch Notebook Next Gen AI PC
- **Board**: `8EF5` (HP), Product family `103C_5336AN HP EliteBook`, SKU `D72PQUT#ABA`
- **BIOS**: `Y88 Ver. 01.01.18`, 04/23/2026
- **CPU/APU**: AMD (Strix Point/Halo generation)
- **Audio controller**: `c3:00.5 Multimedia controller: AMD Audio Coprocessor (rev 70)` — PCI `[1022:15e2]`, Subsystem `Hewlett-Packard Company Device 8ef5`
- **OS**: Ubuntu 26.04 LTS
- **Kernel**: `7.0.0-29-generic` (`CONFIG_ACPI_TABLE_UPGRADE=y`)
- Kernel driver bound to the ACP PCI device: `snd_acp_pci`
```
### Manual system information (if cachyos-bugreport.sh is unavailable)
```text
- **Model**: HP EliteBook X G2a 14 inch Notebook Next Gen AI PC
- **Board**: `8EF5` (HP), Product family `103C_5336AN HP EliteBook`, SKU `D72PQUT#ABA`
- **BIOS**: `Y88 Ver. 01.01.18`, 04/23/2026
- **CPU/APU**: AMD (Strix Point/Halo generation)
- **Audio controller**: `c3:00.5 Multimedia controller: AMD Audio Coprocessor (rev 70)` — PCI `[1022:15e2]`, Subsystem `Hewlett-Packard Company Device 8ef5`
- **OS**: Ubuntu 26.04 LTS
- **Kernel**: `7.0.0-29-generic` (`CONFIG_ACPI_TABLE_UPGRADE=y`)
- Kernel driver bound to the ACP PCI device: `snd_acp_pci`
```
### Bug description
## Summary
On the HP EliteBook X G2a (14", "Next Gen AI PC" line, AMD Strix Point/Halo, ACP 7.0), the AMD ACP70 audio machine driver fails to bind at all:
```
platform acp_asoc_acp70.0: warning: No matching ASoC machine driver found
```
Only the separate HDMI/DP audio device (`snd_hda_intel`) works; there is no ALSA card for the built-in speakers, microphone, or SoundWire-attached audio at all. `/proc/asound/cards` shows only the HDMI "HD-Audio Generic" card.
Root cause, confirmed by decompiling the machine's own ACPI tables: the BIOS-supplied `SSDT` (OEM Table ID `OEMACP`, matching AMD's shared ACP70 reference SSDT template used across OEMs) sets:
```asl
Package (0x02)
{
"acp-audio-config-flag",
0x10
}
```
This is the *same* property and *same* disabling value (`0x10`) reported on the ASUS Zenbook S16 (UM5606GA) for the identical bug class — see https://gist.github.com/trikko/11bef1a5c6d7f6cd2e7ef70603d7ba0d — where changing it to `0x00` restored audio. On this HP board, the SoundWire controller and endpoints (2 TAS-style amp-class speaker configs, DMIC array, headset mic) are otherwise fully described in the same SSDT and marked enabled (`"amd-sdw-enable"` = `One` on both SoundWire manager instances), so the BIOS is describing complete, valid hardware — it is only this one flag preventing Linux from bringing it up.## Evidence
Kernel driver bind failure (`journalctl -k -b`):
```
platform acp_asoc_acp70.0: warning: No matching ASoC machine driver found
```
`/proc/asound/cards` (only HDMI present, no ACP70 card):
```
0 [Generic ]: HDA-Intel - HD-Audio Generic
HD-Audio Generic at 0xb45c0000 irq 152
```
`/sys/bus/soundwire/devices/` is empty — no SoundWire peripherals enumerate (consistent with the machine driver never attaching to bring the bus up).
Loaded modules include the full ACP70/SoundWire stack (`snd_acp70`, `snd_sof_amd_acp70`, `snd_pci_ps`, `soundwire_amd`, `snd_soc_sdca`, `snd_amd_sdw_acpi`), so this is not a missing-driver issue — the driver is present but has nothing valid to bind to.
Relevant ACPI (`SSDT`, OEM ID `AMD`, OEM Table ID `OEMACP`, decompiled from `/sys/firmware/acpi/tables/SSDT15` via `iasl -d`):
```
Device (ACP)
{
...
Device (SDWC) // SoundWire controller
{
Name (_ADR, 0x05)
...
"amd-sdw-enable", One
...
}
Device (SDWS) // audio config / endpoints (speaker amps, DMIC, headset mic)
{
...
"acp-audio-config-flag", 0x10
"acp-audio-ep-type", ...
"acp-audio-ep-mic-array-geometry", ...
...
}
}
```
## What we tried
We attempted a userspace-only fix via the documented initrd ACPI table override mechanism (`Documentation/admin-guide/acpi/initrd_table_override.rst`): decompiled `SSDT15`, changed `acp-audio-config-flag` from `0x10` to `0x00`, bumped the OEM Revision (`0x00000001` → `0x00000002`), recompiled, and loaded it via `GRUB_EARLY_INITRD_LINUX_CUSTOM`.
Every documented precondition checks out — correct cpio structure (`kernel/firmware/acpi/*.aml`), uncompressed-then-compressed ordering, correct OEM ID/OEM Table ID bytes (verified byte-identical to the firmware original), `CONFIG_ACPI_TABLE_UPGRADE=y`, kernel lockdown is `[none]`, normal (non-recovery) boot, override entry correctly present in `grub.cfg` — but the override is not applied: post-reboot, the table still shows OEM Revision `00000001` (unmodified) and the "No matching ASoC machine driver found" warning persists. We could not identify why the override is silently ignored on this kernel; this may be worth a separate report if it reproduces on other systems, but we did not want to conflate it with the primary issue here.
## Request
This looks like the same class of BIOS/DMI-quirk issue already being actively patched for other AMD ACP70 laptops this generation (e.g. the ASUS ProArt PX13 enablement work, and the open request for HP Omen 16 board `8D26` in CachyOS/linux-cachyos#705). Given HP's own ZBook 8 G2a (same "G2a" generation) already has ACP70 machine-driver support upstream (it received an LED-polarity quirk in 7.2-rc5, implying its machine driver already matches), it seems plausible this EliteBook X G2a (board `8EF5`) either needs:
- a machine-driver DMI/board quirk that ignores or overrides `acp-audio-config-flag` for this board (mirroring whatever was done for the PX13 and/or ZBook 8 G2a), or
- confirmation that this flag is intentional and Linux should honor a different BIOS control path instead.
Happy to test patches — this machine is available for verification.
## References
- CachyOS/linux-cachyos#737 — ASUS ProArt PX13, same ACP70 platform, different (SoundWire firmware/timing) root cause
- CachyOS/linux-cachyos#705 — HP Omen 16 (board 8D26), same "No matching ASoC machine driver found" symptom, open
- CachyOS/linux-cachyos#853 — ASUS TUF Gaming A14, same symptom
- Hasun Park, "ASoC: amd: acp: PX13 ACP70 config and machine quirks" — https://patchew.org/linux/20260308151654.29059-1-hasunpark@gmail.com/
- ASUS Zenbook S16 (UM5606GA) — identical `acp-audio-config-flag` bug, same `0x10` disabling value — https://gist.github.com/trikko/11bef1a5c6d7f6cd2e7ef70603d7ba0d
- Linux 7.2-rc5 audio quirks (HP ZBook 8 G2a LED quirk) — https://www.phoronix.com/news/Linux-7.2-rc5-Audio-Fixes
### Steps to reproduce
Boot, check audio.
### Expected behavior
Speaker and microphone show as available devices.
### Actual behavior
Dummy audio devices
### Logs / stack traces
```text
```
### Additional system information
_No response_
Contributor guide
Assessment
This issue has not been assessed yet.