From: GitHub pull_request - opened <github@alsa-project.org>
To: alsa-devel@alsa-project.org
Subject: ucm2: Intel: avs: Add UCM for renamed AVS HD-Audio, DMIC and HDMI
Date: Sat, 10 Oct 2026 14:22:02 +0200 (CEST) [thread overview]
Message-ID: <18dd2a76d52c4900-webhooks-bot@alsa-project.org> (raw)
In-Reply-To: <alsa-project/alsa-ucm-conf/pr/871@alsa-project.org>
alsa-project/alsa-ucm-conf pull request #871 was opened from archerallstars:
Add UCM for the renamed Intel AVS cards so PipeWire ACP can load HiFi on Kaby Lake machines that no longer use the old `hdaudioB0D2` / DMI long names.
## Hardware (live-tested)
| | |
| --- | --- |
| Machine | Acer Swift SF514-52T (DMI `Carlsberg_KL`) |
| CPU | Intel Core i5-8250U (Kaby Lake-U) |
| PCI audio | `8086:9d71` subsystem `1025:1225` |
| Codec | Realtek ALC255 (`0x10ec0255` / `0x10251225`) |
| HDMI codec | Intel Kabylake HDMI (`0x8086280b`) |
| Driver | `snd_soc_avs` (default `dsp_driver=0`) |
| Kernel | `7.2.9-200.fc44.x86_64` (Fedora Silverblue 44) |
```
0 [DMIC ]: avs_dmic - AVS DMIC
1 [PROBE ]: avs_probe_mb - AVS PROBE
2 [HDAudio ]: avs_hdaudio - AVS HD-Audio
3 [HDMI ]: avs_hdaudio - AVS HDMI
```
Playback: `hw:HDAudio,0` (analog), `hw:HDMI,0/1/2` (HDMI1/2/3).
Capture: `hw:DMIC,0` (internal array), `hw:HDAudio,0` (analog headset).
## What this adds
Lookups:
- `ucm2/conf.d/avs_hdaudio/AVS HD-Audio.conf`
- `ucm2/conf.d/avs_hdaudio/AVS HDMI.conf`
- `ucm2/conf.d/avs_dmic/AVS DMIC.conf`
Profiles:
- **AVS HD-Audio** — `HDA/HiFi-analog.conf` for Speaker / Headphones. Extra `Headset` device on `pcm0c` when `Front Headphone Jack` exists. Analog capture has no `Capture Switch` on this BIOS (mic pins left N/A); topology still exposes `HDAudio Analog`. Format is 24-bit left-justified in `S32_LE`.
- **AVS DMIC** — PCM device 0 (after the card rename), `CaptureChannels 2`, `CaptureRate 48000`, `cset 'DMIC Volume' 100%` (the control boots at 0 / digital silence).
- **AVS HDMI** — three converters, `Number` 1/2/3 with `Device` 0/1/2. `codecs/hda/hdmi.conf` programs `IEC958 Playback Switch` at `index = Number - 1`, so `Number` is 1-based. `Number 0` yields index `-1`. Jack names on this SKU are `HDMI/DP Jack`, `HDMI/DP,pcm=1 Jack`, `HDMI/DP,pcm=2 Jack`.
Old `hdaudioB0D2` / `DMIC-2ch` / DMI long-name files are left in place.
## Proven on this chassis
| Path | Result |
| --- | --- |
| Internal speakers | playback works |
| 3.5 mm 2-ring headphones | playback works |
| 3.5 mm 3-ring CTIA headset mic | capture works on **Headset Microphone** |
| Internal AVS DMIC | capture works |
| HDMI / DisplayPort | playback works |
A 2-ring analog **microphone** on this combo jack is not compatible (pin `0x21` is OUT-only / `NO_HP_MIC`; the same plug is also silent on a Galaxy A25).
Analog headset **pins** still need a kernel quirk or userspace HDA hwdep verbs. AVS logs PCI SSID `1025:0000`, so `ALC255_FIXUP_ACER_HEADSET_MIC` never runs. This PR only binds the analog capture PCM and jack. The out-of-tree layer that programs CTIA (`0x45=0xd489`) and pin `0x19` IN+VREF_80 lives in https://github.com/archerallstars/acer-swift-sf514-52t (`scripts-audio-fix`). WirePlumber capture `Mult` boosts are also out of scope here.
## Relation to #571
[#571](https://github.com/alsa-project/alsa-ucm-conf/pull/571) is the generic Intel AVS renamed-card set (including I2S codecs). This PR is the HD-Audio + DMIC + HDMI subset that is live on ALC255, with three deltas from that branch:
1. HDMI `Number` is 1-based (`1/2/3` with `Device` `0/1/2`). #571 uses `Number 0` for PCM 0.
2. DMIC sets `CaptureChannels 2`. ACP assumes stereo when the count is omitted and fails with `EINVAL` on a 4-channel array ([comment on #571](https://github.com/alsa-project/alsa-ucm-conf/pull/571#issuecomment-5608938568)). This NHLT is stereo.
3. Headset analog capture device, because `HiFi-mic.conf` is skipped without `Capture Switch`.
This PR does not add the I2S codec UCMs from #571.
The kernel still exposes three cards. PipeWire ACP profiles each card. A combined/linked UCM (one logical onboard device) is the open design point on #571; these files match the split that works with current ACP on this laptop.
## References
- https://bugzilla.kernel.org/show_bug.cgi?id=219654
- https://bugzilla.suse.com/show_bug.cgi?id=1213187 (3-ring CTIA headset mic on this codec under `snd-hda-intel`)
- Full `alsa-info.sh` dump follows in a comment for the UCM validator.
Signed-off-by: Archer Allstars <archerallstars@proton.me>
Request URL : https://github.com/alsa-project/alsa-ucm-conf/pull/871
Patch URL : https://github.com/alsa-project/alsa-ucm-conf/pull/871.patch
Repository URL: https://github.com/alsa-project/alsa-ucm-conf
parent reply other threads:[~2026-10-10 12:22 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <alsa-project/alsa-ucm-conf/pr/871@alsa-project.org>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=18dd2a76d52c4900-webhooks-bot@alsa-project.org \
--to=github@alsa-project.org \
--cc=alsa-devel@alsa-project.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox