OSVR / SteamVR-OSVR

An OSVR plugin for SteamVR, providing SteamVR support for OSVR HMDs.
Apache License 2.0
138 stars 57 forks source link

Unable to load driver osvr from win32/driver_osvr.dll #89

Closed simkovic closed 8 years ago

simkovic commented 8 years ago

This is related to issue 84. There were missing dependencies for windows 7 64bit. It appears that 32bit version is missing some additional stuff, even when steamvr is run on a 64bit machine.

From vrmonitor log:

Mon Aug 22 2016 22:19:48.196 - VR_Init successful Mon Aug 22 2016 22:19:48.200 - Unable to get compositor interface (103) Mon Aug 22 2016 22:19:48.203 - [Steam] Attempt to connect to Steam Mon Aug 22 2016 22:19:48.205 - Not starting secondary apps because compositor interface couldn't be retrieved. Mon Aug 22 2016 22:19:48.205 - Starting dashboard watchdog even though compositor is not up and running.

vrclient_vrmonitor log has more details:

Mon Aug 22 2016 22:19:47.647 - vrclient startup with PID=5036, type=VRApplication_VRMonitor, config=c:\program files (x86)\steam\config Mon Aug 22 2016 22:19:47.653 - Unable to load driver osvr from C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\osvr\bin\win32\driver_osvr.dll. Mon Aug 22 2016 22:19:47.654 - Starting vrserver process: C:\Program Files (x86)\Steam\steamapps\common\SteamVR\bin\win64\vrserver.exe Mon Aug 22 2016 22:19:48.191 - Received success response from vrserver connect Mon Aug 22 2016 22:19:48.196 - Unable to load driver osvr from C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\osvr\bin\win32\driver_osvr.dll. Mon Aug 22 2016 22:19:48.196 - Unable to load client driver for osvr.OSVR HDK2 (#3): VRInitError_Init_FileNotFound

It continues loading without succes until it reaches timeout.

I investigated win32/driver_osvr.dll with dependency walker but couldn't find anything suspicious. I append the report. [Uploading driver_osvr.txt…]()

From a perpective of a user on a 64bit machine, this is not a big issue since the apps use the 64bit version and the compositor is started succesfully later when an app is loaded. However, there is a steamvr status message saying that a file is missing and that steamvr is not ready. You may wish to clean this up.

vrclient_vrmonitor.txt vrclient_vrcompositor.txt vrcompositor.txt vrserver.txt

godbyk commented 8 years ago

If you run the Dependency Walker against the 32-bit version of driver_osvr.dll does it report any missing DLLs? In issue #84 we found that the d3dcompiler_47.dll isn't supplied by default in Windows 7 and therefore must be installed or copied to the folder manually.

I'm looking to include these DLLs in future releases of the driver.

simkovic commented 8 years ago

My apologies, the dependency walker output did not upload, here it is:

driver_osvr.txt

I've already copied d3dcompiler_47.dll to win32, so it's not missing. Dependency walker flags few dlls (dcomp.dll, ieshims.dll ...) as missing, but from what I saw with win64/driver_osvr.dll those are false alarms - they are missing from win64/driver_osvr.dll as well and the latter works. In addition dependency walker complains that dlls in c:\windows\system32 are for x64 ("Error: Modules with different CPU types were found.")

simkovic commented 8 years ago

Ok, so for obvious reasons win32/driver_osvr.dll, needs x86 version of d3dcompiler_47.dll. I copied one from IE x86 and now SteamVR is green and ready. Great!