Skip to content

[BUG] With -pipewire and hybrid graphics, attempting to stream the desktop crashes SteamVR and Steam #915

Description

@DanaGoyette

Describe the bug

On my desktop system where the iGPU is primary with two monitors and the NVIDIA GPU is headless secondary, SteamVR Link with a Quest 3 fails in various ways, depending on how I start it.

  • If I start it from KDE with default settings, it works, but I can't stream the desktop.
    • By default, run using dedicated graphics card is checked.
    • By default, the -pipewire argument is not present.
  • If I edit the app shortcut to add -pipewire, SteamVR starts and seems to work, but when I try to switch to the Desktop tab, SteamVR crashes and takes the whole Steam client with it.
  • If I start it without dedicated graphics, it tries to use the onboard GPU, and fails in ways I can't recall at the moment

To Reproduce
Steps to reproduce the behavior:

  1. Have a machine with two GPUs
    • AMD iGPU as primary in BIOS with a connected monitor.
      • Intel as primary might do the same thing.
    • Discrete NVIDIA card as secondary without a monitor.
  2. Edit the app shortcut in KDE to add -pipewire, make sure it's set to use the discrete GPU
  3. Launch Steam with the edited shortcut.
  4. Try to connect to Steam using VR Link.
  5. Try to stream the desktop, watch SteamVR and Steam crash.
  6. Steam might automatically restart; if so, try streaming the desktop again
    • Steam will tell you to add -pipewire even though you already did!
    • There should be a way to disable the auto-restart, to avoid writing more to the logs after the crash.

Expected behavior
In preference from most to least ideal, one of these would be the expected behavior:

  1. The main Steam UI should run on the iGPU, and everything VR-related should use the discrete GPU automatically and work properly.
  2. The main Steam UI and everything VR should run on the discrete GPU automatically and work properly.
  3. The user should be able to tell Steam to run on the discrete GPU manually, and VR should work properly.
  • I include working PipeWire capture as part of working properly.

System Information
Please use the latest Steam beta client and SteamVR beta for your bug reports!

  • Distribution: Ubuntu 26.04 x86-64, using KDE
  • Steam client version:
Steam Beta Branch:  Steam Beta Update
Steam Version:  1783028805
Steam Client Build Date:  Thu, Jul 2, 2026 1:50 PM UTC -08:00
Steam Web Build Date:  Thu, Jul 2, 2026 11:21 AM UTC -08:00
Steam API Version:  SteamClient023
  • SteamVR version: 2.17.3
    • It's been broken in the same sort of way for many months
  • Steam runtime diagnostics: steam-diagnostics.txt
    • I copied it and pasted it into a file because it's too big
  • Steam and SteamVR logs: steam-logs.tar.gz
    • The bug template should mention that doing the diagnostics first results in them appearing in the logs
  • Minidumps: steam-minidumps.tar.gz
    • I hope they don't include RAM contents such as session data

Screenshots

KDE menu editor, General tab KDE menu editor, Advanced tab

Additional context

  • One of the Steam logs shows that it's trying to run what looks like a mashed-up tool name:

    • In vrstartup.txt: sh: 1: steamxdg-icon-resource: not found
    • That seems to come from vrmonitor, with the string: steamxdg-icon-resource install --context mimetypes --size 256
  • To use the NVIDIA as primary, I'd need to replace my motherboard with one that has DisplayPort input for Thunderbolt, since I use Thunderbolt to keep the machine in another room and switch machines easily.

  • Sometimes I have to edit the SteamVR launch options to run it with vrmonitor.sh, because otherwise I get an error about missing components. Does SteamVR forget how to launch itself?

  • If I start steam in the terminal with STEAM_DEBUG=1, it triggers a heisenbug that breaks SteamVR completely (many missing libraries and symbols).

    • ./vrwebhelper: error while loading shared libraries: libcef.so: cannot open shared object file: No such file or directory
    • .local/share/Steam/steamapps/common/SteamVR/bin/linux64/vrdashboard: undefined symbol: SteamInternal_SteamAPI_Init
  • KDE sets three variables:

    • __NV_PRIME_RENDER_OFFLOAD=1
    • __VK_LAYER_NV_optimus=NVIDIA_only
    • __GLX_VENDOR_LIBRARY_NAME=nvidia
    • I wondered if deleting the layer variable would allow Steam to use the iGPU to stream its connected displays, but SteamVR still crashes. Should I grab the logs for that case too?

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