ValveSoftware / ValveSoftware/steam-runtime

Steam runtime does not support OpenVR manifest translation

Open
#758 11 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Pressure Vessel
Dominant language
Shell
Stars
1.5k
Forks
97
PR merge metrics
No merged PRs in 30d

Description

With the OpenXR support well under way now is a good time to also bring this up as promised,

The OpenVR manifest may for instance point to SteamVR installed in the user's Steam common or it may point to an OpenVR translation layer installed on the system root as an alternative provider of the OpenVR API and it may be necessary to traverse symlinks that account for proper 64 and 32 bit architecture installed to the system and reform it into the expected OpenVR directory structure elsewhere which may include a system packaged OpenVR manifest.

Without this manifest translation OpenVR libs must be installed directly to /opt or somewhere in the user's home folder to bypass pressure vessel. This is largely preventing distribution packaging of these OpenVR translation layers.

An implementation should account for following symlinks to the libraries themselves and support a root installed OpenVR manifest which is symlinked in the user's home directory for easy enablement of these translation layers.

Quick example of a bare bones packaged OpenVR manifest https://gitlab.com/znixian/OpenOVR/-/blob/openxr/openvrpaths.vrpath.in?ref_type=heads

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No repository file, entry point, or test is named. Start by locating Steam runtime or pressure-vessel handling for OpenVR manifests, then compare the linked OpenOVR manifest example; done means translating manifests and symlinked libraries from Steam common and root-installed 32/64-bit providers into the expected structure.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
infrastructure, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.