Introducing SteamVR Version 1.7

Something that may or may not affect user experience in our various sims:

Update 1.7.15 includes a new VR view, updated icons, and more. Steam :: SteamVR :: Introducing SteamVR Version 1.7

Update Highlights

Today’s update features big improvements to the VR View window and device status icons.

By default, the new VR View is docked to the bottom of the status window with the option to undock or go full screen. The undocked view also comes with a new “Both Eyes” mode that blends the left and right views together for a better approximation of the field of view visible in the headset. We’re also bringing you updated device status icons sporting new colors and support for high-DPI displays.

Finally, our campaign against crashes and other bugs in SteamVR continues and many more bugs have been squashed. Sorry, bugs.

Full Update Notes

SteamVR:

  • Simplified the user experience to more clearly and consistently communicate general VR and specific device status.
  • Added an improved VR display view, with new docked preview and full screen modes, plus new blended left/right-eye views. To display or hide the new VR View, visit the SteamVR status window menu or right-click on the headset icon, then select this item in its context menu.
  • Device icons updated to reflect Steam, SteamVR, and Valve Index styles.
  • Device icons updated to support high-DPI displays for Valve Index, Valve Index Controllers, Vive, Vive Pro, Vive Controllers, Vive Trackers, Rift S, and Rift S Controllers.
  • Fixed issue with only one auto-launching overlay app starting when multiple were set to auto-launch.
  • Added URL handler to open the Debug Commands window. vrmonitor://debugcommands
  • Added ‘Open Debug Commands’ to VR View menu.
  • Added url hander for individual debug commands (e.g. vrmonitor://debugcommands/async_mode_toggle).
  • Fixed keyboard placement relative to overlays so it will stop obscuring the overlay that the input is going to.
  • Chaperone restricts room center to be within 1km of your tracking system origin. 1km ought to be enough for anybody. (This prevents chaperone adjustment tools from accidentally moving the center of your room outside the solar system, causing floating point math issues that manifest as things like “flickering in HMD”).
  • Fix a case where launching a VR app from Steam that never connected to SteamVR would prevent you from launching other VR apps from Steam until that launch transition timed out.
  • Fix for a minor set of Index’s Bluetooth initialization errors locking out one of the two Index HMD radios. This caused connectivity issues on one of the controllers.
  • Fixed an issue that could cause room setup to automatically launch for drivers that provide their own chaperone bounds. This should fix Oculus users who were being prompted to run room setup after reboot.
  • Fixed “show controls” UI breaking when switching to another action set in certain titles. Notably, this affected “On Foot” in No Man’s Sky.
  • Fix a rare crash when a user hand-edits their settings file to be valid JSON but not valid settings.

SteamVR Home:

  • Fixed Friend count not showing up in lobby panels.
  • Fixed a bug where in some cases on Windows 10, SteamVR Home would incorrectly claim that its files were corrupted and fail to load
  • Fixed Thor’s Hammer collectible not spawning in game
  • Fixed sorting issues with screenshot/image panels
  • Fixed vrwebhelper apps showing up in recent games panel
  • Fixed Linux crash

SteamVR Input:

  • Added setting in binding configs called “Return bindings with X hand” that cause the gamepad or treadmill bindings to also apply to left/right hand devices when a SteamVR Input application restricts its action results by device.
  • For legacy input applications, when the trigger is clicked the trigger value will not be set to 1.0 if the click action is already coming from the trigger. This fixes a bug with Oculus Touch controllers in games like VRChat, where the grip trigger value would jump from partially pulled to fully pulled. For legacy bindings that put a trigger click action on another button, the existing behavior remains and the axis value will be set to 1.0.
  • Fixed issue that prevented ‘axis 2’ from being used as a trigger in legacy games on Index Controllers. When combined with new bindings this fixes The Forest, and possibly other games.
  • Fixed issue with the changed bit being incorrect when Get*ActionData is called more than once per frame.
  • Fixed issue with retrieving a pose from a skeletal action returning the default pose instead of whatever is bound (and also spamming the log in the process.)
  • Fixed unsafe conditions for games that call GetDigitalActionData and GetAnalogActionData from multiple threads.

Compositor:

  • Fixed a gpu scheduling issue with motion smoothing on AMD hardware which was causing motion smoothing to disable itself after a while due to poor performance.
  • Improved throttling logic when motion smoothing is enabled. Previously, throttling and prediction were locked together when motion smoothing is enabled. This update allows throttling to back off of the prediction level based on the current average gpu performance. A typical example is when an app can render at half-rate (i.e. each rendered frame takes more than a single frame to finish, but less than two), but spends an extra frame on the cpu performing the draw calls, etc. This makes each of those frames a total of three frame latent, but can still deliver a new frame every other vsync interval. Note: This only applies to Lighthouse based hmds (e.g. Vive, Index) since most other headsets (e.g. Rift, WMR) use their own compositor and associated logic for throttling and prediction.

Oculus:

  • Fixed passing depth through to the Oculus runtime from apps which provide it.
  • Added support for importing standing-only guardian setups. This fixes the issue where running guardian setup to set the floor level but skipping the room bounds step was resulting in the headset being stuck in the floor in SteamVR.
  • When the Oculus runtime returns one of its library load errors (ovrError_LibLoad, ovrError_LibSymbols, or ovrError_LibPath) and we know the HMD is present and the service is running, attempt to fix the PATH and try ovr_Initialize again. This is the case that results in SteamVR error 1114 (which currently suggests a re-install of Oculus SW or a reboot to fix PATH issues). Known causes of this PATH issue: Users manually placing Steam first in their path (possibly combined with putting unknown “fix” DLLs into the Steam folder), users who have the Oculus runtime installed but not in their path, and users launching VR from third party tools (like Unity Editor) which completely replace the path prior to launch.

Lighthouse:

  • Improve the registration of controllers to headsets when moving together rigidly coupled, such as with a gun stock accessory. This applies to all combinations of HMDs, controllers, and tracking pucks made by Valve and HTC.
  • Fix an issue where launching SteamVR with a wireless controller already connected (such as when using the controller itself to launch SteamVR from Steam) could prevent the controller from tracking.
  • Reduce the amount of tracking disruption caused by plugging in additional USB devices in the middle of a play session.

Index Controller:

  • Changed default index controller binding for keyboard to move Shift and Symbols to the A buttons, and analog tracking to the thumbsticks+triggers.

Index HMD

  • Added brightness control, set in-headset under Display Settings (firmware update required)
  • Enabled column correction to mitigate vertical “screen door” (firmware update required). Column correction is only active during SteamVR [beta] usage. Controls are available in-headset, under Display Settings → Advanced.

Gamepad

  • Reduce default loadPriority of the Valve-supplied gamepad driver so that it loads after most VR drivers. This is to favor VR drivers in the case where both drivers want to load gamepad related DLLs and there are version conflicts.

Linux:

  • Fixed various performance issues.
  • Fixed IVRCompositor::GetFrameTiming() reporting bad data when async mode was enabled, correcting the reporting of impossibly long frame times in the frame timing window.
  • Fixed a system hang when async compute is enabled.
  • Reduce CPU utilization when async reprojection is disabled.

Additional Notes:

  • Note to external SteamVR driver developers: The runtime now looks for icons with @2x variants and will automatically pick them up for your driver(s) if provided. See the drivers that ship with SteamVR for reference (e.g. runtime/drivers/indexhmd/resources/icons).
  • On first launch, if the stylized icons do not exist, they will be automatically generated and saved next to your existing icons with a custom postfix, then used for subsequent launches. You are encouraged to ship these generated icons with your driver(s) alongside your existing icons, which should remain unchanged. Doing so will enable your icons to already exist on disk for users upon launch. You also should feel free to hand-edit the automated output as needed. Please contact us if you have any questions.
  • Icon style changes can be reverted by setting they keys customIconStyle and customOffIconStyle to the empty string in your steamvr.vrsettings file. As always, exercise extreme caution when modifying this file as no error checking is performed.
2 Likes