steamvr automatic start when my driver is registered ?
I Use a driver_install.bat to registered my drvier. The command in driver_install.bat is "@echo off "d:\Program Files (x86)\Steam\steamapps\common\SteamVR\bin\win32\vrpathreg.exe" adddriver "%~dp0driver\test". When openvrpaths.vrpath's "external_drivers" is null , I run driver_install.bat ,my driver_test.dll will be registered in "external_drivers". but steamvr will automatic start。
- I've already implemented a IVRWatchdogProvider in 32-bit driver_test.dll and put it in test\bin\win32 folder ,and my watchdog never call vr::VRWatchdogHost()->WatchdogWakeUp(TrackedDeviceClass_HMD) to wake up my driver. In fact,steamvr starts automatically whether there's a watchdog (32-bit driver_test.dll) or not.
- Autostart only happens when openvrpaths.vrpath's "external_drivers" is null.
What causes it?
When you call vrpathreg adddriver <path> (on Windows) if you call it with and empty path argument it'll start SteamVR to display an error pop up. Why? No idea, i just know it does that on Windows.
On linux it does nothing of the sort, just adds "no driver found" to the list of external devices:
$ vrpathreg show
Runtime path = <home>/.local/share/Steam/steamapps/common/SteamVR
Config path = <home>/.local/share/Steam/config
Log path = <home>/.local/share/Steam/logs
External Drivers:
hobovr : <my driver path>/hobovr/
$ vrpathreg adddriver
$ echo $?
0
$ vrpathreg show
Runtime path = <home>/.local/share/Steam/steamapps/common/SteamVR
Config path = <home>/.local/share/Steam/config
Log path = <home>/.local/share/Steam/logs
External Drivers:
hobovr : <my driver path>/hobovr/
[ NO DRIVER NAME FOUND ] :
$
Which can be removed later with vrpathreg removedriver .
But other than that, this is definitely a bug, vrpathreg adddriver should not accept empty paths as valid arguments.