Open beniwtv opened 5 years ago
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.
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
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.
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
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.
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.
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)
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.
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).
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.
With SteamVR 1.7.2 it's now working for me.
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)
Does not work for me on 1.7.2.
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)
@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.
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.
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.
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.
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.
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.
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 -k
worked 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.
I can confirm. Running pulseaudio -k when SteamVR is running makes the microphone work.
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.
The microphone on my valve index is working just fine now on the non beta version (1.6.10), while it wasn't before!
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.
Have you tried doing an update of your index's firmware? For me updating it fixed the problem.
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)
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
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.
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)
That fixed the issue for me as well.
Glad to see the culprit has been found. Can we expect a proper fix that doesn't impact system wide settings in the future?
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.
Yesterday I noticed that microphone input now works. Using latest release Nvidia drivers and 48KHz sample rate. I did not test anything yet.
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.
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.
@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.
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
@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.
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).
Can confirm the broken microphone is still a thing and the fix is still the same.
For me I needed to:
/etc/pulse/daemon.conf
and set default-sample-rate = 48000
~/.config/pulse/daemon.conf
and add default-sample-rate = 48000
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)
I have noticed that adding another file
~/.config/pulse/daemon.conf
(create if not existing) withdefault-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:
Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.
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?
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.
I'm aware of that, thank you.
You're welcome.
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
I think it is better to not "sudo" edit your own files. Might cause strange issues later on.
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.
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.
Your system information
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: