Skip to content

[BUG] SteamVR Link creates non-functional pipewire nodes #873

@founta

Description

@founta

Describe the bug
When Steam Link is started from my Quest Pro, I am able to successfully connect to SteamVR. However, there is no audio.

If using the wireplumber pipewire session manager, pipewire becomes unresponsive at this point until restarted. Using the legacy pipewire-media-session at least prevents hangup.

The following is seen in helvum:

Image

Both the steam link sink and source were created with no input/output nodes.

If you stop pipewire before connecting the headset in Steam Link, it will connect and no audio devices will be made.

When the broken SteamVR audio nodes are present, games still launch but after a ~5 minute delay. When pipewire is not running when the headset connects, games start with no additional delay (and with audio that you can eg choose to send to speakers or something).

To Reproduce
Steps to reproduce the behavior:

  1. Install CachyOS from USB with KDE Plasma desktop environment
    • as of 3-13-2026, it is CachyOS running kernel 6.19.6-2-cachyos
  2. pacman -Syu cachyos/steam cachyos-extra-v3/pipewire-media-session extra/helvum
sudo ufw allow 10400/udp
sudo ufw allow 10401/udp
sudo ufw allow 27031/udp
sudo ufw allow 27036/udp
sudo ufw allow 27036/tcp
sudo ufw allow 27037/tcp
  1. Start steam
  2. Install SteamVR
  3. Set SteamVR launch options to: ~/.local/share/Steam/steamapps/common/SteamVR/bin/vrmonitor.sh %command%
  4. Enable the SteamVR and Steam Client betas
  5. Start SteamVR, start Steam Link on headset, and pair the device
  6. Open helvum and see that the Steam Link virtual audio devices have no ports. See that, in KDE's audio device selection, that the Meta Quest Pro (Steam Link) input and output devices are muted and are unable to be selected.

Expected behavior
The Steam Link pipewire nodes to be created with ports and be functional

System Information (please complete the following information):

Screenshots
If applicable, add screenshots to help explain your problem.

Additional context

  • lshw output: founta_lshw.txt
  • WiVRn audio works without issue
  • The same happens if SteamVR and Steam are started with the firewall disabled
  • broken SteamVR pipewire nodes from pw-dump: founta_pw-dump_vrserver.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions