OSVR / OSVR-Vive

OSVR driver for use with the HTC Vive (including Vive PRE)
Apache License 2.0
62 stars 19 forks source link

descriptor files not getting written #19

Closed gbhatt07 closed 7 years ago

gbhatt07 commented 8 years ago

Hello, After executing the ViveDisplayExtractor.exe from /bin the descriptor files are not getting written at /bin/displays So when I am running my application I am getting below error: [OSVR Server] Using default config file - pass a filename on the command line to use a different one. [OSVR Server] Using config file 'osvr_server_config.json' [OSVR Server] Constructing server as configured... [OSVR Server] Loading auto-loadable plugins... [OSVR Server] Loading plugins... [OSVR Server] [OSVR Server] Instantiating configured drivers... [OSVR Server] [OSVR] ERROR: Could not load an object or display descriptor file specified by: "displays/HTC_Vive.json"

[OSVR] Tried loading displays/HTC_Vive.json: Could not open file [OSVR Server] Using OSVR HDK for display configuration. Did not find an alternate valid 'display' object in config file.

I am using OSVR-Vive-build36-32bits plugin and OSVR-Runtime-v0.6-1204-g6cc9262-build188-win-32bit.msi server. Please let me know if any info is needed.

thanks gaurav

gbhatt07 commented 8 years ago

Update: So I used a previous build of the plugin(build35) and now the descriptor files are getting generated. I am trying to run the example (SDLOpengl.cpp) program in Vive, now if I am running the program I am seeing a black screen and there is no error on the server or at the program console logs:-->

Server::

[OSVR Server] [OSVR Server] Display descriptor found and parsed from config file. [OSVR Server] RenderManager config found and parsed from the config file. [OSVR Server] Triggering automatic hardware detection... [OSVR Server] Registering shutdown handler... [OSVR Server] Starting server mainloop: OSVR Server is ready to go! [OSVR] Performing hardware auto-detection. [OSVR-Vive] Found the Vive driver at C:/Program Files (x86)/Steam/steamapps/common/SteamVR/drivers/lighthouse/bin/win32/driver_lighthouse.dll [OSVR-Vive] Driver config dir is: C:/Program Files (x86)/Steam/config/lighthouse [OSVR-Vive] Vive is connected. [OSVR-Vive] Got 1 tracked devices at startup [OSVR-Vive] Assigned sensor ID 0 to HTC Vive MV LHR-69800803 [OSVR] Added device: com_osvr_Vive/Vive [OSVR-Vive] Vive driver finished startup successfully! [OSVR] Path tree updated or connection detected [OSVR] Sending path tree to clients. [OSVR-Vive] Sensor 0 changed status from 'Uninitialized' to 'Calibrating (Out of Range)' [OSVR-Vive] Tracked object LHB-E8A0F19A is a Lighthouse base station [OSVR-Vive] Tracked object LHB-3E76A56F is a Lighthouse base station [OSVR-Vive] Sensor 0 changed status from 'Calibrating (Out of Range)' to 'Calibrating (In Progress)' [OSVR-Vive] Change of universe ID from 0 to 1468946520 [OSVR-Vive] Sensor 0 changed status from 'Calibrating (In Progress)' to 'Running (OK)' vrpn: Connection request received from 127.0.0.1: 127.0.0.1 60603 [OSVR] Got first client connection, exiting idle mode. [OSVR] Performing hardware auto-detection. [OSVR] Path tree updated or connection detected [OSVR] Sending path tree to clients. vrpn: Connection request received from 127.0.0.1: 127.0.0.1 60605

Console:

[OSVR] Connecting to default (local) host [OSVR] Client context initialized for com.osvr.example.SDLOpenGL [OSVR] Got connection to main OSVR server [OSVR] Got updated path tree, processing [OSVR] Connected 0 of 0 unconnected paths successfully [OSVR] Connection process took 114ms: have connection to server, have path tree [OSVR] Interface initialized for /me/head [OSVR] Constructed a TrackerHandler for com_osvr_Vive/Vive@localhost:3883 sensor 0 [OSVR] Successfully produced handler for /me/head [OSVR] Interface initialized for /me/head [OSVR] Interface initialized for /me/head [OSVR] Display: HTC Vive MV [Display descriptor note: Specific to HTC Vive MV serial number LHR-69800803.] [OSVR] Created an OSVR_DisplayConfigObject! Waiting for the display to fully start up, including receiving initial pose update... OK, display startup status is good!

its stuck after this. I am not sure whats the problem. Is there a way I can look for some extra logs for errors or to check whats went wrong?

Thanks Gaurav

rpavlik commented 8 years ago

SDLOpenGl is an outdated example and we probably shouldn't be shipping it - try the render manager examples.

rpavlik commented 8 years ago

You may need to run the display extractor as admin, also, i fyou're using the runtime installer that puts the stuff in program files.

gbhatt07 commented 8 years ago

HI Ryan, Thanks for your input. I tried running the render manager examples and I am able to run it on my HTC Vive but those examples have the display directly to the HMD. I want the display in both window and HMD thats why I tried the openGlSample.cpp example. In this I am able to see the cube in the window and the tracking also works fine but I there is black screen/no output on the Vive.

Server Logs: Aug 08 13:54:54.445 notice [OSVR]: Log file created in C:\Users\awoqt3\AppData\Local\OSVR\Logs Aug 08 13:54:54.445 notice [OSVR]: Log file name starts with "osvr_server" Aug 08 13:54:54.446 notice [OSVR]: Logging for C:\Users\awoqt3\Documents\Visual Studio 2015\OSVR\SDK\bin\osvr_server.exe Aug 08 13:54:54.493 info [OSVR Server]: Using default config file - pass a filename on the command line to use a different one. Aug 08 13:54:54.493 info [OSVR Server]: Using config file 'osvr_server_config.json'. Aug 08 13:54:54.493 info [OSVR Server]: Constructing server as configured... Aug 08 13:54:54.547 info [OSVR Server]: Loading auto-loadable plugins... Aug 08 13:54:54.892 info [OSVR Server]: Loading plugins... Aug 08 13:54:54.892 info [OSVR Server]: Instantiating configured drivers... Aug 08 13:54:54.892 info [OSVR Server]: Display descriptor found and parsed from config file. Aug 08 13:54:54.892 info [OSVR Server]: RenderManager config found and parsed from the config file. Aug 08 13:54:54.892 info [OSVR Server]: Triggering automatic hardware detection... Aug 08 13:54:54.893 info [OSVR Server]: Registering shutdown handler... Aug 08 13:54:54.893 info [OSVR Server]: Starting server mainloop: OSVR Server is ready to go! Aug 08 13:54:54.893 info [OSVR Server]: Performing hardware auto-detection. [OSVR-Vive] Found the Vive driver at C:/Program Files (x86)/Steam/steamapps/common/SteamVR/drivers/lighthouse/bin/win32/driver_lighthouse.dll [OSVR-Vive] Driver config dir is: C:/Program Files (x86)/Steam/config/lighthouse [OSVR-Vive] Vive is connected. [OSVR-Vive] Got 1 tracked devices at startup [OSVR-Vive] Assigned sensor ID 0 to HTC Vive MV LHR-69800803 [OSVR-Vive] Vive driver finished startup successfully! [OSVR-Vive] Sensor 0 changed status from 'Uninitialized' to 'Calibrating (Out of Range)' Aug 08 13:54:55.573 notice [OSVR Server]: Added device: com_osvr_Vive/Vive Aug 08 13:54:55.579 info [OSVR Server]: Sent path tree to clients. [OSVR-Vive] Tracked object LHB-3E76A56F is a Lighthouse base station [OSVR-Vive] Tracked object LHB-E8A0F19A is a Lighthouse base station [OSVR-Vive] Sensor 0 changed status from 'Calibrating (Out of Range)' to 'Calibrating (In Progress)' [OSVR-Vive] Change of universe ID from 0 to 1468946520 [OSVR-Vive] Sensor 0 changed status from 'Calibrating (In Progress)' to 'Running (OK)' vrpn: Connection request received from 127.0.0.1: 127.0.0.1 63073 Aug 08 13:55:19.776 info [OSVR Server]: Performing hardware auto-detection. Aug 08 13:55:19.863 info [OSVR Server]: Sent path tree to clients. vrpn: Connection request received from 127.0.0.1: 127.0.0.1 63075

Console Logs: Aug 08 14:05:26.745 notice [OSVR]: Log file created in C:\Users\awoqt3\AppData\Local\OSVR\Logs Aug 08 14:05:26.746 notice [OSVR]: Log file name starts with "osvrSampleCube" Aug 08 14:05:26.746 notice [OSVR]: Logging for C:\Users\awoqt3\Documents\Visual Studio 2015\Projects\osvrSampleCube\Debug\osvrSampleCube.exe Aug 08 14:05:26.914 info [OSVR: com.osvr.example.SDLOpenGL]: OSVR client context initialized for com.osvr.example.SDLOpenGL Aug 08 14:05:26.958 info [OSVR: com.osvr.example.SDLOpenGL]: Got connection to main OSVR server Aug 08 14:05:27.049 info [OSVR: com.osvr.example.SDLOpenGL]: Connected 0 of 0 unconnected paths successfully Aug 08 14:05:27.051 info [OSVR: com.osvr.example.SDLOpenGL]: Connection process took 92ms: have connection to server, have path tree Aug 08 14:05:27.099 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\32\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /me/head Aug 08 14:05:27.103 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\32\TRACING\OFF\VS\12\host\windows\src\osvr\Client\TrackerRemoteFactory.cpp:93: Constructed a TrackerHandler for com_osvr_Vive/Vive@localhost:3883 sensor 0 WaAitug 08 14:05:27.103 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\32\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /me/head inAgug 08 14:05:27.103 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\32\TRACING\OFF\VS\12\host\windows\src\osvr\Common\ClientInterface.cpp:38: Interface initialized for /me/head fAoug 08 14:05:27.103 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\32\TRACING\OFF\VS\12\host\windows\src\osvr\Client\DisplayConfig.cpp:195: Display: HTC Vive MV [Display descriptor note: Specific to HTC Vive MV serial number LHR-69800803.] r Atug 08 14:05:27.103 info [OSVR]: Z:\j\workspace\OSVR-Core-Build-Win\BIT\32\TRACING\OFF\VS\12\host\windows\src\osvr\ClientKit\DisplayC.cpp:47: Created an OSVR_DisplayConfigObject! he display to fully start up, including receiving initial pose update... Aug 08 14:05:27.103 info [OSVR: com.osvr.example.SDLOpenGL]: Successfully produced handler for /me/head OK, display startup status is good!

gbhatt07 commented 8 years ago

I have a Nvidia quadro 5000 GPU with driver version 364.72

rpavlik commented 8 years ago

Ah, I see. Well, that unfortunately won't be the way to get it, though points for creativity! OSVR RenderManager doesn't currently have support for a mirror window, though some game engines provide one whether you want them to or not. I thought we already had an issue open for it, but apparently not - I opened one here: https://github.com/sensics/OSVR-RenderManager/issues/170

Until then, the best you can do is either, if you're building an app in Unity, turn on an (expensive) config option to force one, or mirror displays and use an extended-mode RenderManager config. At the moment, since the new distortion methods haven't been backported from RM to Core, you don't really want to use the Core display APIs.

gbhatt07 commented 8 years ago

Thanks, I am not using unity but creating OpenGL applications. I will follow issue#170 but till then I might just use the HMD display. Thank You.