protonscr

VR: Controllers not working due to "wrong" appname?

protonopen
ValveSoftware/Proton#8473 · opened 2025-02-23 by Spacefish · updated 2025-03-21 · 2 comments · github
SSpacefish 2025-02-23 github

When running VR games via Proton which use the SteamVR API all the buttons and thumbsticks as well as the trigger does not seem to work.
Games that support OpenXR as well as SteamVR work fine via OpenXR (for example VTOL VR).
I remember running VRChat (which uses SteamVR / OpenVR APIs) under Linux a year ago and it worked fine, but now it´s broken.

When you look at the input mapping in the steam VR overlay, the current Game is shown as "WINEOPENXR TEST INSTANCE" and no mapping is found.

So i guess the main issue is the steam VR compositor not being able to detect the current game and so not loading any input mappings for it.

The OpenXR wine layer seems to set this "wineopenxr test instance" name as executable name and engine name here:
https://github.com/ValveSoftware/Proton/blob/proton_9.0/wineopenxr/openxr.c#L501

It was moved arround aprox. a year ago as well:
https://github.com/ValveSoftware/Proton/commit/273c5c22d15872ae7f73bbdbadc610617ea5dc43#diff-97055500218f958f1a373b59551dcbe4519e5c1a72c0a7cc79d16fc7064ad4b7R441

The function seem to be called here: https://github.com/ValveSoftware/Proton/blob/f1933d3f9cde5b9fdd357f53cf509f7fee362ade/steam_helper/steam.cpp#L901

wonder if this is the root cause / the reason why Steam is unabled to load an input mapping for the VR Controllers, as it does look at the game / engine name supplied via XrInstanceCreateInfo but that is static?

If i launch the game with Proton 7.x the game name is correctly displayed in the controller mappings, however the game crashes with Proton 7.x ... so i don´t know wether input works with proton 7.x

i can´t create a custom controller binding as well, as once i click on "create binding" i am redirected to a black screen without any possibilty for input..

Environment info:

  • Ubuntu 25.04 with Wayland / KDE (Kernel 6.12)
  • Valve Index
  • Latest Proton Experimental
  • SteamVR 2.9.6
PParzivalWolfram 2025-03-03 github

I'm having the same issue, this prevents some games like Tabletop Simulator, H3VR, and Zero Caliber VR from working properly as well. Some games are unaffected, others get no movement input from the headset or hands at all. Some games do display correct names, and input profiles work for them as well (Beat Saber, Boneworks).

Environment info:

  • EndeavourOS, xfce4 under Xorg
  • Valve Index
  • Proton Experimental/9.0/8.0 (no difference in affected games)
  • SteamVR beta 2.9.6 (problem started intermittently a year ago or so)

A user mentions the incorrect name at https://github.com/ValveSoftware/Proton/issues/6449#issuecomment-2614131761 in relation to video problems as well, I wonder if the issues are related?

SSpacefish 2025-03-20 github

i see this in vrserver.txt however that path exists and contains json that makes sense!

Fri Mar 21 2025 00:47:19.579153 [Error] - [Input] Error loading action manifest.
	App key: steam.app.667970
	Error: #ActionManifestError_FileNotFound
	Param: 
	Path: /data2/SteamLibrary/steamapps/common/VTOL VR/VTOLVR_Data/StreamingAssets/SteamVR/actions.json

Same for VRC (which does not contain a space in the path):

Fri Mar 21 2025 00:54:45.315581 [Info] - AppInfoManager.ProcessConnected END
Fri Mar 21 2025 00:54:45.315593 [Info] - We don't yet have an input context. This should be okay, but noted.
Fri Mar 21 2025 00:54:45.316202 [Error] - [Input] Error loading action manifest.
	App key: steam.app.438100
	Error: #ActionManifestError_FileNotFound
	Param: 
	Path: /data/SteamLibrary/steamapps/common/VRChat/VRChat_Data/StreamingAssets/SteamVR/actions.json
Fri Mar 21 2025 00:54:45.316216 [Error] - [Input] LoadActionManifest failed. Could not find action manifest for app '431789: wine64-preloader' with key 'steam.app.438100'

if i look at the vrserver process, it seems to run in a pressure vessel steamrt sniper 3.0.20250306.120299
in the root folder /proc/424791/root my home directory exists, however the /data and /data2 is not linked into that sniper runtime!

That´s why vrserver can´t load files like /data/SteamLibrary/steamapps/common/VRChat/VRChat_Data/StreamingAssets/SteamVR/actions.json as /data is missing!

Just tried it out:

!!! Moving the game storage location to the default storage location fixes the controller / input problems !!!

See: https://github.com/ValveSoftware/SteamVR-for-Linux/issues/775
See: https://github.com/ValveSoftware/steam-runtime/issues/393

Proton versions

Upstream links