* Internal microphone saturates at 100% volume on ASUS TUF Gaming A15 (Realtek ALC256)
[not found] <18b8f8e013c3d000-webhooks-bot@alsa-project.org>
@ 2026-06-14 14:28 ` GitHub issues - opened
0 siblings, 0 replies; only message in thread
From: GitHub issues - opened @ 2026-06-14 14:28 UTC (permalink / raw)
To: alsa-devel
alsa-project/alsa-ucm-conf issue #790 was opened from Giossue:
### Summary
The internal microphone of the ASUS TUF Gaming A15 (FA506QM) saturates/distorts when the system capture volume is set above ~50%. The ALSA hardware volume range is 0–63 steps, where step 63 corresponds to approximately +30 dB. At step 31 (~0 dB / ~49% physical gain) the microphone sounds clean.
Currently, the default profile exposes the full 0–63 step range to the UI volume slider, so 100% system volume maps to +30 dB physical gain, clipping the built-in microphone capsule.
I am opening this issue to request an upstream fix (such as a UCM profile or hardware quirk) for this laptop model, so the limitation is applied correctly at the ALSA level for all Linux distributions.
### Environment
- **Hardware:** ASUS TUF Gaming A15 (FA506QM)
- **Audio codec:** Realtek ALC256 (`HDA:10ec0256,10431682,00100002`)
- **Distribution:** CachyOS / Arch Linux base
- **Kernel:** 6.11-cachyos (or specify exact version)
- **PipeWire:** 1.0.0 (or specify exact version)
- **Desktop:** KDE Plasma 6, Wayland
### Steps to reproduce
1. Boot the laptop on a fresh Linux session.
2. Open any application that uses the internal microphone (Discord, WebRTC, Audacity, etc.).
3. Set the microphone volume to 100% in the system mixer.
4. Record or monitor the microphone.
### Expected behavior
At 100% UI system volume, the microphone should reach a clean, non-saturating gain level suitable for the built-in mic capsule (hardware step 31 / 0 dB).
### Actual behavior
The audio is heavily distorted/clipped due to excessive hardware gain. Lowering the system volume to around 50% makes it sound clean.
### ALSA hardware details
```bash
$ amixer -c 2 sget Capture
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 63 [100%] [30.00dB] [on]
Front Right: Capture 63 [100%] [30.00dB] [on]
```
- Step 0 ≈ -96 dB (effectively muted)
- Step 31 ≈ 0 dB / ~49% physical gain (clean level)
- Step 63 ≈ +30 dB / 100% physical gain (saturates)
### User-space Workaround used
I managed to solve this locally using PipeWire/PulseAudio ALSA Card Profiles, but I understand this should ideally be handled by ALSA UCM or kernel quirks:
1. Custom ALSA Card Profile in `/etc/alsa-card-profile/mixer/profile-sets/default.conf`:
```ini
[DecibelFix Capture]
db-values = 0:-96.00 31:0.00
```
2. WirePlumber rule in `~/.config/wireplumber/wireplumber.conf.d/mic-ignore-db.conf`:
```lua
monitor.alsa.rules = [
{
matches = [
{
device.name = "alsa_card.pci-0000_06_00.6"
}
]
actions = {
update-props = {
api.alsa.ignore-dB = true
}
}
}
]
```
Result after this workaround:
100% UI volume maps to step 31/63 (~49% physical hardware gain). The microphone is completely clean and the whole UI slider remains usable.
### Suggested fix
Implement a UCM2 profile or hardware database quirk for the ASUS TUF Gaming A15 (`HDA:10ec0256,10431682,00100002`) that correctly limits the `Capture` maximum to 0 dB, so upper layers (WirePlumber/PulseAudio) map 100% volume safely.
### Additional information
I am willing to test any UCM configurations or fixes. My `alsa-info.sh` output is: https://alsa-project.org/db/?f=dc8efae429325ead7103381ee34884c5f9d735e5
Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/790
Repository URL: https://github.com/alsa-project/alsa-ucm-conf
^ permalink raw reply [flat|nested] only message in thread