protonscr

Grain Sound / Audio Distortion with new Vive Pro

steamvropen
ValveSoftware/SteamVR-for-Linux#175 · opened 2019-02-02 by silelmot · updated 2025-11-14 · 60 comments · github
Ssilelmot 2019-02-02 github

I changed recently from Vive to Vive Pro and now (didn't had it before) i have bad Sound Distortions. Voices in theLab are barely understandable.
I have tested it in Windows10, there it works great, so its no defective HMD.

this is the output of pacmd list-sinks

 * index: 8
	name: <alsa_output.usb-HTC_VIVE_Pro_Mutimedia_Audio-00.analog-stereo>
	driver: <module-alsa-card.c>
	flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
	state: RUNNING
	suspend cause: (none)
	priority: 9049
	volume: front-left: 29274 /  45% / -21,00 dB,   front-right: 29274 /  45% / -21,00 dB
	        balance 0,00
	base volume: 65536 / 100% / 0,00 dB
	volume steps: 65537
	muted: no
	current latency: 15,54 ms
	max request: 2 KiB
	max rewind: 2 KiB
	monitor source: 12
	sample spec: s16le 2ch 44100Hz
	channel map: front-left,front-right
	             Stereo
	used by: 2
	linked by: 2
	configured latency: 11,61 ms; range is 0,50 .. 2000,00 ms
	card: 4 <alsa_card.usb-HTC_VIVE_Pro_Mutimedia_Audio-00>
	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 = "2"
		alsa.card_name = "VIVE Pro Mutimedia Audio"
		alsa.long_card_name = "HTC VIVE Pro Mutimedia Audio at usb-0000:00:14.0-2.1.4.2, full speed"
		alsa.driver_name = "snd_usb_audio"
		device.bus_path = "pci-0000:00:14.0-usb-0:2.1.4.2:1.0"
		sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2.1/2-2.1.4/2-2.1.4.2/2-2.1.4.2:1.0/sound/card2"
		udev.id = "usb-HTC_VIVE_Pro_Mutimedia_Audio-00"
		device.bus = "usb"
		device.vendor.id = "0bb4"
		device.vendor.name = "HTC (High Tech Computer Corp.)"
		device.product.id = "030b"
		device.product.name = "VIVE Pro Mutimedia Audio"
		device.serial = "HTC_VIVE_Pro_Mutimedia_Audio"
		device.string = "front:2"
		device.buffering.buffer_size = "352800"
		device.buffering.fragment_size = "176400"
		device.access_mode = "mmap+timer"
		device.profile.name = "analog-stereo"
		device.profile.description = "Analog Stereo"
		device.description = "VIVE Pro Mutimedia Audio Analog Stereo"
		alsa.mixer_name = "USB Mixer"
		alsa.components = "USB0bb4:030b"
		module-udev-detect.discovered = "1"
		device.icon_name = "audio-card-usb"
	ports:
		analog-output-speaker: Lautsprecher (priority 10000, latency offset 0 usec, available: unknown)
			properties:
				device.icon_name = "audio-speakers"
	active port: <analog-output-speaker>
Ssilelmot 2019-02-09 github

i just recognized, that the sound just is clear and fine when steamvr is not started. listening to music over the headset is absolutely clear and fine, but in steamvr it is this bad, unclear sound. Every game, even in VR Home

GGoofybud16 2019-03-08 github

I've noticed a similar issue with my OG Vive.

After a while (sometimes hours, sometimes days) the audio from the headphones will start to sound really crappy, almost like the headset dropped to the lowest possible quality settings.

The audio sounds the same if it comes from the USB sound device or HDMI.

The only fix I've found is to unplug the headset and link box completely, let them sit for a few minutes, and restart Steam and SteamVR. After that, audio quality is OK again for some time (hours, days).

Ssilelmot 2019-03-08 github

Thanks, i will try this.
For now i have problems to get steamvr-games run under linux for more than 5min at all :(

GGoofybud16 2019-03-09 github

What games are you trying to play?

On my system (Ryzen 7 1700 + R9 Fury Nitro, AMDGPU + Mesa [RADV]), I have had zero problems with Steam games.

I've played nearly 250 hours of VRChat using Proton 3.16-6, -7, and now -8.

Beat Saber also works fine.

Some other games I've tried either require a large playspace or seem to hang, but at least those two seem to work great (mostly; VRChat is even buggy on Windows).

Ssilelmot 2019-03-10 github

Nothing works. The fun thing is with the vive i can play beatsaber, arizona sunshine, pavlov , and much more, with the vive PRO it constantly freezes after a few minutes in game, sometimes even in the vr-home.
i changed it back to vive 1 and it works again.

GGoofybud16 2019-03-14 github

I've had some more issues/experience with the grain sound.

It seems to be related to audio sources appearing/disappearing in Pulse. I notice it tends to appear when a game opens/crashes (IE game crashes, kill it, re-open, grainy sound).

I've found that I can reduce the grain sound appearing if I do something like have a null sink loopback into the headset or an audio program play music or something into the headset when starting other applications.

I've also noticed that once or twice when I smacked my headset into my desk (ouch!), I would loose audio to the headset for a second and it would play through my speakers, then come back to my headset. That seems to me almost like the audio chip internally is coming disconnected, which raises the possibility of a hardware issue in my headset possibly causing my problem.

PPiMaker 2019-03-14 github

I can confirm the issue as described, really bad audio quality ("grainy") as soon as SteamVR starts, perfectly fine otherwise. It returns back to normal once I quit SteamVR, even without restarting the sound player I was testing with. On the Vive Pro, and definitely not a hardware issue in my case, as the same device works perfectly fine on Windows running on the same machine as Linux, no hardware changes.

Running pacmd list-sinks while SteamVR is running (and the audio is bad) reveals a difference in the configured latency setting (~12 ms vs 25 exactly), but I don't know enough about ALSA/PA to know if that means anything.

A fix would be appreciated :)

Nnotgne2 2019-03-19 github

if you're looking for a workaround in the meantime, restarting pulseaudio with steamvr running is a bit of a dirty hack that gets the sound back to normal for me at least

Ssilelmot 2019-03-19 github

Thanks for the tip, but this doesnt work for me at all.
when i kill pulseaudio (so it can start new) the whole system freezes.
this just happens when steamvr is running.

CCasuallynoted 2019-04-09 github

Same issue, seems to be tangentially related to https://github.com/ValveSoftware/SteamVR-for-Linux/issues/186

GGoofybud16 2019-04-10 github

I've noticed that when I have a null sink outputting to my Vive, the grain issue almost never occurs. When I don't set it up, it sometimes does.

Try the following:

pactl load-module module-null-sink sink_name=testsink
pacmd update-sink-proplist testsink device.description=testsink
pactl load-module module-loopback source=testsink.monitor

Then use Pavucontrol to redirect the new "Loopback from Monitor of Null Output" source to your headset. (In my case, the Vive is called USB Audio Device Analog Stereo).

Then try starting SteamVR.

I've found that when I do this setup, I rarely, if ever have had issues with audio distortion. When I don't, it seems to happen fairly often when a game starts/exits.

To un-do this setup, run

pactl unload-module module-loopback
pactl unload-module module-null-sink
GGoofybud16 2019-04-11 github

I'm getting a new issue now:

Audio seems to "drift" in space. When I first plug in the headset and start SteamVR, everything is fine. If I load into a game, the audio is usually mostly fine. After a bit in the game, the audio seems to "drift" and progressively get worse. It isn't low-bitrate-ness like before, now it actually seems to be warping positional audio. Audio from sources directly in front of me is almost inaudible, and audio from the side of me is present, although very weirdly distorted. Audio sources that should be nearby sound quiet, audio sources that are far away sound closer. It is actually a somewhat painful effect.

The issue persists after closing SteamVR and playing audio via a different application. Music, for example, that should be "all around" me instead sounds like it is somewhat distant.

It is a very unpleasant feeling when it happens, almost painful in a way.

CCasuallynoted 2019-04-11 github

Oh gosh I can imagine that being very offputting. :0 Do you happen to have any logs from ~/.steam/logs?

GGoofybud16 2019-04-13 github

I grabbed a system report. link

I disconnected my headset on Wednesday night, then let it sit until a few hours ago (around 2pm on Friday). I also rebooted my PC on Wednesday night.

I loaded into VRChat, and initially it worked, but then it slowly got more and more warped until I basically couldn't hear anything at all.

For a bit I switched to my speakers, then I heard a pop from my headphones (Deluxe Audio Strap, so they were just folded up). When I switched the audio back to the headphones a bit later to check if they were cooperating, I had the grainy terrible audio but it was no longer horrible and bad and painful like it was before the pop, just kinda grainy and distorted (as I had experienced before).

I had this issue with the audio distortion a few times before, but it was only occasional. It would usually occur after a very long play session. Now, several times, it has happened almost immediately. This is also the first time I have had the audio become grainy and distorted in the middle of playing; usually it happens when a game crashes (and the last audio source playing to the headset stops).

Previously, when I had these audio issues, I had chalked it up to a game/Proton bug, as restarting SteamVR and replugging the headset would make it go away. Now it seems to be much more persistent.

GGoofybud16 2019-04-15 github

Further experience with the strange positional distortion issue:

It happens somewhat randomly after starting up SteamVR/a game. If I switch to another audio device for a while (eg onboard audio + headphones) and let the headset headphones sit for a while, they often seem to correct themselves. The audio will get so bad I basically can't hear anything because it is so distorted, then it will start to reverse and go back to normal. It's almost like they drift out of sync and then back into sync after a while. As far as I've experienced, once it starts to correct itself, it eventually goes back to normal and will stay that way until at least the next time I start SteamVR.

Ssilelmot 2019-04-17 github

@Goofybud16 but the vive pro works for you in general under linux ? Because besides the grain sound mine freezes after some minutes.

CCasuallynoted 2019-04-17 github

Same here, total freeze after a few minutes every single time ^

Sent with GitHawk

PPiMaker 2019-04-17 github

Oof, thought I was alone with the freezes. Have them too, Vive Pro and 1080 Ti. It usually happens as soon as a game starts doing something that uses more performance, e.g. the main menu works fine, but entering a level causes the crash (in BeatSaber for example).

CCasuallynoted 2019-04-17 github

Any chance we could get some feedback from @kisak-Valve ?

Rrpavlik 2019-05-24 github

I also have it here on my Vive Pro. It's not a volume/clipping thing though it sounds like it (I can turn it down in pavucontrol and it's still distorted), and remarkably it does sound OK before SteamVR launches. (as well as when used on Windows.) If SteamVR only partially launches and fails to continue, it will go back to normal! However, the null monitor technique didn't fix anything for me sadly.

Dell Inspiron Gaming 5767 (ryzen 2700x, rx580) running Debian Buster. Plugged in to onboard USB3 port.

CCasuallynoted 2019-05-24 github

“One thing to check: can you open the nvidia-settings control panel and find the 'Allow Flipping' option in OpenGL settings? Try unchecking it, and then see if you can still get it to lock up the machine. Note that you most likely will need to change it every reboot, as it doesn't apply your preferences until you start nvidia-settings again.”

Got this from a Valve employee. Going to be slammed with stuff to do the next three days, anyone have a chance to try it out?

Rrpavlik 2019-05-24 github

Well, mine is AMD, so it's highly unlikely the NVIDIA settings panel has anything to do with it. ;) When running steamvr from the command line, I noticed this is the point at which the sound goes back to normal on quit:

Fri May 24 2019 13:34:10.327058 - Sending Quit event to process vrmonitor (25187)
Fri May 24 2019 13:34:11.515049 - [System] Transition from 'Exiting SteamVR...' to 'Exiting SteamVR...'.
Fri May 24 2019 13:34:11.515248 - [Audio] Audio shutdown!
Destroy() is failed!!

There's a lot more scrolling by on startup, but I suspect the end of this log chunk is where is goes bad, since it was right around this part of the log and there's an apparently-matching init:

Fri May 24 2019 13:36:11.216919 - VR_Init successful
Fri May 24 2019 13:36:11.218696 - New Connect message from /extra/ryan/SteamLibrary/steamapps/common/SteamVR/bin/linux64/vrdashboard (VRApplication_Overlay) (Args: ) 27504 
Fri May 24 2019 13:36:11.223632 - CIPCPipe::ConnectPipe(VR_ServerPipe_27359) attempting bind to 51953
Fri May 24 2019 13:36:11.248278 - Setting app openvr.component.vrdashboard PID to 27504
Fri May 24 2019 13:36:11.248432 - VRDashboard watchdog enabled for pid:27504
Fri May 24 2019 13:36:11.342375 - Using existing HMD lighthouse.LHR-E961190A
Fri May 24 2019 13:36:11.342637 - New Connect message from /extra/ryan/SteamLibrary/steamapps/common/SteamVR/bin/vrwebhelper/linux64/vrwebhelper (VRApplication_WebHelper) (Args: ) 27511 
Fri May 24 2019 13:36:11.342721 - Received success response from vrserver connect
Fri May 24 2019 13:36:11.342808 - Processing message VRMsg_Connect from vrdashboard (27504) took 0.125 seconds
Fri May 24 2019 13:36:11.478221 - Not looking for a good app key because Steam didn't start this app
Fri May 24 2019 13:36:11.478394 - App key after connect message:openvr.component.vrdashboard
Fri May 24 2019 13:36:12.493409 - Creating builtin app for /extra/ryan/SteamLibrary/steamapps/common/SteamVR/bin/vrwebhelper/linux64/vrwebhelper (VRApplication_WebHelper)
Fri May 24 2019 13:36:12.493570 - Setting app system.generated.vrwebhelper PID to 27511
Fri May 24 2019 13:36:12.675754 - Enabling legacy input for system.generated.vrwebhelper
Fri May 24 2019 13:36:12.677839 - system.generated.vrwebhelper (vive_pro) attempting to load default config from file:///extra/ryan/SteamLibrary/steamapps/common/SteamVR/resources/config/legacy_bindings_generic_hmd.json
Fri May 24 2019 13:36:12.677980 - Using existing HMD lighthouse.LHR-E961190A
Fri May 24 2019 13:36:12.678166 - Processing message VRMsg_Connect from vrwebhelper (27511) took 1.45 seconds
Fri May 24 2019 13:36:12.678296 - Received success response from vrserver connect
Fri May 24 2019 13:36:13.434303 - [System] Set VRMonitor PID to 27081
Fri May 24 2019 13:36:13.443936 - [Steam] Attempt to connect to Steam
Fri May 24 2019 13:36:13.445592 - Add Json firmware manifest from {htc}/firmware/manifest.vrfirmware
Fri May 24 2019 13:36:13.446442 - Add Json firmware manifest from {indexcontroller}/firmware/manifest.vrfirmware
Fri May 24 2019 13:36:13.447409 - Add Json firmware manifest from {indexhmd}/firmware/manifest.vrfirmware
Fri May 24 2019 13:36:13.448950 - Add Json firmware manifest from {lighthouse}/firmware/manifest.vrfirmware
Fri May 24 2019 13:36:13.450715 - [Bluetooth Controller] BaseStation Controller Init.
Fri May 24 2019 13:36:13.450893 - [Bluetooth Controller] Radio features: 0x00000001
Fri May 24 2019 13:36:13.453288 - [Bluetooth Controller] Setting system inactivity timeout to 60 minutes.
Fri May 24 2019 13:36:13.453723 - [Bluetooth Controller] Activate BaseStation Controller.
Fri May 24 2019 13:36:13.454728 - [Audio] Audio init
Initialize() is failed!!!
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method

(And the state of the "HDMI Gain" setting doesn't appear to make a difference - wouldn't expect it to since it's using usb, not hdmi, but for completeness...)

GGoofybud16 2019-07-13 github

I just wanted to follow up on my Vive and the weird audio distortion:

At this point, the built-in audio port is basically dead. I've tried different headphones, but it won't produce proper sound in or out of SteamVR. It's been this way for a while now. I've just resorted to using external headphones until the point that I can acquire a new VR headset. I suspect my issues were not caused by SteamVR, but instead by actual hardware failure in my Vive. It has recently been having other strange issues as well, such as odd tracking behavior that is similar to behavior some of my friends have experienced in their Vives before they completely stopped functioning.

Other than my hardware issues, though, SteamVR has been working great. With an external sound device (in my case, a mixer on the desk) audio has been working fine as long as I make sure that the sound outputs are running to the correct device.

ZZamundaaa 2019-12-21 github

I've had this happen quite often recently on the Index. It seems like a workaround is setting the sound source to another output and back, then it stops being distorted.

Edit: it may not have anything to do with the source being switched after all. I just set the "default device" in the KDE Plasma audio settings (which switches all running streams to the new default) to the mainboard output and back to the headset. Now all new applications started seem to be fine.

Ppiewhat 2020-01-15 github

Enabling hardware acceleration in Discord or closing it solved the problem on my Index.

Edit: It seems hardware acceleration isn't what fixes Discord causing audio distortion. Toggling hardware acceleration fixes it after the auto restart so ctrl+r might also fix it.

?ghost 2020-03-21 github

Similar issue for me, outputting game sounds to my speakers works fine, outputting any other program sounds to the Vive pro works fine, but somehow I can't play game sounds through the headset. I couldn't get this to work but changing sources or other methods mentioned here.

This started happening maybe in February, but I didn't use my headset in a while so I can't pinpoint an update that broke audio.

GGoofybud16 2020-08-04 github

I just recently acquired a Vive Pro.

I found that when I direct sound to the "Vive Pro Multimedia Audio Analog Stereo" it sounds absolutely terrible.

If I direct it to the HDMI/Displayport audio device for the Vive Pro, it sounds just fine. Maybe something to do with the USB Audio device?

PpoVoq 2020-10-01 github

Same issue here. Maybe the USB switches back to USB2 mode and runs into bandwidth problems once SteamVR is running? That would explain the degraded audio quality.

Edit: new mainboard, now with free USB3 port. same issue :(

PpoVoq 2020-11-04 github

Maybe just a random effect, but of the three DisplayPorts my Radeon 480 has, only one gives non distorted sound once SteamVR starts.

Jjcnils 2021-11-20 github

Same problem here.

The audio is normal if I use the headset without steamvr, with steamvr it sounds robotic.

pulseaudio -k then pulseaudio -D solved the problem, but I need to do it every time it happens again.

Ssebgab 2022-01-03 github

I have the same issue.

Like others have said the audio is normal until I start steamvr, at which point it gets distorted.

I use pipewire for audio so I did:systemctl --user restart pipewire.service which solved the problem, I have to do it every time I start steamvr.

Ppfych 2022-07-14 github

This issue still persists for me however this fix works: (https://github.com/ValveSoftware/SteamVR-for-Linux/issues/175#issuecomment-481492131)

Try the following:

pactl load-module module-null-sink sink_name=testsink
pacmd update-sink-proplist testsink device.description=testsink
pactl load-module module-loopback source=testsink.monitor

Then use Pavucontrol to redirect the new "Loopback from Monitor of Null Output" source to your headset. (In my case, the Vive is called USB Audio Device Analog Stereo).

To fix the "drift" issue just change the source back to the headset once SteamVR has launched.

PpoVoq 2022-11-10 github

I have the same issue.

Like others have said the audio is normal until I start steamvr, at which point it gets distorted.

I use pipewire for audio so I did:systemctl --user restart pipewire.service which solved the problem, I have to do it every time I start steamvr.

@sebgab Is this still working for you? I recently switched to Fedora with pipewire and restarting the audio like this does not seem to fix the problem (nor does switching the displayport anymore it seems).

Ccrodar33 2022-11-17 github

I have same issue with sound. After update to kubuntu 22.10, trick with pulseaudio -k doesn't help (pulse was replaced by pipewire)
trick with systemctl --user restart pipewire.service doesn't help

Audio:
  Device-1: NVIDIA TU116 High Definition Audio driver: snd_hda_intel
  Device-2: AMD Family 17h HD Audio driver: snd_hda_intel
  Device-3: Logitech Webcam C270 type: USB driver: snd-usb-audio,uvcvideo
  Device-4: HTC (High Tech ) VIVE Pro Mutimedia Audio type: USB
    driver: hid-generic,snd-usb-audio,usbhid
  Sound Server-1: ALSA v: k5.19.0-23-generic running: yes
  Sound Server-2: PipeWire v: 0.3.58 running: yes

tried different work around and check of settings ...
if need more details or checks, I can provide

PpoVoq 2022-11-18 github

To me it sounds like some sort of sample-rate issue. As if SteamVR messes with that after starting (before starting SteamVR the speakers in the Vive Pro sound crystal clear).

I tried forcing Pipewire from the default 48000hz to 44100hz, but that didn't make a difference. Not sure if I did it correctly though.

Edit: an interesting test is to run some music and then start SteamVR. Besides the extreme degration in audio-quality as soon as SteamVR starts (and the return of good quality as soon as it stops) the music also seems to slow down a bit.

PpoVoq 2022-11-18 github

Installing Pavu-control and playing around with the settings fixed it here at least temporarily. Not sure what exactly caused this though.

Ppfych 2022-11-18 github

Installing Pavu-control and playing around with the settings fixed it here at least temporarily. Not sure what exactly caused this though.

Could you provide the steps you went through to temporarily fix the issue since the script above no longer works for me.

To me it sounds like some sort of sample-rate issue.

It's 100% a sample-rate issue. It seems like maybe the headset reports the wrong data back to steamVR? If you can manually force the sample-rate back to the correct value it fixes these issues. However I'm unsure how to consistently do this with either pulseaudio or pipewire

Ccrodar33 2022-11-18 github

find some way to do it more better (but still have sound distortion)

  1. copy /usr/share/pipewire/pipewire.conf to /home/$user/.config/pipewire/pipewire.conf
  2. change default.clock.allowed-rates = [ 48000 ] on default.clock.allowed-rates = [ 48000, 44100 ]
  3. after it restart sound systemctl --user restart pipewire.service
PpoVoq 2022-11-18 github

Could you provide the steps you went through to temporarily fix the issue since the script above no longer works for me.

A bit hard to reproduce as it seems to be not really consistent. But it seems like if I change the playback of the game in pavu-control to the HDMI output (despite my vive pro being connected to a displayport) it continues playing on the DP vive but without or at least much less distortions (the bass is a bit weak, but I think that might be just the bad speaker?). After quitting the game I can actually switch back to the normal Vive output in pavu-control and it stay good on the next game, but after a reboot I have the distortion again.

Kkiuhbit 2023-10-07 github

I am also having this issue. Vive Pro (with the adaptor, not the full link box), Fedora 37. It is definitely a sample rate issue, but it also slows and pitches down the sound slightly. I have a recording I can share if needed. Software recordings don't have the sample rate issue but do have a slight skipping to match the speed of the slowed down version.

EDIT: I believe this issue also applies to the microphone input, which would be funny if this issue didn't make the headset totally unusable.

I really want to know whether this and other Vive Pro driver issues (like the freezing/crashing thing) are being investigated or worked on.

PpoVoq 2023-10-07 github

For me (Fedora 38, KDE on Wayland), I need to select the DisplayPort sound output for the sound to be clear. There is also another option to select that is called VivePro or so, but that gives the distorted output.

Edit: This worked on a Radeon 480, but it seems on a Radeon 7600 is displayport audio output doesn't exists.

Kkiuhbit 2023-10-07 github

Unfortunately I don't have that option on Gnome X11. The only devices from the vive are Digital Output (S/PDIF) - VIVE Pro Multimedia Audio (this one doesn't seem to work) and Speakers - VIVE Pro Multimedia Audio (which works but with the audio issue).

PpoVoq 2024-05-08 github

On a new AMD 7600 GPU the display-port auto option is not available anymore and thus I am back at having this issue.

(Fedora 40, Latest SteamVR beta, HTC Vive Pro)

PpoVoq 2024-06-02 github

Turns out this bug is also happening with Envision/Monado and not only SteamVR. Might point to some other more fundamental issue with how the audio is routed.

AArchieTheRaccoon 2024-07-01 github

Having exactly same issue on Archlinux.
As soon as I start SteamVR, the sound just gets unbearable. No of above said methods helped in any way unfortunately. Tried changing sample rate between 44100(gets faster and high pitched) and 48000(normal speed, but very grainy).

PpoVoq 2024-07-02 github

Apparently this used to or is an issue on Windows as well, see: https://forum.htc.com/topic/3957-vive-pro-audio-distorted-on-steam-vr-launch/page/2/#comments

The most recent post mentions setting it to 24bit 44100 hz. fixes it for the VIve Pro 2 on Windows.

Mmaster-caster 2025-04-26 github

I'm also affected by this behaviour now.
I used to have my HTC Vive Pro combined with an AMD RX 5700.
Changing the Audio profile using the KDE mixer applet always did the trick. Annoying but okay....
With the new RX 9070 this trick isn't working anymore.

I tried to force set the sample rate to 44.1kHz but that didn't work either.
So after testing for a while I managed to get from distorted sound to "slow audio" but
that is not really a benefit :D

Technically the headset works. Listing to Spotify is not a problem. Starting the VR Runtime
will destroy the Vives Audio. I'm out of clue how to, but if I can I might support debugging this.

PpoVoq 2025-04-26 github

Out of ideas as well here. Currently I use external headphones which is quite annoying.

CCarbonNotes 2025-04-26 github

Unsure if it's related, but just in case: With recent versions of Pipewire and recent kernels, I have numerous issues with audio on the Index with my 6700XT. I typically use pavucontrol to set the GPU to 'Pro Audio' mode, enabling me to route sound to each DP device I have connected separately.

Upon starting SteamVR, I often get zero audio from the Index. I have to toggle the Pro Audio setting to a different option and back. That gets sound working for a while, but I still get intermittent cut-outs, and it gets really bad after several hours. It tends to start cutting in and out constantly, becoming grainy, etc. The only fix is to fully shut down SteamVR and restart pipewire and pipewire-pulse.

Pure speculation: Since it seems like all of these cases (Vive Pro & Family, Index) both use Displayport Audio, and most users reporting the issue seem to be on AMD GPUs, could there maybe be a bug in the AMD driver/firmware? Possibly something along the lines of the audio signal slowly drifting out of sync over time or possibly being just enough out of spec that the VR HMDs (which are likely tuned for low-latency) have difficulty handling it?

Mmaster-caster 2025-05-02 github

Basically it should not be necessary to think about that but if there is a HMD out there that is compatible to steam vr + linux + current gen AMD gpu I might think about changing my gear. But AFAIK it looks like htc vive (pro) 2 and valve index might end up with unsatisfying results as well.

Should I mention that Steam VR + Windows (without any manual audio adjustments) is working flawlessly with the exact same system?

CCarbonNotes 2025-05-03 github

Basically it should not be necessary to think about that but if there is a HMD out there that is compatible to steam vr + linux + current gen AMD gpu I might think about changing my gear. But AFAIK it looks like htc vive (pro) 2 and valve index might end up with unsatisfying results as well.

Should I mention that Steam VR + Windows (without any manual audio adjustments) is working flawlessly with the exact same system?

It is very much unfortunate that this bug exists, but the combination of SteamVR + Linux + Wired HMD is a niche market inside of a niche market. I do hope that the issue gets resolved, but making veiled threats about changing software/hardware is not likely to encourage anyone to actually fix it.

SteamVR on Linux has always seemingly been a niche market with limited investment. This is a big reason why so many people have been so excited as Monado has made progress, and many people I bump into who do VR on Linux have moved to Monado. It does seem like there's some background investment by Valve, but it doesn't seem like SteamVR on Linux is the main focus for them, right now. As it stands, they have poured massive amounts of funding and engineering time into the Linux graphics stack in support of products like the Steam Deck (Proton, AMDGPU / radv / radeonsi) which also benefits anyone who wants to play games on Linux, especially when they have AMD hardware. While it would very much be nice to see them invest more in making SteamVR on Linux a completely seamless experience like on Windows, they are a company of limited size and selective focus. That limited size and selective focus is why most of the games, software, and hardware products they produce are best-in-class, even if it does mean some projects unfortunately don't always get the love the community wishes they did (remember SaveTF2?)

In this case, due to the fact that this issue occurs on the Vive family of devices and in some cases on the Index hardware (which admittedly could be a different issue, since the root cause is seemingly unknown in both cases), with both Monado and SteamVR, I suspect that this is not a directly SteamVR issue. This seems like it's likely a poor interaction or bug somewhere in the Linux audio stack or in the AMD GPU drivers. While it would very much be appreciated if Valve invested some time into fixing this issue, it seems like it's overwhelmingly experienced with HTC hardware. It's the AMD Graphics drivers, not the Valve Drivers for AMD Graphics; Valve does contribute a lot, but they do not bear sole responsibility for them. While I am having issues with my Index that results in similar symptoms to those observed here, I could also just have a dying headset that has some quirks and needs power cycled after a few hours. (I will admit, the HMD is 5 years old now and has seen thousands of hours of gameplay.) Arguably, HTC and AMD are more responsible for helping with / fixing this issue, since it's overwhelmingly experienced with their hardware; however they either don't have strong Linux support (HTC) or focus more on mainstream use-cases (traditional desktop gaming) / highly profitable use-cases (datacenter compute workloads).

CCarbonNotes 2025-07-16 github

Upon starting SteamVR, I often get zero audio from the Index. I have to toggle the Pro Audio setting to a different option and back. That gets sound working for a while, but I still get intermittent cut-outs, and it gets really bad after several hours. It tends to start cutting in and out constantly, becoming grainy, etc. The only fix is to fully shut down SteamVR and restart pipewire and pipewire-pulse.

I figure I should update my latest experience: With kernel 6.15.5 (mainline, debian config) and pipewire 1.4.2-1 (Debian) I'm no longer observing the cut-outs. I do still have the problem when I first get into VR where there's no audio and I must use pavucontrol to flip the GPU out of and back into Pro Audio mode, but after some extended VR sessions, my controller batteries were dying and the audio was still working. I also notice that before flipping the audio settings around, my headset display flashes constantly (when it's on, it does display the correct image). After audio starts working, the HMD image is solid. I don't have any sparkles or anything else typically associated with a bad cable.

Mmaster-caster 2025-08-19 github

FYI searching how to change things like sample rate I found the tool pwrate on github.
It is quite limited to sample rate but I gave it a try 😁
Toggling between different audio profiles was the solution with my old graphics card that doesn't seem to work
anymore.

The tool is definitely doing something. But just adjusting the sample rate is not fixing it for me. But maybe
it works for you.

Sskipperro 2025-10-07 github

SOLUTION / WORKAROUND

Having the same issue with Vive Pro.
Either poor quality sound (crackling, metalic) or no sound at all due to SteamVR forcing non existing audio sink as output for all VR games.
Playing with audio configuration files or making loopback sinks doesn't work.

The only solution that works for me is:

  1. Launch SteamVR and wait until it's started
  2. Run systemctl --user restart pipewire pipewire-pulse wireplumber command to restart audio
  3. Launch the VR game you want to play

This liberates the game from being forced to use null sink as audio output.

Alternatively, you can automate it by adding audio-restart command to launch options for every VR game you want to play.
Exact command that works for me is:
systemctl --user restart pipewire pipewire-pulse wireplumber && %command%

This will restart audio right before launching the game normally through Steam (but when SteamVR is already running), so you can then use Pavucontrol to output the game audio to whatever device you like with good quality, bypassing SteamVR logic completely.

Image Image

Tested on Linux Mint 22.1 with HTC Vive Pro

Kkiuhbit 2025-10-08 github

My solution was to switch to the open source envision+monado+opencomposite stack, which I found to be a much better experience than steamvr :)

There's a brilliant wiki page about it here https://lvra.gitlab.io/docs/fossvr/envision/

PpoVoq 2025-10-08 github

@kiuhbit I tried that some months ago and it had exactly the same audio issue as StreamVR.

@skipperro something is missing in your description, as here on Fedora42 and an Radeon 7600 it doesn't change anything. Your command does restart the audio devices, but it just goes back to the same device with the audio distortion and there is no other devices to switch to that still outputs to the build in speakers of the HTC Vive Pro. Of course I can switch to another set of headphones, and those are not distorted, but that was always the case.

Sskipperro 2025-10-08 github

@poVoq OK, it might be required to do one more change in pavucontrol.
I have 2 regular audio outputs, one is HDMI to the display and another is bluetooth headset that I use when not using VR.
When I connect the VR headset I get TWO new audio devices:

  • Vive Pro Multimedia Audio
  • Another output on HDMI/DisplayPort controller (GPU)

I never use the first one, because it never worked for me for some reason, but the one with HDMI is working.
But if you already have different HDMI/DisplayPort connected (for example for display) you have to switch the audio controller from the GPU to other output. In my case it's "HDMI 2", as on screenshot.

Then you can move your app to output its audio on DisplayPort controller and it will play on the port 2, which should be Vive headset.

You can do this in pavucontrol in configuration tab. It may be called differently for you as I have NVIDIA card.

PpoVoq 2025-10-08 github

Hmm, I used to have two new outputs on my older Radeon 480, where switching the one not called "Vive Pro Multimedia Audio" did indeed fix the issue (I never had to restart pulseaudio or so with it). But on my newer Radeon 7600 I get only that one additional audio output with no option to switch.

What I could maybe try is to attach my HDMI display with an adapter to one of the three DisplayPorts of the card and leave the HDMI port free. Maybe the HDMI port is somehow messing with the audio out over DP for the HTC Vive Pro.

PpoVoq 2025-10-08 github

Ah, ok I might have understood exactly what you are doing now or at least found another workaround.

So just putting my screen on DP with an DP to HDMI adapter didn't make a difference. But after doing so I found the option in Pavucontrol that I can change the audio out of the output that I normally use for my speakers connected to the screen, to a different DP port, where the HTC Vive is connected, completely ignoring the audio output device added by the HTC Vice itself.

This then outputs undistorted music to my HTC Vive Pro speakers even after starting SteamVR. However when starting a VR game it would have no audio at all, with Pavucontrol showing some unkown device for the specific application. And here your suggestion to restart Pulseaudio worked to be able to change away from that unkown device, so I guess we got a similar workaround now.

Thanks a lot for the explanation, it did help finding a working option.

Edit: it seems I need to kill pulse audio only once, not each time I want to start a game.

MMarkosha2004 2025-11-14 github

Nobara 42

Same issue

but after changing from vive pro audio output to DP output, the distortions stopped, but I've lost my mic. No workaround yet.

Proton versions