Microphone not working with Gnome, Firefox, and Discord

I’m using Manjaro Gnome 20.1.2 running the 5.8.18-1 Kernel on my Thinkpad T495 (Processor - Ryzen 3500U Pro). I installed it only a couple of days ago (fresh install since I messed up the previous one kernel I was running trying to tweak stuff) and I noticed I had microphone issues on this fresh installaton with no audio input only in a few applications/processes.

  1. When I go under Gnome settings, it doesn’t show any signal being detected although it shows up on the Pavucontrol dashboard. The voice recording application by gnome also doesn’t pick up any sound.
  2. Skype and Zoom work fine with the audio input selection. Discord, Chromium, and Firefox don’t detect any sound for the same choices (or for other options that I have).

I tried removing all packages and reconfiguring the Pulseaudio control or Alsamixer controls by looking at the wiki (removing the pulse folder and restarting my device, killing the process and restarting it, tweaks to etc/pulse/default.pa), but nothing has worked to run these applications so far. I have tried solving it without an HDMI cable plugged in. I don’t have a Noise cancellation module added to the etc/pulse/default.pa file.

Please help me narrow down the problem. I am still a newbie and I don’t have much experience. Therefore detailed steps would be really helpful as I need to fix this to give classroom presentations and attend meetings.

If you want any specific sets of outputs for solving this, please let me know and I can provide the output for that.

Thanks for your time.!

Did you install any programs differently or all affected applications were installed the same way? If you start playing audio in Firefox, does it appear on the “Playback” tab of pavucontrol or in the output of pactl list clients?

Hi, thanks for replying.

Did you install any programs differently or all affected applications were installed the same way?

Firefox came with Gnome. As for Skype, Discord, and Zoom, I installed/made build using the Pamac GUI. I have AUR repositories enabled.

If you start playing audio in Firefox, does it appear on the “Playback” tab of pavucontrol or in the output of pactl list clients?

Yes and yes. It does appear under the “Playback” tab, and here’s the output of pactl list clients:

Client #0
	Driver: module-systemd-login.c
	Owner Module: 21
	Properties:
		application.name = "Login Session 3"
		systemd-login.session = "3"

Client #1
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "Firefox"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.icon_name = "firefox"
		application.version = "83.0"
		application.process.id = "2778"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "firefox"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #2
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "GNOME Shell Volume Control"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.id = "org.gnome.VolumeControl"
		application.icon_name = "multimedia-volume-control"
		application.version = "3.38.1"
		application.process.id = "1863"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "gnome-shell"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #3
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "GNOME Volume Control Media Keys"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.id = "org.gnome.VolumeControl"
		application.icon_name = "multimedia-volume-control"
		application.version = ""
		application.process.id = "2132"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "gsd-media-keys"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #6
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "Firefox"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.process.id = "2778"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "firefox"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"
		application.icon_name = "firefox"

Client #11
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "WEBRTC VoiceEngine"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.process.id = "13080"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "Discord"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #15
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "gsd-media-keys"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		window.x11.display = "wayland-0"
		window.x11.screen = "0"
		application.process.id = "2132"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "gsd-media-keys"
		application.language = "en_US.UTF-8"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #21
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "libcanberra"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.version = "0.30"
		application.id = "org.freedesktop.libcanberra"
		application.process.id = "2132"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "gsd-media-keys"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #22
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "PulseAudio Volume Control"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.id = "org.PulseAudio.pavucontrol"
		application.icon_name = "audio-card"
		application.version = "4.0"
		application.process.id = "16374"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "pavucontrol"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Client #23
	Driver: protocol-native.c
	Owner Module: 14
	Properties:
		application.name = "pactl"
		native-protocol.peer = "UNIX socket client"
		native-protocol.version = "34"
		application.process.id = "16428"
		application.process.user = "nishan"
		application.process.host = "0x1f3456"
		application.process.binary = "pactl"
		application.language = "en_US.UTF-8"
		window.x11.display = ":0"
		application.process.machine_id = "8ac93b92da7248c3b5e4527762b36f62"

Can you test this recording demo site (don’t forget to increase the microphone volume on the slider next to the audio device selector)?

On the website you suggested, I tried all parameter combinations: With and without noise cancellation, across all audio channels, increasing the microphone slider to the maximum both on the gnome settings and the website. I even tested it on the Chromium browser I downloaded and even that doesn’t work. I tried a previous version as well for the demo site you mentioned, which unsurprisingly failed to capture any voice.

Skype and Zoom still work great. I also had Pavucontrol running to indicate real-time audio inputs and it detected my voice as usual showing changes on the indicator.

Looks to me from the screenshot that your voice is being picked up on the (disconnected) headset mic input. Have you tried clicking the tick to indicate “set as fallback”?

I’ve found many programs are pre-configured to use the ‘default’ option which is whatever is set as ‘fallback’

I tried doing that. Didn’t work. And I noticed that whenever I closed Pavucontrol, the box got unchecked automatically. I tried unchecking the top config (Digital Microphone) and checking the bottom one (Headphones Stero Microphone), but that didn’t work as well.

I then tried opening pavucontrol as the superuser, but the GUI wouldn’t load as it froze on “Establishing connection to PulseAudio”.

Add the sound, audio, pulse etc tags to this thread or it’s not going to be picked up by those in the know. @nikgnomic is pretty good with audio stuff. :wink:

Oh, I didn’t know. Thanks so much. I just did that.

did anyone found the root cause / solution?

I have the exact same issue

arecord --duration=5 --format=dat test-mic.wav
aplay test-mic.wav

This works fine, is just firefox, discord and obs that does not work.

I’m using KDE.

OP probably did not have full support for the built-in dual array microphones with kernel v5.8

If you have the same kernel version you should update immediately to a current kernel
I suggest you try kernel v5.14

If arecord command is working the problem is likely not in ALSA, but in a sound server

I suggest you start a new topic and post system information

inxi -Fazy

to establish which sound servers are active