SteamVR-for-Linux
SteamVR-for-Linux copied to clipboard
No sound output on the vive
Your system information
- Steam client version (build number or date):
- Distribution (e.g. Ubuntu): Ubuntu. Tried with GDM+i3wm, GDM+stock ubuntu WM, and lightdm + i3wm.
- Graphics driver version (run nvidia-settings): 430.26
- Gist for SteamVR System Information: https://gist.github.com/DanielHeath/22671ac7256e8082310540f208b61185
- Opted into Steam client beta?: No
- Opted into SteamVR beta?: Yes
- Have you checked for system updates?: Apt updates? yes. Vive firmware updates? yes.
Please describe your issue in as much detail as possible:
I expected a sound ouput for the vive headphone jack. Instead none of the HDMI outputs exposed by pulseaudio have a corresponding output on the vive
I've tried the suggestions in #124 of setting amdgpu.dc=1, but that's not a kernel parameter I have (either because it's not in 4.18.0-25 or because you need an amdgpu).
Am about to try updating to 5.2 kernel, will report back.
5.2 kernel didn't change anything.
Also tried sudo adduser $USER audio (no dice after a reboot)
Have you tried using a program like pavucontrol (Pulseaudio Volume Control) to ensure that the audio sources (eg the game) are actually playing to the Vive audio device?
As far as I can tell, SteamVR for Linux currently doesn't manage audio devices like it does on Windows, so you have to do it manually.
pavucontrol lists the microphone on the vive, but not the output. This (apparently) worked in old (379-ish) nvidia drivers, but has been broken for some time.
A wierd bug I have is that I need to set it to the corresponding "HMDI/Display" output twice before it accepts it, I also have had times the audio device was not listed but restarting Steam and replugging HDMI cable into the GPU fix that issue.
Interesting. Unplugging and replugging both sets of HDMI cables doesn't seem to make a difference here, though.
I seem to recall that the Vive has a USB audio output device as well.
Does that show up and/or does it work?
I've also had some oddities with the sound output. Many times in the past I've had to select my primary HDMI / Display Port sound output, then and then toggle back to the Vive HDMI / Display Port sound output. I've also noticed that there is a "profile" of sorts for the Vive HDMI / Display Port (you can find this in pavucontrol under the Configuration tab, and it's really important that you select this as well after you select the output device.

I'll add my grain of salt to this after a day of troubleshooting. My RTX 2080 Ti is finicky about its HDMI inputs and tends to disable them a bit too quickly, needing a monitor switch on/off/on for it to turn back on from sleep for example. On Windows I can easily use the Vive sound output even if SteamVR isn't on but my graphics card behavior lead me to try something else and it worked. Whenever the Vive screens are OFF, the audio output is not listed by pavucontrol, as the HDMI port is turned off by the graphics card. This means that not only SteamVR must be launched, but you have to shake/wear the headset for its screens to be turned on ! When the screens are on you can select the HMDI output of the headset in pavucontrol. And whenever the screens turn back off (sleep mode included) the sound is shut. It shouldn't be a problem in games but this means you can't use your headset as a regular audio output without shaking your headset from time to time.
There appears to be a difference in the audio chipset between manufacture dates, I have a 2016 one that works and a 2018 one that doesn't. I've filed a kernel bug report. https://bugzilla.kernel.org/show_bug.cgi?id=216472
I was having this problem on the Index running Pop OS, freshly updated with a RTX 4080, the screen shot here got me to try messing with the Pulse Audio configuration tab some more and I finally got my Index's audio to work by turning the HDA Nvida profile setting to Off, before picking the correct one for me (HDMI 1 I think)