Skip to content

graphics-drivers-openxr-1.c removes vendor-specific fields from the active runtime json #782

@jvyden

Description

@jvyden

I've noticed that vendor-specific prefixed fields seem to be trimmed from the active_runtime.json that gets mounted in the container's /etc folder when using PRESSURE_VESSEL_IMPORT_OPENXR_1_RUNTIMES=1.

Compare my local active_runtime.json configuration, in my XDG_CONFIG_HOME:

{
    "file_format_version": "1.0.0",
    "runtime": {
        "name": "Monado",
        "library_path": "../../../lib/wivrn/libopenxr_wivrn.so",
        "MND_libmonado_path": "../../../lib/wivrn/libmonado_wivrn.so"
    }
}

to the one mounted to the container at ~/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/var/tmp-1X9FF3/usr/lib/pressure-vessel/overrides/etc/xdg/openxr/1/active_runtime.json:

{
  "file_format_version" : "1.0.0",
  "runtime" : {
    "library_path" : "/home/jvyden/.local/share/envision/prefixes/b5c04363-bfc4-48c7-8e7f-45b3e996a57b/lib/wivrn/libopenxr_wivrn.so",
    "name" : "Monado"
  }
}

I've narrowed this behavior down to graphics-drivers-openxr-1.c where it seems to drop the original JSON in favor of SRT's own format using g_object_new. This new format is then used to override the active_runtime.json in the container by passing through srt_openxr_1_runtime_new_replace_library_path.

This mainly affects Monado/WiVRn, but also could affect SteamVR since it sets VALVE_runtime_is_steamvr to true in the runtime configuration, according to #575 (comment). I noticed this upon trying to integrate libmonado into xrizer and not being able to find where libmonado is from the runtime configuration.


  • Steam Runtime Version: Sniper, I believe? This behavior is exhibited in Proton Experimental.
  • Distribution (e.g. Ubuntu 18.04): Arch Linux
  • Link to your full system information (Help -> Steam Runtime Diagnostics) in a Gist: https://gist.github.com/jvyden/550d3d3ef3f400b06db3a42593992c82
  • Have you checked for system updates?: [Yes/No] yes
  • What compatibility tool are you using?: Proton Experimental
  • What versions are listed in steamapps/common/SteamLinuxRuntime/VERSIONS.txt? 0.20240806.0
  • What versions are listed in steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt? 2.0.20250826.159137 0.20250820.0 0.20250820.0 2.0.20250826.159137
  • What versions are listed in steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt? 3.0.20250826.159138 0.20250820.0 0.20250820.0 3.0.20250826.159138

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions