Audio Issue with Internal Microphone on Lenovo Ideapad 330
- PipeWire version: Compiled with libpipewire 0.3.85 Linked with libpipewire 0.3.85
- Distribution and distribution version: Fedora release 39 (Thirty Nine) x8
- Desktop Environment: GNOME 45.1
- Kernel version: 6.5.12-300.fc39.x86_64
- Host: 81DE Lenovo Ideapad 330-15IKB
Description of Problem:
I am encountering an audio issue with the internal microphone on my Lenovo Ideapad 330-15IKB. The problem specifically occurs when using any Linux distribution with Pipewire, and interestingly, it does not manifest on Windows. Similar issues have been seen in this model in other distros too Link1 Link2
How Reproducible:
The internal microphone is stereo, and the problem is resolved by adjusting the settings in alsamixer. Specifically, setting the internal mic left channel to zero and the right channel to 60, followed by saving the configuration, but it will reset after 5 seconds.
Steps to Reproduce:
Open alsamixer in the terminal. press F4 for capture setting. Set the left channel to zero and the right channel to 60. Save the configuration using sudo alsactl store but it resets again to using both channels which results in not recording.
The permanent solution:
Based on the solution stated in this link: Link Creating a file in /usr/share/pipewire/pipewire.conf.d named 10-f39-microphone.conf with these line in it:
context.modules = [
# plenty of existing { ... } blocks, then paste this:
# Alternate microphone-only mono source
{ name = libpipewire-module-loopback
args = {
node.description = "F39 Microphone"
capture.props = {
node.name = "capture.UR22_Mic"
audio.position = [ FL ]
stream.dont-remix = true
node.target = "alsa_input.pci-0000_00_1f.3.analog-stereo"
node.passive = true
}
playback.props = {
node.name = "capture.F39_Mic"
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
] #end of context.modules