Skip to content

Instantly share code, notes, and snippets.

@rpavlik
Created May 2, 2016 19:20
Show Gist options
  • Save rpavlik/aeeab316d1f85e2efddd64db58741b2f to your computer and use it in GitHub Desktop.
Save rpavlik/aeeab316d1f85e2efddd64db58741b2f to your computer and use it in GitHub Desktop.
SteamVR driver interface strings - script and output
#!/bin/sh
# Script to search and print SteamVR-style "interface strings"
# (things like IServerTrackedDeviceProvider_003) found in Valve SteamVR drivers,
# to verify that they match the interface strings in the publicly-available
# OpenVR headers
# Run it in something unixy - git bash works.
# Change as appropriate
STEAMROOT=/c/Program\ Files\ \(x86\)/Steam/steamapps/common/SteamVR/
for driver in lighthouse oculus oculus_legacy null; do
echo "--------------------"
echo "Driver: $driver"
echo "--------------------"
strings "${STEAMROOT}/drivers/${driver}/bin/win32/driver_${driver}.dll" \
| egrep "^I[a-zA-Z]+_[0-9]+$" \
| sort -u
echo
done
#(
#cd "${STEAMROOT}"
#for DLL in bin/*.dll; do
# echo "--------------------"
# echo "$DLL"
# echo "--------------------"
# strings "${DLL}" \
# | egrep "^I[a-zA-Z]+_[0-9]+$" \
# | sort -u
#done
#)
--------------------
Driver: lighthouse
--------------------
IClientTrackedDeviceProvider_003
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRCameraComponent_001
IVRControllerComponent_001
IVRDisplayComponent_001
--------------------
Driver: oculus
--------------------
IClientTrackedDeviceProvider_003
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRCameraComponent_001
IVRControllerComponent_001
IVRDisplayComponent_001
IVRSettings_001
--------------------
Driver: oculus_legacy
--------------------
IClientTrackedDeviceProvider_003
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRCameraComponent_001
IVRControllerComponent_001
IVRDisplayComponent_001
IVRSettings_001
--------------------
Driver: null
--------------------
IClientTrackedDeviceProvider_003
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRCameraComponent_001
IVRControllerComponent_001
IVRDisplayComponent_001
IVRSettings_001
--------------------
bin/openvr.dll
--------------------
IClientTrackedDeviceProvider_003
IHmd_001
IHmd_002
IHmd_003
IHmd_004
IHmd_005
IHmd_006
IHmdSystem_001
IHmdSystem_002
IHmdSystem_003
IHmdSystem_004
IServerTrackedDeviceProvider_002
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRApplications_001
IVRApplications_002
IVRApplications_003
IVRApplications_004
IVRApplications_005
IVRCameraComponent_001
IVRChaperone_001
IVRChaperone_002
IVRChaperone_003
IVRChaperoneSetup_001
IVRChaperoneSetup_002
IVRChaperoneSetup_003
IVRChaperoneSetup_004
IVRChaperoneSetup_005
IVRClientCore_001
IVRClientCore_002
IVRCompositor_001
IVRCompositor_002
IVRCompositor_003
IVRCompositor_004
IVRCompositor_005
IVRCompositor_006
IVRCompositor_007
IVRCompositor_008
IVRCompositor_009
IVRCompositor_010
IVRCompositor_011
IVRCompositor_012
IVRCompositor_013
IVRCompositor_014
IVRCompositorDeprecatedFunctions_001
IVRCompositorSystemInternal_001
IVRControllerComponent_001
IVRControlPanel_001
IVRControlPanel_002
IVRDashboardManager_001
IVRExtendedDisplay_001
IVRExternalEventSource_001
IVRHmdDistortPresent_001
IVRNotifications_001
IVRNotifications_002
IVRNotificationsInternal_001
IVROculusDirect_001
IVROverlay_001
IVROverlay_002
IVROverlay_003
IVROverlay_004
IVROverlay_005
IVROverlay_006
IVROverlay_007
IVROverlay_008
IVROverlay_009
IVROverlay_010
IVROverlay_011
IVRRenderModels_001
IVRRenderModels_002
IVRRenderModels_003
IVRRenderModels_004
IVRRenderModels_005
IVRRenderModelsInternal_001
IVRSettings_001
IVRSystem_001
IVRSystem_002
IVRSystem_003
IVRSystem_004
IVRSystem_005
IVRSystem_006
IVRSystem_007
IVRSystem_008
IVRSystem_009
IVRSystem_010
IVRSystem_011
IVRSystem_012
IVRTrackedCamera_001
--------------------
bin/vrclient.dll
--------------------
IClientTrackedDeviceProvider_003
IHmd_001
IHmd_002
IHmd_003
IHmd_004
IHmd_005
IHmd_006
IHmdSystem_001
IHmdSystem_002
IHmdSystem_003
IHmdSystem_004
IServerTrackedDeviceProvider_002
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRApplications_001
IVRApplications_002
IVRApplications_003
IVRApplications_004
IVRApplications_005
IVRCameraComponent_001
IVRChaperone_001
IVRChaperone_002
IVRChaperone_003
IVRChaperoneSetup_001
IVRChaperoneSetup_002
IVRChaperoneSetup_003
IVRChaperoneSetup_004
IVRChaperoneSetup_005
IVRClientCore_001
IVRClientCore_002
IVRCompositor_001
IVRCompositor_002
IVRCompositor_003
IVRCompositor_004
IVRCompositor_005
IVRCompositor_006
IVRCompositor_007
IVRCompositor_008
IVRCompositor_009
IVRCompositor_010
IVRCompositor_011
IVRCompositor_012
IVRCompositor_013
IVRCompositor_014
IVRCompositorDeprecatedFunctions_001
IVRCompositorSystemInternal_001
IVRControllerComponent_001
IVRControlPanel_001
IVRControlPanel_002
IVRDashboardManager_001
IVRExtendedDisplay_001
IVRExternalEventSource_001
IVRHmdDistortPresent_001
IVRNotifications_001
IVRNotifications_002
IVRNotificationsInternal_001
IVROculusDirect_001
IVROverlay_001
IVROverlay_002
IVROverlay_003
IVROverlay_004
IVROverlay_005
IVROverlay_006
IVROverlay_007
IVROverlay_008
IVROverlay_009
IVROverlay_010
IVROverlay_011
IVRRenderModels_001
IVRRenderModels_002
IVRRenderModels_003
IVRRenderModels_004
IVRRenderModels_005
IVRRenderModelsInternal_001
IVRSettings_001
IVRSystem_001
IVRSystem_002
IVRSystem_003
IVRSystem_004
IVRSystem_005
IVRSystem_006
IVRSystem_007
IVRSystem_008
IVRSystem_009
IVRSystem_010
IVRSystem_011
IVRSystem_012
IVRTrackedCamera_001
--------------------
bin/vrclient_x64.dll
--------------------
IClientTrackedDeviceProvider_003
IHmd_001
IHmd_002
IHmd_003
IHmd_004
IHmd_005
IHmd_006
IHmdSystem_001
IHmdSystem_002
IHmdSystem_003
IHmdSystem_004
IServerTrackedDeviceProvider_002
IServerTrackedDeviceProvider_003
ITrackedDeviceServerDriver_004
IVRApplications_001
IVRApplications_002
IVRApplications_003
IVRApplications_004
IVRApplications_005
IVRCameraComponent_001
IVRChaperone_001
IVRChaperone_002
IVRChaperone_003
IVRChaperoneSetup_001
IVRChaperoneSetup_002
IVRChaperoneSetup_003
IVRChaperoneSetup_004
IVRChaperoneSetup_005
IVRClientCore_001
IVRClientCore_002
IVRCompositor_001
IVRCompositor_002
IVRCompositor_003
IVRCompositor_004
IVRCompositor_005
IVRCompositor_006
IVRCompositor_007
IVRCompositor_008
IVRCompositor_009
IVRCompositor_010
IVRCompositor_011
IVRCompositor_012
IVRCompositor_013
IVRCompositor_014
IVRCompositorDeprecatedFunctions_001
IVRCompositorSystemInternal_001
IVRControllerComponent_001
IVRControlPanel_001
IVRControlPanel_002
IVRDashboardManager_001
IVRExtendedDisplay_001
IVRExternalEventSource_001
IVRHmdDistortPresent_001
IVRNotifications_001
IVRNotifications_002
IVRNotificationsInternal_001
IVROculusDirect_001
IVROverlay_001
IVROverlay_002
IVROverlay_003
IVROverlay_004
IVROverlay_005
IVROverlay_006
IVROverlay_007
IVROverlay_008
IVROverlay_009
IVROverlay_010
IVROverlay_011
IVRRenderModels_001
IVRRenderModels_002
IVRRenderModels_003
IVRRenderModels_004
IVRRenderModels_005
IVRRenderModelsInternal_001
IVRSettings_001
IVRSystem_001
IVRSystem_002
IVRSystem_003
IVRSystem_004
IVRSystem_005
IVRSystem_006
IVRSystem_007
IVRSystem_008
IVRSystem_009
IVRSystem_010
IVRSystem_011
IVRSystem_012
IVRTrackedCamera_001
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment