protonscr

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

steamvropen bug
ValveSoftware/SteamVR-for-Linux#915 · opened 2026-07-06 by DanaGoyette · updated 2026-07-20 · 3 comments · github
DDanaGoyette 2026-07-06 github

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?
DDanaGoyette 2026-07-10 github

I just tested it on my Intel + AMD machine (Intel UHD 770 + Radeon Pro W5700), and a crash happens there, too.

For reference, on that machine, the DRI_PRIME value is not a number: DRI_PRIME=pci-0000_03_00_0

BBriellaBugs 2026-07-16 github

Try using __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia __VK_LAYER_NV_optimus=NVIDIA_only instead of DRI_PRIME=1

Uncheck "Run using dedicated graphics card" in KDE application editor as well

DDanaGoyette 2026-07-20 github

I have two machines:

  • Intel iGPU + AMD dGPU: KDE sets DRI_PRIME by default
  • AMD iGPU + NVIDIA dGPU: KDE sets the NVIDIA variables by default

If I make Steam not run with the corresponding variables, I tend to get this instead: https://github.com/ValveSoftware/SteamVR-for-Linux/issues/869

Nothing extracted yet.