CachyOS / CachyOS/CachyOS-Settings
Internal microphone saturates at 100% volume on ASUS TUF Gaming A15 (Realtek ALC256)
- Dominant language
- Shell
- Stars
- 443
- Forks
- 76
- PR merge metrics
- No merged PRs in 30d
Description
## Internal microphone saturates at 100% volume on ASUS TUF Gaming A15 (Realtek ALC256)
### 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.
This is a model-specific hardware profile issue. The default PipeWire/ACP profile exposes the full 0–63 step range to the UI volume slider, so 100% system volume maps to +30 dB physical gain and clips the built-in microphone capsule.
I solved it locally with a custom ALSA Card Profile and a WirePlumber rule. It would be great if CachyOS could ship a corrected profile for this laptop model.
### Environment
- **Hardware:** ASUS TUF Gaming A15 (FA506QM)
- **Audio codec:** Realtek ALC256 (`HDA:10ec0256,10431682,00100002`)
- **Distribution:** CachyOS
- **Kernel:** 7.0.11-1-cachyos
- **PipeWire:** 1.6.6
- **Session server:** PipeWire with PulseAudio compatibility
- **Desktop:** KDE Plasma 6, Wayland
### Steps to reproduce
1. Boot the laptop on a fresh PipeWire/PulseAudio session.
2. Open any application that uses the internal microphone (Discord, Brave/web apps, Audacity, etc.).
3. Set the microphone volume to 100% in the system mixer.
4. Record or monitor the microphone.
### Expected behavior
At 100% system volume the microphone should be at a clean, non-saturating gain level suitable for the built-in mic capsule.
### Actual behavior
The audio is heavily distorted/clipped. 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)
### Workaround used
1. Created a 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. Created a 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 workaround:
| System volume | Physical hardware step | Physical gain |
|---------------|------------------------|---------------|
| 100% | 31 / 63 | ~49% |
| 75% | 23 / 63 | ~37% |
| 50% | 16 / 63 | ~25% |
| 25% | 8 / 63 | ~13% |
The microphone is now clean at 100% system volume and the whole volume slider remains usable. Applications still detect the microphone normally.
### Suggested fix
Ship a model-specific ALSA/ACP profile for the ASUS TUF Gaming A15 + Realtek ALC256 (`HDA:10ec0256,10431682,00100002`) that limits the `Capture` control maximum to step 31, or applies a `DecibelFix` so that 100% UI volume maps to the clean physical maximum.
### Additional information
I am willing to test any proposed fix. `alsa-info.sh` output can be provided if needed.
Contributor guide
Assessment
This issue has not been assessed yet.