protonscr

Microphone not working on Valve Index

steamvropen
ValveSoftware/SteamVR-for-Linux#215 · opened 2019-07-20 by beniwtv · updated 2024-12-26 · 116 comments · github
Bbeniwtv 2019-07-20 github

Your system information

  • Steam client version (build number or date): 1.6.7 (1563561782)
  • Distribution (e.g. Ubuntu): Manjaro
  • Graphics driver version (run nvidia-settings): Mesa 19.1.2
  • Gist for SteamVR System Information: https://gist.github.com/beniwtv/16a833350111161f2bfc7c2aeb86e2b1
  • Opted into Steam client beta?: Yes
  • Opted into SteamVR beta?: Yes
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

The Index microphone is detected on the system via ALSA and Pulseaudio, but no input is generated.

Steps for reproducing this issue:

  1. Plug in Valve Index
  2. Start SteamVR
  3. Try to use Index microphone - no sound
CCorben78 2019-07-20 github

When I have my C920 attached, though I have selected the Index HMD mic in PulseAudio, it's picking up the input of the C920 mic.

Ddlpierce 2019-07-22 github

I am also getting no sound input from the Index mic. It shows up in the ALSA and PulseAudio mixer controls, and is the only enabled sound input device, but no sound is recorded in Star Trek Bridge Crew, or in native programs like kwave. I noticed it is listed as a mono device, which seems odd since my understanding is it's a stereo mic.

Running updated Arch Linux with the linux-amd-git kernel.

SteamVR System Information gist: https://gist.github.com/dlpierce/913c95e841498c849f72763b9c628b48

GGoofybud16 2019-07-27 github

I can confirm this issue on my system as well.

SteamVR 1.6.9
Debian Testing w/ Kernel 5.2.3 (for audio support)

System Report: https://gist.github.com/Goofybud16/e41842b0fa4181707d477d039a770aa3

The microphone shows up in Pulseaudio Volume Control, but it doesn't actually produce sound.

image

image

GGoofybud16 2019-07-27 github

I just plugged into a Windows machine temporarily and performed the latest firmware update. The microphone still does not work.

New system report with firmware updates:

https://gist.github.com/Goofybud16/a5962f131b298023e4bb0c616537f149

JJulianGro 2019-07-28 github

I am having the same problem on Linux Mint 19.1 (Ubuntu 18.04), but only since yesterday. It worked the day before yesterday. Used it the whole day in VRChat.

GGoofybud16 2019-07-28 github

I know when I reconnect the headset, it results in Pulseaudio Volume Control seemingly having to reconnect to Pulse (same behavior as running pulseaudio -k, which kills and restarts Pulse). This doesn't happen with my USB mixer, so I wonder if the Index's audio device is somehow causing Pulse to crash and/or misconfigure it? Restarting Pulse doesn't seem to help.

JJulianGro 2019-07-28 github

PulseAudio actually sometimes hangs when I open pacucontrol or a similar application, while the Index is connected. It stops hanging some time after closing the tool again.
Only a full computer restart helps for me. No ALSA or PulseAudio restart.

Also some additional information of the microphone not working:
I tried:
restarting ALSA
restarting PulseAudio
restarting the computer
reconnecting the Index multiple times
reconnecting the Index to different USB controllers

I am running:
Linux Mint 19.1 (Ubuntu 18.04 based)
ALSA k4.18.0-20-generic
pulseaudio 11.1
Nvidia 418.52.07 (audio output works)

JJulianGro 2019-07-28 github

Also just wanted to report that the microphone not working issue doesn't seem to be consistent. It just randomly started working for me again. No computer restart, no ALSA of PulseAudio restart, nothing.

VVash63 2019-07-29 github

I'm also having microphone issues (among others). Haven't tested enough to see if it's intermittent but it works in Windows, in Linux it shows up in pavucontrol but does no report any input (bar graph doesn't move).

GGoofybud16 2019-08-03 github

When I demoed my Index on a Windows machine, the microphone appeared to work perfectly. It's definitely not a hardware issue on my headset.

Could someone with more regular access to a Windows machine check what the sample rate is for the Index microphone?

In my case, pacmd list-sources lists

* index: 14
        name: <alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8B37344787-LYM-01.analog-mono>
        driver: <module-alsa-card.c>
        flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: RUNNING
        suspend cause: (none)
        priority: 9049
        volume: mono: 65536 / 100% / 0.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.33 ms
        max rewind: 0 KiB
        sample spec: s16le 1ch 48000Hz
        channel map: mono
                     Mono
        used by: 1
        linked by: 1
        configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
        card: 5 <alsa_card.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8B37344787-LYM-01>
        module: 32
        properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "USB Audio"
                alsa.id = "USB Audio"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "3"
                alsa.card_name = "Valve VR Radio & HMD Mic"
                alsa.long_card_name = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:03:00.0-12.3.3, full spe"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:03:00.0-usb-0:12.3.3:1.1"
                sysfs.path = "/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-12/1-12.3/1-12.3.3/1-12.3.3:1.1/sound/card3"
                udev.id = "usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8B37344787-LYM-01"
                device.bus = "usb"
                device.vendor.id = "28de"
                device.vendor.name = "Valve Software"
                device.product.id = "2102"
                device.product.name = "Valve VR Radio & HMD Mic"
                device.serial = "Valve_Corporation_Valve_VR_Radio___HMD_Mic_8B37344787-LYM"
                device.string = "hw:3"
                device.buffering.buffer_size = "192000"
                device.buffering.fragment_size = "96000"
                device.access_mode = "mmap+timer"
                device.profile.name = "analog-mono"
                device.profile.description = "Analog Mono"
                device.description = "Valve VR Radio & HMD Mic Analog Mono"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB28de:2102"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        ports:
                analog-input: Analog Input (priority 10000, latency offset 0 usec, available: unknown)
                        properties:

        active port: <analog-input>

EDIT: Also, if someone has the microphone working on Linux, please try and grab this output then too to see if anything is different.

CCorben78 2019-08-09 github

With SteamVR 1.7.2 it's now working for me.

Bbeniwtv 2019-08-09 github

Same with 1.7.2 - I will keep testing in the coming days to see if keeps working, just to make sure it's not temporary (as some people seem to see intermittent working/non-working)

ZZamundaaa 2019-08-09 github

Does not work for me on 1.7.2.

GGoofybud16 2019-08-10 github

Does not work for me on Beta 1.7.3 either.

If anyone has the mic working, do you mind posting the output of pacmd list-sources? Either the relevant section for the Index mic, or the whole thing (probably in a gist)

Bbeniwtv 2019-08-10 github

@Goofybud16 Here you go:

index: 6
	name: <alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8136E0D0E4-LYM-01.analog-mono>
	driver: <module-alsa-card.c>
	flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 9049
	volume: mono: 65536 / 100% / 0,00 dB
	        balance 0,00
	base volume: 65536 / 100% / 0,00 dB
	volume steps: 65537
	muted: no
	current latency: 0,35 ms
	max rewind: 0 KiB
	sample spec: s16le 1ch 48000Hz
	channel map: mono
	             Mono
	used by: 1
	linked by: 1
	configured latency: 40,00 ms; range is 0,50 .. 2000,00 ms
	card: 3 <alsa_card.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8136E0D0E4-LYM-01>
	module: 33
	properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "3"
		alsa.card_name = "Valve VR Radio & HMD Mic"
		alsa.long_card_name = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:03:00.0-1.4.2.3.3, full"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "pci-0000:03:00.0-usb-0:1.4.2.3.3:1.1"
		sysfs.path = "/devices/pci0000:00/0000:00:01.3/0000:03:00.0/usb1/1-1/1-1.4/1-1.4.2/1-1.4.2.3/1-1.4.2.3.3/1-1.4.2.3.3:1.1/sound/card3"
		udev.id = "usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8136E0D0E4-LYM-01"
		device.bus = "usb"
		device.vendor.id = "28de"
		device.vendor.name = "Valve Software"
		device.product.id = "2102"
		device.product.name = "Valve VR Radio & HMD Mic"
		device.serial = "Valve_Corporation_Valve_VR_Radio___HMD_Mic_8136E0D0E4-LYM"
		device.string = "hw:3"
		device.buffering.buffer_size = "192000"
		device.buffering.fragment_size = "96000"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-mono"
		device.profile.description = "Analog Mono"
		device.description = "Valve VR Radio & HMD Mic Analog Mono"
		alsa.mixer_name = "USB Mixer"
		alsa.components = "USB28de:2102"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-usb"
	ports:
		analog-input: Analog Input (priority 10000, latency offset 0 usec, available: unknown)
			properties:
				
	active port: <analog-input>

Did you get the message that SteamVR needs sudo access to finish setting it up when updating to 1.7.2.? I think it did something there.

One thing I have noticed though, I can make it not work when another process is using the ALSA device, PA will not work. In my case that was Jack.

ZZamundaaa 2019-08-10 github

I did get that message and it's not working for me, so it should not be that.
The only difference I can see between your and my output is that mine says "card: 1" instead of "card: 3" with another ID in the string (that's to be expected) and also "module: 7" instead of "module: 33". I think that's nothing hinting at it not working.
Edit: ok I found a difference that's (more or less) the same for me and @Goofybud16. With the long card name I have a " spee" attached on the end. @Goofybud16 has " spe" there. I have no idea if that means anything though.

Bbeniwtv 2019-08-10 github

That just seems to be truncated from "full speed" as in full speed USB device.

So I have noticed something (I run Jack alongside PA):
If I tell Jack to output sound through the Index (even if nothing is playing, mainly just the DisplayPort audio device is open), the microphone works. Otherwise, it won't.

I am curious if telling PA to use the Index as output, and playing say a YT video at the same time gets the mic working during that time for you guys.

ZZamundaaa 2019-08-10 github

As soon as SteamVR has started, all audio devices switch to the index automatically (I enabled that KDE should switch to new sources as soon as they're available). Switching from or to it manually also does nothing for the microphone.

Bbeniwtv 2019-08-10 github

Yes, but Pulseaudio suspends devices if there is no audible audio going through, closing the ALSA device underneath. Hence my suggestion to play something in YT over the switched audio and check the mic then. This way, Pulse will keep the device open.

ZZamundaaa 2019-08-10 github

I let Spotify play and the microphone did not work whilst the speakers played the music. It did work for me once now, whilst letting someone else play Pavlov I still had pavucontrol open and it showed the microphone working. Couldn't reproduce that though.

CCorben78 2019-08-12 github

Yesterday, with 1.7.3, the mic wasn't working for me anymore.
As @beniwtv was reporting it is still working with 1.7.3 on his machine, I tried to change the settings of the nvidia hdmi output. I switched from Dispay Stereo to 7.1 and the device selection jumped to my integrated analog output, but the mic was working then. I couldn't select the HDMI DisplayPort output properly anymore then, though I selected it, the audio was still coming through the integrated analog output and the dropdown showed only analog stero and not Digital Stereo nor 5.1 nor 7.1.
Also in pavucontrol the HDMI output was gone. Reconnecting the Index didn't help, but killing PA with pulseaudio -kworked then. Afterwards I could select the nvidia HDMI output again, though the dropdown was now only showing Digital Stereo and not 5.1 nor 7.1 anymore. But the microphone worked then.
So there might be an initialization issue.

I had to had Steam VR running, otherwise the HDMI output is not available. But even after quitting and restarting SteamVR the mic kept working after having it working once.

ZZamundaaa 2019-08-15 github

I can confirm. Running pulseaudio -k when SteamVR is running makes the microphone work.

GGoofybud16 2019-08-15 github

I started SteamVR, ran puleaudio -k, and the mic did not appear to start working.

I'll try again after a fresh boot when I get the chance.

Eebbit1q 2019-08-20 github

The microphone on my valve index is working just fine now on the non beta version (1.6.10), while it wasn't before!

GGoofybud16 2019-08-30 github

Just wanted to update: With kernel 5.2.9 and SteamVR 1.7.12, my mic still doesn't work.

Pavucontrol also still seems to loose connection once or twice when I plug in the headset, however Pulse doesn't actually seem to crash (as loopback devices stick around, which disappear when I pulseaudio -k)

I still don't think I've managed to coerce the mic into working even once. I do know it works (at the hardware level) as it worked great when I demo-ed it on a Windows machine.

Eebbit1q 2019-08-30 github

Have you tried doing an update of your index's firmware? For me updating it fixed the problem.

Mmnn 2019-08-30 github

Mic doesn't work for me as well. I was only able to make it work once (randomly reconnecting headset, killing pulseaudio and restarting SteamVR), but never again. So I guess it is not a defective mic. SteamVR reports all devices as "up to date".

kernel 5.2.8 (Manjaro)
pulseaudio 12.2
SteamVR 1.6.10 (can't use beta branch - it always crashes after start)

Llostgoat 2019-08-31 github

The problem is that the sample rate requested by the EDID is not respected by the rest of the linux audio stack due to complicated reasons.

To work around the issue, set the following in /etc/pulse/daemon.conf:

default-sample-rate = 48000

Then restart pulseaudio by rebooting or running pulseaudio -k

GGoofybud16 2019-08-31 github

The problem is that the sample rate requested by the EDID is not respected by the rest of the linux audio stack due to complicated reasons.

To work around the issue, set the following in /etc/pulse/deamon.conf:

default-sample-rate = 48000

Then restart pulseaudio by rebooting or running pulseaudio -k

This worked! Once I applied the config change, restarted Pulseaudio, and started SteamVR, my mic started working.

Eebbit1q 2019-09-01 github

Important to note the file is called /etc/pulse/daemon.conf not deamon.conf!
Adding the default sample rate to the correct file now solved this permanently!
(the post has now been corrected)

Jjerbmega 2019-09-01 github

That fixed the issue for me as well.

VVash63 2019-09-01 github

Glad to see the culprit has been found. Can we expect a proper fix that doesn't impact system wide settings in the future?

Llostgoat 2019-09-04 github

We are working with the graphics driver vendors to address the issue.

Note that the Index earphones are what require the 48KHz sample rate, which is currently being set to 44.1KHz. The invalid sample rate is causing audio artifacts on the Index Hummingbird headset and causing the microphone controller to constantly reset.

SStefanTT 2019-10-29 github

Yesterday I noticed that microphone input now works. Using latest release Nvidia drivers and 48KHz sample rate. I did not test anything yet.

Kkedodrill 2019-12-10 github

We are working with the graphics driver vendors to address the issue.

Note that the Index earphones are what require the 48KHz sample rate, which is currently being set to 44.1KHz. The invalid sample rate is causing audio artifacts on the Index Hummingbird headset and causing the microphone controller to constantly reset.

The microphone no longer works for me with the latest headset firmware update through SteamVR Beta.

Also, I am curious, do the audio artifacts that you mention still exist as of now? On my new Index, the speakers sometimes give off high pitched noises, which sometimes can be almost constant. This is most prevalent when I bring up the SteamVR menu. I was wondering if this was just a hardware issue and I might have to return my equipment / get replacements but I would like to avoid that if necessary.

UPDATE: I just saw that SteamVR Beta 1.9.8 just dropped a few hours ago, so I will be testing both of these issues in a few hours after work.

Eebbit1q 2019-12-10 github

I still hear the audio artifacts on 1.9.8, on which application are you testing your microphone?

I have noticed that adding another file ~/.config/pulse/daemon.conf (create if not existing) with default-sample-rate = 48000 fixes the microphone not working on discord in particular. It works without that file for any other application I've tested.

Kkedodrill 2019-12-10 github

@ebbit1q Oh, are the audio artifacts similar to what I describe? The high pitched noises and stuff? If so, that makes me feel a bit better...still sucks that they are there though.

I'm just trying to use it in steam voice chat. I have tried testing the microphone through the settings menu but it just doesn't work.

Eebbit1q 2019-12-10 github

Yes, random high pitched noises when no sound is playing, I thought it was related to nvidia graphics. It is not noticed in game when sounds are playing etc.

I just tested the steam voice chat and it works just fine. Have you tried the fix I suggested earlier? After adding the line make sure to restart pulse with pulseaudio -k

Kkedodrill 2019-12-10 github

@ebbit1q Interesting! That's basically my experience with the sound. Honestly glad to hear that...now I don't have to send things back.

I will certainly try that fix when I get home. In my previous comment I should've said I was trying it last night - I haven't tried anything today as I have been at work.

Edit: I can confirm that making that file with that line fixed things for me - my mic is now working! Also, on 1.9.9 I am noticing less audio artifacts I think. Maybe it was just a lucky day.

GGoofybud16 2019-12-10 github

I've noticed random weird high-pitched noises as well. Almost like a whine that sometimes pulses or something.

I've noticed them in VRChat and opening the quick menu and moving the cursor over it seemed to help, so I thought it was just the game (since most of my time is spent in VRChat, or other games that aren't usually quiet for any extended period of time).

ZZarathustraDK 2020-01-09 github

Can confirm the broken microphone is still a thing and the fix is still the same.

For me I needed to:

  1. Edit /etc/pulse/daemon.conf and set default-sample-rate = 48000
  2. Create ~/.config/pulse/daemon.conf and add default-sample-rate = 48000
  3. Reboot (can also quit Steam and do pulseaudio -k , but right now some of the VR-processes like VRwebhelper and VRmonitor have a nasty habit of not shutting down properly when exiting Steam, hanging around and muddling the results).

Also of note for those seeking a quick fix: The Microphone will not initialize before SteamVR is started, so don't be disheartened if you don't see activity in the monitor when you yell at the headset before starting SteamVR.

Played VRChat for 15 minutes afterwards, people heard me, and noone complained about bad sound :)

Sys-specs:
OS: POP!_OS
Ryzen 3900x
Nvidia 2080ti
Steam beta
SteamVR (linux_temp)

Mmimattr 2020-03-22 github

I have noticed that adding another file ~/.config/pulse/daemon.conf (create if not existing) with default-sample-rate = 48000 fixes the microphone not working

@ebbit1q Confirmed, a user-defined ~/.config/pulse/daemon.conf appears to resolve the microphone issue, hopefully @lostgoat can implement this change/workaround soon.

System Information:

  • Distribution: Ubuntu 19.10
  • SteamVR version: 1.10.32
  • Steam client version: Mar 20 2020, at 18:25:30
  • Opted into Steam client beta?: Yes
  • Graphics driver version: NVIDIA 440.64
  • Gist for SteamVR System Information

Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.

FFreeBooteR69-mint 2020-03-29 github

I've made the changes in /etc/pulse/daemon.conf and added the ~/.config/pulse/daemon.conf. Microphone still doesn't work. Any time-frame when this might be fixed?

Eebbit1q 2020-04-01 github

Do note that steamvr has to be running and that the headset's audio device has to be active in order for the microphone to work.

FFreeBooteR69-mint 2020-04-01 github

I'm aware of that, thank you.

Eebbit1q 2020-04-01 github

You're welcome.

Llllsondowlll 2020-04-27 github

Manjaro Linux here, this issue is still present. Not sure why this hasn't been fixed yet in almost over a year but I can confirm the only needed change is to perform the following command:
nano ~/.config/pulse/daemon.conf

Then paste in the following line: default-sample-rate = 48000

ctrl+x and save. Then reboot (just to be safe). Set the default input device to Analog HMD and start steamvr. Check sound settings and it should report sound.

Specs:
OS: Manjaro Linux
KERNEL: 5.4.33-3-MANJARO
CPU: Intel Core i7-8700K @ 3.70GHz
GPU: NVIDIA GeForce RTX 2080
GPU DRIVER: NVIDIA 440.82
RAM: 32 GB
STEAMVR: 1.11.11
HMD: VALVE INDEX

SStefanTT 2020-04-27 github

I think it is better to not "sudo" edit your own files. Might cause strange issues later on.

Llllsondowlll 2020-04-27 github

I think it is better to not "sudo" edit your own files. Might cause strange issues later on.

This config file doesn't exist in the system under user by default; therefore, we are creating a file, not editing one. Figured it would be better to leave it as read only per personal preference but removed sudo in commands above for other users per your recommendation.

SScrumplex 2020-09-13 github

It seems as if it still does not work consistently. I had it working once but never again. The proposed workarounds above did not work for me.

I have a Vega 56 and audio output is working. But no matter what I try to do the mic won't work.

Eearldbjr 2020-09-13 github

Just adding what worked for me in case it helps anyone.

Changed sample rate to 48000 as mentioned above.
In pavucontrol->Configuration changed "TU102 High Definition Audio Controller" to the corresponding HDMI output.
In pavucontrol->Output Devices changed "TU102..." to the same HDMI.

Only remaining issue is new games don't automatically switch to Index and have to be routed there manually, but I know there's a setting for that.

SScrumplex 2020-09-13 github

It seems as if PulseAudio is reporting errors about the device:

Sep 13 16:47:46 andromeda pulseaudio[1282]: E: [alsa-sink-USB Audio] alsa-sink.c: ALSA woke us up to write new data to the device, but there was actually nothing to write.
Sep 13 16:47:46 andromeda pulseaudio[1282]: E: [alsa-sink-USB Audio] alsa-sink.c: Most likely this is a bug in the ALSA driver 'snd_usb_audio'. Please report this issue to the ALSA developers.
Sep 13 16:47:46 andromeda pulseaudio[1282]: E: [alsa-sink-USB Audio] alsa-sink.c: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.
Note that alsa-sink-USB Audio is actually the Index as it is reported by alsa:

    index: 3
        name: <alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_CA0E46C33D-LYM-01.mono-fallback>
        driver: <module-alsa-card.c>
        flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
        state: RUNNING
        suspend cause: (none)
        priority: 9040
        volume: mono: 65536 / 100% / 0.00 dB
                balance 0.00
        base volume: 65536 / 100% / 0.00 dB
        volume steps: 65537
        muted: no
        current latency: 0.00 ms
        max rewind: 0 KiB
        sample spec: s16le 1ch 48000Hz
        channel map: mono
                     Mono
        used by: 1
        linked by: 1
        configured latency: 40.00 ms; range is 0.50 .. 2000.00 ms
        card: 2 <alsa_card.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_CA0E46C33D-LYM-01>
        module: 8
        properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "USB Audio"
                alsa.id = "USB Audio"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "0"
                alsa.card = "3"
                alsa.card_name = "Valve VR Radio & HMD Mic"
                alsa.long_card_name = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:00:14.0-4.3.3, full spee"
                alsa.driver_name = "snd_usb_audio"
                device.bus_path = "pci-0000:00:14.0-usb-0:4.3.3:1.1"
                sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.3/1-4.3.3/1-4.3.3:1.1/sound/card3"
                udev.id = "usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_CA0E46C33D-LYM-01"
                device.bus = "usb"
                device.vendor.id = "28de"
                device.vendor.name = "Valve Software"
                device.product.id = "2102"
                device.product.name = "Valve VR Radio & HMD Mic"
                device.serial = "Valve_Corporation_Valve_VR_Radio___HMD_Mic_CA0E46C33D-LYM"
                device.string = "hw:3"
                device.buffering.buffer_size = "192000"
                device.buffering.fragment_size = "96000"
                device.access_mode = "mmap+timer"
                device.profile.name = "mono-fallback"
                device.profile.description = "Mono"
                device.description = "Valve VR Radio & HMD Mic Mono"
                alsa.mixer_name = "USB Mixer"
                alsa.components = "USB28de:2102"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-usb"
        ports:
                analog-input: Analog Input (priority 10000, latency offset 0 usec, available: unknown)
                        properties:

        active port: <analog-input>

notably `alsa.name = "USB Audio"

Hheregoesmarcel 2020-09-25 github

Manjaro Linux here, this issue is still present. Not sure why this hasn't been fixed yet in almost over a year but I can confirm the only needed change is to perform the following command:
nano ~/.config/pulse/daemon.conf

I'm experiencing the same issue on my Manjaro machine. Edited both daemon.conf files to no avail. In addition to that (I'm not sure if this only affects the GUI), launching pavucontrol gives the following warning:

(pavucontrol:33418): Gtk-WARNING **: 21:07:53.400: Failed to set text 'Valve VR Radio & HMD Mic' from markup due to error parsing markup: Error on line 1: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity — escape ampersand as &amp;

Specs:
KERNEL: 5.8.6-1-MANJARO
CPU: Ryzen R7 1700
GPU: AMD Radeon RX 5700
GPU DRIVER: Mesa 20.1.7-1
STEAMVR: 1.14.16
HMD: VALVE INDEX

FFreeBooteR69-mint 2020-10-06 github

(pavucontrol:33418): Gtk-WARNING **: 21:07:53.400: Failed to set text 'Valve VR Radio & HMD Mic' from markup due to error parsing markup: Error on line 1: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity — escape ampersand as &

I have this warning too.

System Information

Computer Information:
    Manufacturer:  Unknown
    Model:  Unknown
    Form Factor: Desktop
    No Touch Input Detected

Processor Information:
    CPU Vendor:  AuthenticAMD
    CPU Brand:  AMD Ryzen 7 2700X Eight-Core Processor         
    CPU Family:  0x17
    CPU Model:  0x8
    CPU Stepping:  0x2
    CPU Type:  0x0
    Speed:  4000 Mhz
    16 logical processors
    8 physical processors
    HyperThreading:  Supported
    FCMOV:  Supported
    SSE2:  Supported
    SSE3:  Supported
    SSSE3:  Supported
    SSE4a:  Supported
    SSE41:  Supported
    SSE42:  Supported
    AES:  Supported
    AVX:  Supported
    AVX2:  Unsupported
    AVX512F:  Unsupported
    AVX512PF:  Unsupported
    AVX512ER:  Unsupported
    AVX512CD:  Unsupported
    AVX512VNNI:  Unsupported
    SHA:  Unsupported
    CMPXCHG16B:  Supported
    LAHF/SAHF:  Supported
    PrefetchW:  Unsupported

Operating System Version:
    Linux Mint 19.3 Tricia (64 bit)
    Kernel Name:  Linux
    Kernel Version:  5.7.8-steamvr-generic
    X Server Vendor:  The X.Org Foundation
    X Server Release:  12008000
    X Window Manager:  Mutter (Muffin)
    Steam Runtime Version:  steam-runtime_0.20201005.0

Video Card:
    Driver:  X.Org AMD Radeon RX 5700 XT (NAVI10, DRM 3.37.0, 5.7.8-steamvr-generic, LLVM 10.0.1)
    Driver Version:  4.6 (Compatibility Profile) Mesa 20.1.8 - SteamVR PPA
    OpenGL Version: 4.6
    Desktop Color Depth: 24 bits per pixel
    Monitor Refresh Rate: 30 Hz
    VendorID:  0x1002
    DeviceID:  0x731f
    Revision Not Detected
    Number of Monitors:  1
    Number of Logical Video Cards:  1
    Primary Display Resolution:  3840 x 2160
    Desktop Resolution: 3840 x 2160
    Primary Display Size: 23.90" x 13.58" (27.48" diag)
                                            60.7cm x 34.5cm (69.8cm diag)
    Primary VRAM: 8192 MB

Sound card:
    Audio device: ATI R6xx HDMI

Memory:
    RAM:  32081 Mb

VR Hardware:
    Headset: Valve Index (lighthouse)
    Controller: Valve Knuckles Right (lighthouse)
    Controller: Valve Knuckles Left (lighthouse)
    Base station or sensor: Valve Corporation Valve SR Imp (lighthouse)
    Base station or sensor: Valve Corporation Valve SR Imp (lighthouse)

Miscellaneous:
    UI Language:  English
    LANG:  en_CA.UTF-8
    Total Hard Disk Space Available:  4730678 Mb
    Largest Free Hard Disk Block:  2351482 Mb

CChristophHaag 2020-10-06 github

(pavucontrol:33418): Gtk-WARNING **: 21:07:53.400: Failed to set text 'Valve VR Radio & HMD Mic' from markup due to error parsing markup: Error on line 1: Entity did not end with a semicolon; most likely you used an ampersand character without intending to start an entity — escape ampersand as &

This is just a warning in the UI of pavucontrol that should have no effect on functionality. I fixed the warning here https://gitlab.freedesktop.org/pulseaudio/pavucontrol/-/merge_requests/24

FFreeBooteR69-mint 2020-10-06 github

So how do we go about finding out what is causing the mic not to function for some people? I can get get a gaming headset mic to work in alsamixer, but there is no mic control for the Valve Index.

Edit: Looks like my problem was a faulty Index hmd. Plugging another one in and worked no problem.

Eearldbjr 2020-11-19 github

In addition to changing the setting in /etc/pulse/daemon.conf as was mentioned, you need to create
~/.config/pulse/daemon.conf
and add
default-sample-rate = 48000 to it
Then restart pulseaudio with
'pulseaudio -k.'

CC0rn3j 2020-12-03 github

I had the mic working (with the restart caveat) some months ago, but trying it today I can't get it working at all.

Tried using SteamVR on Linux 1.15.12 and 1.15.13 beta with up-to-date firmware.

Setting default-sample-rate = 48000 actually distorts my audio output and does not fix the mic.

Using an Nvidia card with 455.45.01 and Linux 5.9.11.

Mic works in Windows SteamVR 1.15.13.

CChristophHaag 2020-12-30 github

Also of note for those seeking a quick fix: The Microphone will not initialize before SteamVR is started, so don't be disheartened if you don't see activity in the monitor when you yell at the headset before starting SteamVR.

Adding to that, I just saw that the microphone will not record any sound unless the HDMI audio output profile is set to the output with the Valve Index speakers.

SScrumplex 2020-12-30 github

I did the following steps in that order:

  1. Switch audio to HDMI (AMD)
  2. Start SteamVR
  3. Start Audacity and try to record

And I am still getting no sound at all. Pulse tells me that the mic is at 48 kHz

GGoofybud16 2020-12-30 github

I did the following steps in that order:

1. Switch audio to HDMI (AMD)

2. Start SteamVR

3. Start Audacity and try to record

And I am still getting no sound at all. Pulse tells me that the mic is at 48 kHz

Are you sure that you are outputting to the correct HDMI device?

Start SteamVR, then play some audio source, and then switch it to the AMD HDMI/DP output device. Go to the "Configuration" tab in Pulseaudio Volume Control [pavucontrol] and toggle through the different options for HDMI audio until you have audio playing from the Index.

image

Once audio is playing from the Index, and SteamVR is running, you should be able to get audio from the Valve VR Radio & HMD Mic device.

Mmpnordland 2021-02-10 github

I'm still unable to get microphone input despite attempting all fixes reported in this issue.

I have:

  • added ~/.config/pulse/daemon.conf with "default-sample-rate = 48000"
  • ensured audio is playing through the Index speakers (I can hear the audio)
  • Installed the Linux specific beta, normal beta and regular version of SteamVR, none make it work

Here's what Pulseaudio knows about the device:

	State: RUNNING
	Name: alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8F0278E1CF-LYM-01.mono-fallback
	Description: Valve VR Radio & HMD Mic Mono
	Driver: module-alsa-card.c
	Sample Specification: s16le 1ch 48000Hz
	Channel Map: mono
	Owner Module: 7
	Mute: no
	Volume: mono: 65536 / 100% / 0.00 dB
	        balance 0.00
	Base Volume: 65536 / 100% / 0.00 dB
	Monitor of Sink: n/a
	Latency: 3359 usec, configured 40000 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "0"
		alsa.card_name = "Valve VR Radio & HMD Mic"
		alsa.long_card_name = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:00:14.0-2.3.3, full spee"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "pci-0000:00:14.0-usb-0:2.3.3:1.1"
		sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb3/3-2/3-2.3/3-2.3.3/3-2.3.3:1.1/sound/card0"
		udev.id = "usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8F0278E1CF-LYM-01"
		device.bus = "usb"
		device.vendor.id = "28de"
		device.vendor.name = "Valve Software"
		device.product.id = "2102"
		device.product.name = "Valve VR Radio & HMD Mic"
		device.serial = "Valve_Corporation_Valve_VR_Radio___HMD_Mic_8F0278E1CF-LYM"
		device.string = "hw:0"
		device.buffering.buffer_size = "192000"
		device.buffering.fragment_size = "96000"
		device.access_mode = "mmap+timer"
		device.profile.name = "mono-fallback"
		device.profile.description = "Mono"
		device.description = "Valve VR Radio & HMD Mic Mono"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-usb"
	Ports:
		analog-input: Analog Input (type: Analog, priority: 10000, availability unknown)
	Active Port: analog-input
	Formats:
		pcm
Eearldbjr 2021-02-10 github
  • added ~/.config/pulse/daemon.conf with "default-sample-rate = 48000"

Have you added the same to /etc/pulse/daemon.conf?
Was the final obscure step for me when I got the index.

Mmpnordland 2021-02-10 github

I added it to /etc/pulse/daemon.conf too. Still doesn't work.

JJulianGro 2021-02-15 github

Something I just noticed with the Valve Index microphone. For me it only works if SteamVR is on and it is on my head (the proximity sensor covered), then it still takes a couple of seconds to enable the microphone.

Ddromer 2021-02-18 github

What if you don't use pulseaudio?

Ooptlink 2021-02-19 github

@dromer It works perfectly out of the box with pipewire

Ddromer 2021-02-19 github

@optlink ok, I was trying to get pipewire to run yesterday. I don't see it appearing in the "stable" Linux world (Debian) for another 2-3 years, but I'll give it some more effort :)

KKawaneRio 2021-03-21 github

The problem is that the sample rate requested by the EDID is not respected by the rest of the linux audio stack due to complicated reasons.

To work around the issue, set the following in /etc/pulse/daemon.conf:

default-sample-rate = 48000

Then restart pulseaudio by rebooting or running pulseaudio -k

This..Worked for me...
Thank you, so, so, much.

Ccybik 2021-03-29 github

In my case, forcing the sample rate and restarting didn't fix anything. I am also unable to use pipewire at this time.

Scratch that, playing around with the inputs in the PulseAudio UI (pavucontrol-qt) manages to unlock it - if and only if the active output sink is also the Index. Still, super weird.

Ccybik 2021-03-30 github

Update on my update: after some testing it appears that even though PulseAudio sees my device and activates it "properly", and SteamVR Home "detects" my talking even when the input is set properly (after literally more than one starting SteamVR Home), the person I was chatting with did not hear my voice. Another input (Blue Yeti, Jabrak 510) gets the audio through just fine; I'm guessing the sample rate messes the audio transfer up.

Ccybik 2021-04-02 github

Second update on my update: after going down the rabbit hole of experimentation with things I shouldn't, I installed a few pipewire-0.3.24 packages from Debian Sid into my Pop_OS install (word to the wise: do NOT do this), and tried to use the Index microphones again. At the very least just using them in a Meet web browser (after launching SteamVR to initialize them), no other shenanigans were necessary.

Update 1: VRChat through Proton now gets audio input properly.

AAlexBMJ 2021-04-24 github

This thread is getting fairly long, so it took me some time to go through all the suggested fixes.

Overview:

  • I am running SteamVR to initialize the index audio hardware
  • I tried the default-sample-rate = 48000
  • I have pulseaudio -k'd and rebooted many times
  • I am running on the latest 5.11.16-arch1-1 kernel, with a GTX 1080 which outputs audio to my monitor speakers through DP
  • I know it is not a hardware issue since I have been running the Index on windows, because I was worried about these exact problems.

I will continue to test on different SteamVR versions, but I am getting absolutely nothing on the latest Stable or Beta (1.17.6) versions.
Please reply if you have any suggestions!

JJulianGro 2021-04-24 github

I am pretty sure that the microphone only turns on when the Index' head sensor thingee it tripped, and then it still takes a couple of seconds to turn on.

Ccybik 2021-04-24 github

@AlexBMJ the one last thing to try would be to replace PulseAudio with PipeWire, if you feel adventurous.

AAlexBMJ 2021-04-24 github

Okay, I might have found the issue. As mentioned above, the problem seems to be the speakers running at a lower sample rate, causing the microphone to constantly reset. Checking pactl it does seem that they are running at 44100Hz instead of 48000Hz.
Here is a partial dump:

Sink #6
        State: RUNNING
        Name: alsa_output.pci-0000_26_00.1.hdmi-stereo-extra2
        Description: GP104 High Definition Audio Controller Digital Stereo (HDMI 3)
        Driver: module-alsa-card.c
        Sample Specification: s16le 2ch 44100Hz
        Channel Map: front-left,front-right
        Owner Module: 8
        Mute: no
        Volume: front-left: 65524 / 100% / -0.00 dB,   front-right: 65524 / 100% / -0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.pci-0000_26_00.1.hdmi-stereo-extra2.monitor
        Latency: 5560 usec, configured 5805 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                alsa.resolution_bits = "16"
                device.api = "alsa"
                device.class = "sound"
                alsa.class = "generic"
                alsa.subclass = "generic-mix"
                alsa.name = "HDMI 2"
                alsa.id = "HDMI 2"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                alsa.device = "8"
                alsa.card = "0"
                alsa.card_name = "HDA NVidia"
                alsa.long_card_name = "HDA NVidia at 0xf7080000 irq 103"
                alsa.driver_name = "snd_hda_intel"
                device.bus_path = "pci-0000:26:00.1"
                sysfs.path = "/devices/pci0000:00/0000:00:03.1/0000:26:00.1/sound/card0"
                device.bus = "pci"
                device.vendor.id = "10de"
                device.vendor.name = "NVIDIA Corporation"
                device.product.id = "10f0"
                device.product.name = "GP104 High Definition Audio Controller"
                device.string = "hdmi:0,2"
                device.buffering.buffer_size = "352768"
                device.buffering.fragment_size = "176384"
                device.access_mode = "mmap+timer"
                device.profile.name = "hdmi-stereo-extra2"
                device.profile.description = "Digital Stereo (HDMI 3)"
                device.description = "GP104 High Definition Audio Controller Digital Stereo (HDMI 3)"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card-pci"
        Ports:
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, available)
        Active Port: hdmi-output-2
        Formats:
                pcm

I'm not experienced enough in the linux audio stack to fix this. Since setting the default sample rate in pulse didn't work, I tried configuring ALSA directly, but setting .asoundrc to

pcm.hdmi {
    rate 48000
}

simply gives me : ALSA lib conf.c:1446:(parse_def) hdmi is not a compound

AAlexBMJ 2021-05-03 github

Last update:

After a full week of struggling with JACK + Pulse, I finally caved and installed PipeWire and it just works out of the box! (thanks @cybik)

Kkzdixon 2021-07-20 github

Running Arch (5.12.15-arch1-1) on Plasma with fairly default pulseaudio settings.
Setting the following in my pulseaudio daemon.conf and rebooting worked for me:
default-sample-rate = 48000
alternate-sample-rate = 44100

Have to of course make sure the devices are selected in whatever pulseaudio mixer is being used. For me the playback works fine when using HDMI/DisplayPort (GA102 High Definition Audio Controller Digital Stereo (HDMI); Recording device is set to Analog Input (Valve VR Radio & HMD Mic Mono).

GGoofybud16 2021-07-21 github

I decided to check out PipeWire recently, and it seems to behave... Strangely.

The microphone does work, but only when actually sending an audio stream to the Index.

To reproduce:

  1. Install Pipewire and Pipewire-pulse (I pulled them from Debian Experimental), switch Pulseaudio to Pipewire
  2. Start SteamVR
  3. Observe no mic input (Something like pavucontrol should work with Pipewire-pulse)
  4. Start playing audio somewhere, and ensure it's directed to the Index headphones
  5. Mic input starts to work
  6. Switch playback to a different device
  7. Mic input stops working

Strangely, even using a module-combine-sink that outputs to the Index (Requires a recent pipewire) that's muted (and has no audio streams playing into it) gets the mic working.

I'm not sure if that's a pipewire issue, or an Index issue; since the mic is quirky and picky on Pulseaudio too.

AAndromedaCLI 2021-08-10 github

Had the same issue on arch + pulseaudio where the mic wouldn't wanna work, no matter what I tried and the workarounds mentioned by others didn't work for me.
I ended up switching to pipewire(v. 0.3.33), it works out of the box since then and I didn't notice any audio artifacts or glitches of any kind.
Also I wasn't able to reproduce the behavior mentioned by @Goofybud16 in the latest pipewire version.

ZZarathustraDK 2021-08-11 github

Just wanted to chime in. Did a fresh install of Arch yesterday using the archinstaller, and mic works out of the box with pipewire 0.3.33. Tested succesfully on VRChat without any tinkering beyond setting the correct audiosinks after SteamVR starts.

DDomiStyle 2021-11-08 github

Anybody still experiencing this? I'm on Ubuntu 21.10 with Pipewire 0.3.39 and I don't get any sound out of my mic.

I tried with and without EasyEffects but it just won't work, even with SteamVR running. I also checked the sample rate and it's at 48000 for both the speaker and the mic.

Ccybik 2021-11-08 github

@DomiStyle I just tried it, it works - but I did have SteamVR running in the background.

https://youtu.be/0dbO1zd1xak

Note that I'm on Ubu-via-Pop 21.10 with Pipewire 0.3.32 using only repo packages (no PPAs) - but I did have to add pipewire-pulse manually. As well, I did have to "flip on" pipewire and disable pulseaudio via systemd shenaniganeries.

GGoofybud16 2021-11-08 github

I've had issues with Pipewire 0.3.39.

Make sure SteamVR is running, and try playing some audio to the headset and make sure it actually audibly plays and the mic should work then.

DDomiStyle 2021-11-08 github

@cybik Thanks, good to know that everything should work on Ubuntu 21.10 also then.

I'm going to mess around a little bit and downgrade Pipewire if it still doesn't work.

@Goofybud16 Issues with 0.3.39 as in not working at all?

SteamVR is running, the headset is active and the Steam Home environment is running. I think that should be enough to enable the mic?

Ccybik 2021-11-08 github

@Goofybud16 raises a fair point: I initially didn't check the mic feed in before switching my HDMI audio out to the headset.

After verification, if I'm not mistaken:

  • Fresh start from powerdown, HDMI audio out not outputting audio to Index -> Index mic might not be responsive
    • This appears exclusive to from-powered-down state. Starting a subsequent session without powering down the head unit looks like it keeps the mic state values properly, or not. This might be a YMMV.
  • Switching HDMI audio out to HDMI4 (my index) -> Index mic starts responding
  • Switching HDMI audio out back to HDMI2 (so, not Index) -> Index mic still active

Meaning somehow the mic state of the Index is dependent the audio-out being active. Looks like a firmware oops to me, if anything.

(Powerdown tests are made easy by putting the Index on an IoT "smart" wall socket :D)

GGoofybud16 2021-11-08 github

For some reason, the mic will only work properly under certain conditions (eg the Index has actually played audio at 48Khz, this issue was first created because Pulse was defaulting to 44.1KHz and, while that would play to the speakers, it would break the mic.)

I've found the best way to ensure it works is to ensure that you actually have sound audibly coming out of the Index speakers. Pipewire, helpfully, defaults to 48KHz, vs Pulse's 44.1 on most distros.

DDomiStyle 2021-11-08 github

Hmm, no luck yet. I downgraded to Pipewire 0.3.32 just to be sure there are no differences there and I also disabled EasyEffects so things are easier.

I connected a second microphone just to make sure the microphone wasn't used before SteamVR started. I also played back a Youtube video so something is coming from the Index speakers.

I also noticed that starting SteamVR adds the HDMI output and selects it by default but the microphone is always there and never automatically selected, not sure if that is normal.

This is what pactl info says:

Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 109
Tile Size: 65472
User Name: domi
Host Name: domi-workstation
Server Name: PulseAudio (on PipeWire 0.3.32)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2
Default Source: alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8026D1CBCE-LYM-01.mono-fallback
Cookie: 2458:23c8

This is the output file of pw-dot (can be displayed with xdot)
pw.dot.txt

Ccybik 2021-11-08 github

@DomiStyle try flipping on SteamVR (I'm assuming it's active but still), then switching the HDMI output to your headunit specifically.

DDomiStyle 2021-11-08 github

@cybik No dice. Flipping the output device back and forth while SteamVR is running doesn't do anything.

I also dusted off my Windows partition to make sure the mic itself is still working and yes, everything is working there once SteamVR is started.

DDomiStyle 2021-11-16 github

Unfortunately I still wasn't able to get the mic working.

Could anyone with working mic post their Valve Index entries for pactl list sources and pactl list sinks?

This is mine with SteamVR running, Beat Saber running and OBS trying to record.

Valve Index source
Source [#47](/issue/ValveSoftware/SteamVR-for-Linux/47)
	State: RUNNING
	Name: alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8026D1CBCE-LYM-01.mono-fallback
	Description: Valve VR Radio & HMD Mic Mono
	Driver: PipeWire
	Sample Specification: s16le 1ch 48000Hz
	Channel Map: mono
	Owner Module: 4294967295
	Mute: no
	Volume: mono: 65536 / 100% / 0,00 dB
	        balance 0,00
	Base Volume: 65536 / 100% / 0,00 dB
	Monitor of Sink: n/a
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		object.path = "alsa:pcm:2:hw:2:capture"
		api.alsa.path = "hw:2"
		api.alsa.pcm.card = "2"
		api.alsa.pcm.stream = "capture"
		audio.channels = "1"
		audio.position = "MONO"
		device.routes = "1"
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "USB Audio"
		alsa.id = "USB Audio"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "0"
		alsa.card = "2"
		alsa.card_name = "Valve VR Radio & HMD Mic"
		alsa.long_card_name = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:08:00.1-1.3.3, full spee"
		alsa.driver_name = "snd_usb_audio"
		device.profile.name = "mono-fallback"
		device.profile.description = "Mono"
		card.profile.device = "1"
		device.id = "40"
		factory.name = "api.alsa.pcm.source"
		priority.driver = "1872"
		priority.session = "1872"
		media.class = "Audio/Source"
		node.nick = "Valve VR Radio & HMD Mic"
		node.name = "alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8026D1CBCE-LYM-01.mono-fallback"
		device.description = "Valve VR Radio & HMD Mic Mono"
		device.icon_name = "audio-input-microphone"
		node.pause-on-idle = "false"
		factory.id = "18"
		client.id = "32"
		node.driver = "true"
		factory.mode = "split"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "47"
		node.max-latency = "131072/48000"
	Ports:
		analog-input: Analog Input (type: Analog, priority: 10000, availability unknown)
	Active Port: analog-input
	Formats:
		pcm
Valve Index sink
Sink [#48](/issue/ValveSoftware/SteamVR-for-Linux/48)
	State: RUNNING
	Name: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2
	Description: HDA ATI HDMI Digital Stereo (HDMI 3)
	Driver: PipeWire
	Sample Specification: s16le 2ch 48000Hz
	Channel Map: front-left,front-right
	Owner Module: 4294967295
	Mute: no
	Volume: front-left: 65536 / 100% / 0,00 dB,   front-right: 65536 / 100% / 0,00 dB
	        balance 0,00
	Base Volume: 65536 / 100% / 0,00 dB
	Monitor Source: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2.monitor
	Latency: 0 usec, configured 0 usec
	Flags: HARDWARE DECIBEL_VOLUME LATENCY 
	Properties:
		object.path = "alsa:pcm:0:hdmi:0,2:playback"
		api.alsa.path = "hdmi:0,2"
		api.alsa.pcm.card = "0"
		api.alsa.pcm.stream = "playback"
		audio.channels = "2"
		audio.position = "FL,FR"
		device.routes = "1"
		alsa.resolution_bits = "16"
		device.api = "alsa"
		device.class = "sound"
		alsa.class = "generic"
		alsa.subclass = "generic-mix"
		alsa.name = "HDMI 2"
		alsa.id = "HDMI 2"
		alsa.subdevice = "0"
		alsa.subdevice_name = "subdevice #0"
		alsa.device = "8"
		alsa.card = "0"
		alsa.card_name = "HDA ATI HDMI"
		alsa.long_card_name = "HDA ATI HDMI at 0xfca24000 irq 153"
		alsa.driver_name = "snd_hda_intel"
		device.profile.name = "hdmi-stereo-extra2"
		device.profile.description = "Digital Stereo (HDMI 3)"
		card.profile.device = "12"
		device.id = "44"
		factory.name = "api.alsa.pcm.sink"
		priority.driver = "616"
		priority.session = "616"
		media.class = "Audio/Sink"
		node.nick = "HDA ATI HDMI"
		node.name = "alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2"
		device.description = "HDA ATI HDMI Digital Stereo (HDMI 3)"
		device.icon_name = "audio-card-hdmi"
		node.pause-on-idle = "false"
		factory.id = "18"
		client.id = "32"
		node.driver = "true"
		factory.mode = "merge"
		audio.adapt.follower = ""
		library.name = "audioconvert/libspa-audioconvert"
		object.id = "48"
		node.max-latency = "8192/48000"
	Ports:
		hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, availability group: Legacy 3, available)
	Active Port: hdmi-output-2
	Formats:
		pcm
GGoofybud16 2021-11-16 github

@DomiStyle To be absolutely 100% sure, you have audio coming out of your Index ear speakers? So the audio is actively being sent over DisplayPort and audibly playing on the Index, correct?

I've found that unless you actually have sound audibly playing on the Index ear speakers first, the mic probably won't work. Sometimes it seems to get angry, and while the audio stack claims to be sending audio, it won't actually audibly play, and the mic won't work until something eventually gets in sync and it starts playing.

DDomiStyle 2021-11-16 github

@Goofybud16 Yep, Beat Saber is playing a song in the background.
I can hear it over the Index speakers just fine but mic stays silent in both OBS and the Gnome sound settings.

Ccybik 2021-11-16 github

Unfortunately I still wasn't able to get the mic working.

Could anyone with working mic post their Valve Index entries for pactl list sources and pactl list sinks?

This is mine with SteamVR running, Beat Saber running and OBS trying to record.

pactl info as well pls

GGoofybud16 2021-11-16 github
Valve Index Source
Source [#54](/issue/ValveSoftware/SteamVR-for-Linux/54)
        State: RUNNING
        Name: alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8766F0F61E-LYM-01.mono-fallback
        Description: Valve VR Radio & HMD Mic Mono
        Driver: PipeWire
        Sample Specification: s16le 1ch 48000Hz
        Channel Map: mono
        Owner Module: 4294967295
        Mute: no
        Volume: mono: 65536 / 100% / 0.00 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor of Sink: n/a
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY 
        Properties:
                alsa.card = "3"
                alsa.card_name = "Valve VR Radio & HMD Mic"
                alsa.class = "generic"
                alsa.device = "0"
                alsa.driver_name = "snd_usb_audio"
                alsa.id = "USB Audio"
                alsa.long_card_name = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:0d:00.3-3.3.3, full spee"
                alsa.name = "USB Audio"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                api.alsa.card.longname = "Valve Corporation Valve VR Radio & HMD Mic at usb-0000:0d:00.3-3.3.3, full spee"
                api.alsa.card.name = "Valve VR Radio & HMD Mic"
                api.alsa.headroom = "1024"
                api.alsa.path = "hw:3"
                api.alsa.pcm.card = "3"
                api.alsa.pcm.stream = "capture"
                audio.channels = "1"
                audio.position = "MONO"
                card.profile.device = "1"
                device.api = "alsa"
                device.class = "sound"
                device.id = "48"
                device.profile.description = "Mono"
                device.profile.name = "mono-fallback"
                device.routes = "1"
                factory.name = "api.alsa.pcm.source"
                media.class = "Audio/Source"
                device.description = "Valve VR Radio & HMD Mic Mono"
                node.name = "alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8766F0F61E-LYM-01.mono-fallback"
                node.nick = "Valve VR Radio & HMD Mic"
                node.pause-on-idle = "false"
                object.path = "alsa:pcm:3:hw:3:capture"
                priority.driver = "2000"
                priority.session = "2000"
                factory.id = "18"
                client.id = "33"
                node.driver = "true"
                factory.mode = "split"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "54"
                node.max-latency = "131072/48000"
        Ports:
                analog-input: Analog Input (type: Analog, priority: 10000, availability unknown)
        Active Port: analog-input
        Formats:
                pcm
Valve Index Sink
Sink [#40](/issue/ValveSoftware/SteamVR-for-Linux/40)
        State: RUNNING
        Name: alsa_output.pci-0000_0b_00.1.hdmi-stereo-extra2
        Description: Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT] Digital Stereo (HDMI 3)
        Driver: PipeWire
        Sample Specification: s16le 2ch 48000Hz
        Channel Map: front-left,front-right
        Owner Module: 4294967295
        Mute: no
        Volume: front-left: 42524 /  65% / -11.27 dB,   front-right: 42524 /  65% / -11.27 dB
                balance 0.00
        Base Volume: 65536 / 100% / 0.00 dB
        Monitor Source: alsa_output.pci-0000_0b_00.1.hdmi-stereo-extra2.monitor
        Latency: 0 usec, configured 0 usec
        Flags: HARDWARE DECIBEL_VOLUME LATENCY SET_FORMATS 
        Properties:
                alsa.card = "0"
                alsa.card_name = "HDA ATI HDMI"
                alsa.class = "generic"
                alsa.device = "8"
                alsa.driver_name = "snd_hda_intel"
                alsa.id = "HDMI 2"
                alsa.long_card_name = "HDA ATI HDMI at 0xfcd20000 irq 139"
                alsa.name = "HDMI 2"
                alsa.resolution_bits = "16"
                alsa.subclass = "generic-mix"
                alsa.subdevice = "0"
                alsa.subdevice_name = "subdevice #0"
                api.alsa.card.longname = "HDA ATI HDMI at 0xfcd20000 irq 139"
                api.alsa.card.name = "HDA ATI HDMI"
                api.alsa.headroom = "1024"
                api.alsa.path = "hdmi:0,2"
                api.alsa.pcm.card = "0"
                api.alsa.pcm.stream = "playback"
                audio.channels = "2"
                audio.position = "FL,FR"
                card.profile.device = "12"
                device.api = "alsa"
                device.class = "sound"
                device.id = "46"
                device.profile.description = "Digital Stereo (HDMI 3)"
                device.profile.name = "hdmi-stereo-extra2"
                device.routes = "1"
                factory.name = "api.alsa.pcm.sink"
                media.class = "Audio/Sink"
                device.description = "Navi 21 HDMI Audio [Radeon RX 6800/6800 XT / 6900 XT] Digital Stereo (HDMI 3)"
                node.name = "alsa_output.pci-0000_0b_00.1.hdmi-stereo-extra2"
                node.nick = "HDA ATI HDMI"
                node.pause-on-idle = "false"
                object.path = "alsa:pcm:0:hdmi:0,2:playback"
                priority.driver = "616"
                priority.session = "616"
                factory.id = "18"
                client.id = "33"
                node.driver = "true"
                factory.mode = "merge"
                audio.adapt.follower = ""
                library.name = "audioconvert/libspa-audioconvert"
                object.id = "40"
                node.max-latency = "8192/48000"
        Ports:
                hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, availability group: Legacy 3, available)
        Active Port: hdmi-output-2
        Formats:
                pcm
pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 218
Tile Size: 65472
User Name: -snip-
Host Name: -snip-
Server Name: PulseAudio (on PipeWire 0.3.39)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-Yamaha_Corporation_MG-XU-00.analog-stereo
Default Source: alsa_input.usb-Yamaha_Corporation_MG-XU-00.analog-stereo
Cookie: -snip-

These were taken while SteamVR was running, and there was audio visibly coming from the mic in Pavucontrol.

The only configuration change I've made on my system of note is adjusting the Alsa headroom (which resolved some issues with audio playback, but didn't seem to effect the mic) as well as forcing the default clock rate to 48000 in Pipewire, which seemed to improve the reliability of mod-combine-sink, which seems to have issues in 0.3.39.

/etc/pipewire/pipewire.conf
# Daemon config file for PipeWire version "0.3.39" #
#
# Copy and edit this file in /etc/pipewire for system-wide changes
# or in ~/.config/pipewire for local changes.

context.properties = {
    ## Configure properties in the system.
    #library.name.system                   = support/libspa-support
    #context.data-loop.library.name.system = support/libspa-support
    #support.dbus                          = true
    #link.max-buffers                      = 64
    link.max-buffers                       = 16                       # version < 3 clients can't handle more
    #mem.warn-mlock                        = false
    #mem.allow-mlock                       = true
    #mem.mlock-all                         = false
    #clock.power-of-two-quantum            = true
    #log.level                             = 2
    #cpu.zero.denormals                    = true

    core.daemon = true              # listening for socket connections
    core.name   = pipewire-0        # core name and socket name

    ## Properties for the DSP configuration.

    # I uncommented these two lines, which were already in the file once I copied it from the original location to /etc/pipewire/pipewire.conf
    default.clock.rate          = 48000
    default.clock.allowed-rates = [ 48000 ]
    #

    #default.clock.quantum       = 1024
    #default.clock.min-quantum   = 32
-snip-
/usr/share/wireplumber/main.lua.d/50-alsa-config.lua
-snip, this is near the bottom of the file-
    matches = {
      {
        -- Matches all sources.
        { "node.name", "matches", "alsa_input.*" },
      },
      {
        -- Matches all sinks.
        { "node.name", "matches", "alsa_output.*" },
      },
    },
    apply_properties = {
      --["node.nick"]              = "My Node",
      --["priority.driver"]        = 100,
      --["priority.session"]       = 100,
      --["node.pause-on-idle"]     = false,
      --["resample.quality"]       = 4,
      --["channelmix.normalize"]   = false,
      --["channelmix.mix-lfe"]     = false,
      --["audio.channels"]         = 2,
      --["audio.format"]           = "S16LE",
      --["audio.rate"]             = 44100,
      --["audio.position"]         = "FL,FR",
      --["api.alsa.period-size"]   = 1024,
      --
      -- I uncommented this line and set it to 1024
      ["api.alsa.headroom"]      = 1024,
      --
      --["api.alsa.disable-mmap"]  = false,
      --["api.alsa.disable-batch"] = false,
    },
  },
}
DDomiStyle 2021-11-16 github

@cybik Here's the pactl info output:

pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 64
Tile Size: 65472
User Name: domi
Host Name: domi-workstation
Server Name: PulseAudio (on PipeWire 0.3.32)
Server Version: 14.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_0d_00.1.hdmi-stereo-extra2
Default Source: alsa_input.usb-Valve_Corporation_Valve_VR_Radio___HMD_Mic_8026D1CBCE-LYM-01.mono-fallback
Cookie: a3b7:c736

@Goofybud16

I don't really have any default config for Pipewire but I guess I could copy the default config to /etc/pipewire and set the default rate to 48000 as well just to be sure. No /usr/share/wireplumber on my system but I assume it's not necessary for this to work?

I have Fedora 35 running on a different SSD so I might just try with that soon.

GGoofybud16 2021-11-16 github

Prior to setting it in Wireplumber, Debian had used media-session, which the file was

/etc/pipewire/media-session.d/alsa-monitor.conf
-snip, the end of the file-

        actions = {
            update-props = {
                #node.nick              = "My Node"
                #node.nick              = null
                #priority.driver        = 100
                #priority.session       = 100
                node.pause-on-idle      = false
                #resample.quality       = 4
                #channelmix.normalize   = false
                #channelmix.mix-lfe     = false
                #audio.channels         = 2
                #audio.format           = "S16LE"
                #audio.rate             = 44100
                #audio.position         = "FL,FR"
                #session.suspend-timeout-seconds = 5      # 0 disables suspend
                #monitor.channel-volumes = false

                #latency.internal.rate  = 0            # internal latency in samples
                #latency.internal.ns    = 0            # internal latency in nanoseconds

                #api.alsa.period-size   = 1024
                # This line here
                api.alsa.headroom      = 1024
                #
                #api.alsa.start-delay   = 0
                #api.alsa.disable-mmap  = false
                #api.alsa.disable-batch = false
                #api.alsa.use-chmap     = false
                #iec958.codecs          = [ PCM DTS AC3 MPEG MPEG2-AAC EAC3 TrueHD DTS-HD ]
            }
        }
    }
]

That was to resolve issues with audio cutting out and such on the Index ear speakers, which may be something specific to my GPU (6700XT) or system. Didn't seem to effect the mic, but maybe it did effect something. The mic was working prior to this; just had XRUN issues.

DDomiStyle 2021-11-16 github

That was to resolve issues with audio cutting out and such on the Index ear speakers, which may be something specific to my GPU (6700XT) or system.

Didn't really notice any audio cut outs on my 6900 XT but there is some crackling here and there.

/etc/pipewire/media-session.d/ exists but is empty.

~/.config/pipewire/media-session.d/ is not empty but seems to only contain application default settings.

DDomiStyle 2021-11-17 github

So I tried with a fresh Fedora 35 installation now and I still have no sound from my mic.

Not sure what's going on but the steam overlay as well as the settings are also not working on Fedora 35, so I can't even check the mic settings there.

DDomiStyle 2021-11-18 github

I removed pipewire-pulse to switch back to Pulseaudio and the microphone is also not working with Pulseudio, even with default-sample-rate = 48000 set.

If the mic didn't work under Windows I would have been sure that this is a hardware issue by now.

Ccybik 2021-11-18 github

In my case it never worked with baseline pulse, however hard I patched it.

JJulianGro 2021-11-22 github

Normal Pulse here with 48000 works (Ubuntu 18.04)
Just to say that it does work for some peeps.

I remember it being finicky but in the end it only needed the 48000 as instructed and I haven't had a problem with it on the machine since.
Keep in mind that it needs a while to turn on. To test it you ideally put something in front of the sensor inside the HMD so it stays on.
I could also imagine that it only works if you actually pipe audio to its speakers. There was at least some sort of requirement for the mic to turn on which had confused me.

DDomiStyle 2021-11-23 github

I believe it works for most people since the issue is fairly quiet by now.

I always make sure that the headset is awake, SteamVR is running and some sound is coming from the headset when testing. Still no mic though.

ZZarathustraDK 2021-11-23 github

It's a very odd problem you have:

  • Reinstallation should've reset everything to a working state, but doesn't.
  • If it was an HMD-problem it wouldn't work on windows either but it does.

Perhaps you have some kind of exotic hardware plugged in/strange onboard sound-device that interferes? Have you tried all the DisplayPorts on your 6900XT? Sometimes SteamVR can be finicky about that, though that's mostly in regards to the displays.

DDomiStyle 2021-11-24 github

Perhaps you have some kind of exotic hardware plugged in/strange onboard sound-device that interferes?

That's also what I'm thinking but I don't really have anything exotic plugged in. I will give it another go with nothing plugged in though just to make sure.

I already tried the second port on the 6900 XT but it doesn't work either.

The only interesting part about the SteamVR logs seems to be the Watchman log:

20:02:14.325 [audio] video found, enabling audio
20:02:14.334 [video] Video state: wait_for_stable_vsync -> panel_init (103 ms)
20:02:14.334 [panel] set mode 8
20:02:14.462 [panel 0] MTP=21 factory=36 blend=1.148461 offset=0 result=38
20:02:14.475 [panel 0] loaded column cal=38
20:02:14.475 [panel 0] loading gamma cal
20:02:14.691 [panel 2] MTP=36 factory=43 blend=1.148461 offset=0 result=44
20:02:14.700 [panel 2] loaded column cal=44
20:02:14.700 [panel 2] loading gamma cal
20:02:15.186 [video] Video state: panel_init -> backlight_init (852 ms)
20:02:15.188 [video] Video state: backlight_init -> stable (2 ms)
20:02:17.124 [npca110p] commands in patch: 1185
20:02:18.221 [audio] Setting codec to 0
20:02:18.228 [tfa9892] Init (2, ch: 0; bypass: 1)
20:02:18.252 [tfa9892] Init (3, ch: 1; bypass: 1)
20:02:18.280 [audio] speaker init success
20:02:18.285 [cs47l35] jack: detected: 0; (connected: 0; mic_detect_3: 0x0)
20:02:18.291 [audio] audio state: 0 -> 1 (19021 ms)

20:02:18.285 [cs47l35] jack: detected: 0; (connected: 0; mic_detect_3: 0x0)

That line sounds interesting, maybe it can't detect the mic? I will have to connect a headphone to the audio jack under the face mask to check if that value changes.
Does anybody know if that audio jack only supports headphones or a microphone as well?

JJulianGro 2021-11-25 github

Does anybody know if that audio jack only supports headphones or a microphone as well?

The audio jack of the Valve Index actually only supports headphones with a microphone. If you plug in headphones the integrated microphone will deactivate.

Jjanssen-dev 2022-03-16 github

Uninstall pulseaudio, install pipewire-pulse. Worked like a charm for me!
Do not skip the pulseaudio uninstall or it won't work!

sudo touch /etc/apt/break-my-system # needed on some distros like Pop!_OS to purge pulseaudio
sudo apt purge pulseaudio # you might need to confirm this with typing "Yes, do as I say!"
sudo reboot now
sudo apt install pipewire-pulse
sudo reboot now

Et Voilà!

FFoorack 2022-05-15 github

:warning: # you might need to confirm this with typing "Yes, do as I say!" :warning:
NO, do not do this unless you clearly know what you are doing. Removing pulseaudio also removes the virtual packages "ubuntu-desktop" and "ubuntu-desktop-minimal".

Mmathew2214 2022-05-15 github

warning # you might need to confirm this with typing "Yes, do as I say!" warning NO, do not do this unless you clearly know what you are doing. Removing pulseaudio also removes the virtual packages "ubuntu-desktop" and "ubuntu-desktop-minimal".

even if you do know what you're doing, ALWAYS second guess yourself when you get this prompt.

SSIGSTACKFAULT 2022-09-02 github

Happening to me. Shows in PulseAudio but doesn't produce any sound. SteamVR version 1.23.7. info here

WWandang 2022-11-27 github

I got it to work by switching to pipewire instead of pulseaudio (since I am using manjaro i switched to the manjaro-pipewire package) and rebooted. now it works out of the box

DDASPRiD 2024-06-16 github

I updated Pipewire on PopOS 22.04 from 0.3.59-0pop1~1664857105~22.04~83dda19ubuntu1 to 1.0.2~1707732619~22.04~b8b871b yesterday after holding those updates back for a few months (I assume I had some issues, can't remember exactly why).

Since the update the microphone stopped working. By running the following command manually before starting SteamVR I get it running, but I did notice occasional crackling in my index headphones from that:

pw-metadata -n settings 0 clock.force-rate 48000
DDASPRiD 2024-06-16 github

Alright, I used the pipewire-upstream PPA to upgrade to 1.0.7 which resolved the problem, in case someone else runs into that issue.

SSpacefish 2024-07-07 github

Microphone isn´t working on my Index since the latest Win 11 Insider build ( 10.0.26244.5000 ) as well..

Seems to use a generic USB-Mic driver there, will be interesting to see once that driver versions rolls out to more players and suddently all their mics stop working..

Edit: Was the 44.1kHz vs 48kHz issue.. On windows my defautl changed to 44.1kHz i guess.. At least on linux my mic works again now.

For pipewire the command to temporarily change to 48kHz is:
pw-metadata -n settings 0 clock.force-rate 48000

Otherwise set default.clock.rate = 48000 in /etc/pipewire/pipewire.conf.d/10-default.conf

UUnmoon 2024-12-23 github

The microphone on my Index stopped working in the middle of a play session. At the same time, the headset started displaying a blank gray screen. I restarted my PC, and while the display started working again, the microphone did not.

I can hear the microphone "loopback" through my earbuds when I'm ingame, for example if I swipe my finger over the microphone on the headset.

I have:

  • tried all the USB ports available on my PC
  • checked in PulseAudio Volume Control that the microphone is not muted
  • checked in PulseAudio Volume Control that the microphone shows up
  • checked in PulseAudio Volume Control that the microphone is not outputting ANY sound (even noise)

https://gist.github.com/Unmoon/2a254cff889ead5d2307b67a9f961a08

I can't tell if this is a hardware issue or something with software, but it's really strange it just broke in the middle of a session.

Edit: I tested the microphone on my Steam Deck and MacBook, and got no sound either. Maybe this is a hardware issue then...

UUnmoon 2024-12-26 github

Alright, I figured out my issue.

You must set both the Index HDMI audio output and input as default. After that, launching SteamVR will enable the microphone and it will work until you quit SteamVR.
Restarting SteamVR will not enable it again, so you need to restart the computer or log out and log in again.

I did try to kill all the Steam related tasks from System Monitor, but that did not allow SteamVR to re-enable the mic.

Nothing extracted yet.