OSVR / SteamVR-OSVR

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

steamVR/OSVR Issue #40

Closed Balderick closed 8 years ago

Balderick commented 8 years ago

As a consumer user; running latest core, steamvr-osvr binaries, drivers, steam client and steamvr version, all i get is a white virtual world with mesh after starting steamVR.

What i did was after receiving my OSVR 1.3 dev kit the instructions on unboxing and set up were followed. https://github.com/OSVR/OSVR-Docs/blob/master/Getting-Started/HDK/HDK-Unboxing-and-Getting-Started.md The Tracker Viewer runs fine but i am struggling to manage which display gets used and still have not had the Palace demo or Team Fortress 2 (example/test in doc) run in the hmd. The readme on https://github.com/OSVR/SteamVR-OSVR main page were followed for installing and testing steamVR.

What i am trying to do is be able to play vr content in steam games/apps using OSVR hmd and tracking.

Some system specs: i7 6700k, 32GB ddr4 2666mhz, 6GB gtx 980 ti running windows 10 pro 64

Any useful advice would be welcomed and thanks in advance.

godbyk commented 8 years ago

Which configuration file are you using when you run the osvr_server.exe?

What is the resolution of your main monitor? What is the position of the HDK's display in relation to the main monitor?

What happens when you try to run a SteamVR game (e.g., TF2)?

Balderick commented 8 years ago

How do i confirm which configuration file is being used when running the osvr_server.exe?

The resolution of my main monitor is 1920x1080 which is its native res. The resolution of my hmd disply is 1920x1080 after following instruction in the Unboxing and Setup readme. I have set the extended desktops and monitor as default display with OSVR hmd to right of desktop/screen.

I can not launch a steamvr game because i can only see a white virtual world in hmd. If i launch TF2 game from desktop steam client what i get is just a black screen on main monitor. I can guess where the "quit" button is to exit though!

godbyk commented 8 years ago

@Balderick If you're not dropping a config file onto the osvr_server.exe or specifying it on the command line when you start the server, then it's using the default configuration file.

What do you see in the HMD when you try to run a SteamVR game?

Does the HMD show your Windows desktop background when not running SteamVR?

Balderick commented 8 years ago

Following the instructions here https://github.com/OSVR/OSVR-Docs/blob/master/Getting-Started/HDK/HDK-Unboxing-and-Getting-Started.md#get-osvr-server and at https://github.com/OSVR/SteamVR-OSVR#installation there is no mention of starting OSVR server from command prompt nor anything about specifying particular configuration files for osvr server or to enable the steamVR OSVR plugin/drivers.

To launch OSVR server i click the shortcut made; which is pinned to my task tray, for the osvr_server.exe which is locacted at C:\Users\Shaun\OSVR\OSVR server\OSVR-Core-Snapshot-v0.6-1120-gfc7433f-build246-vs12-64bit\bin\osvr_server.exe To launch steamvr i click the "VR" icon in top right hand corner of steam client running in large mode.

After launching steamVR all i see in OSVR headset is a white virtual space with a mesh which i suspect is something to do with defining a virtual room related to steamvr room set up.

Yes. Windows desktop is viewable in OSVR headset when steamVR is not running.

I will update after trying "steam://rungameid/440" to test the example given in official instructions.

godbyk commented 8 years ago

Okay, it sounds like it's running with the default configuration which should work for your monitor's resolution.

The white room with the grid means that SteamVR has detected the HMD and is working okay.

You should be able to just start up a SteamVR game now.

If the SteamVR game doesn't appear in the HMD or you encounter other problems, please let me know which game you're trying to run and any error messages you see.

Balderick commented 8 years ago

The osvr hmd display is no longer visible in nvidia control panel or windows settings > displays though devices shows the three osvr devices (box, hmd, camera) and there are no trouble devices in device manager. Nothing happens in hmd now.

godbyk commented 8 years ago

It sounds like the HMD is running in direct mode.

Disable direct mode by running DisableOSVRDirectModeAMD.exe or DisableOSVRDirectModeNVidia.exe (depending on your graphics card).

After that, the HMD should once again appear in the Windows display control panel.

Balderick commented 8 years ago

Okay. So i got render manager installed to run that executable and have signs of life from headset again. Realise now it is config file i need to work out next and am trying different samples in order to make custom config.
How do i "run the optional beacon pre-calibration step"?. Is the hdmi connection hot pluggable on hdk 1.3 hardware?.

godbyk commented 8 years ago

For now, let's skip the pre-calibration step. We can do that after we get SteamVR working.

The HDK can be plugged in and unplugged while the computer is running. (Or did you mean something else by hot-pluggable?)

For the configuration file, you'll want to ensure you're using the extended version and disable direct mode.

Balderick commented 8 years ago

Yes that is what i intended to ask, just was not convinced plugging hdmi connectors into gpu's when machine was running was a good idea. I found the instructions on how to reset hdk/display at https://github.com/OSVR/OSVR-user-settings#osvr-hdk-utilities-pane-provides

I couldn't work out to launch server with extended sample config so just renamed it osvr_server_config after renaming the original json with same name and am now starting server by "osvr_server osvr_server_config.json" from command prompt.

All that i can see in hdk display is windows extended desktop but it is bright green instead of bright blue. (using default win 10 background)

EDIT: Just see a strobing technicolor kkaleidoscope with mainly white speckles in hdk display

EDIT2: Reverted back to green desktop. If steamVR is launched the white space is now yellow. If i launch TF2 just get a black screen on main display but the input and audio work. I can guess where the quit button is to exit. Nothing changes in hdk dispaly just stays on steamvr compositor (yellow/white space)

Balderick commented 8 years ago

Okay. I got extended desktop showing as expected in hdk display on connection again. If a server is started by using the desktop app that appears on windows start menu after typing "osvr" i see
[OSVR Server] Using config file 'nondirectmode_HDK1.3.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 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] Added device: com_osvr_Multiserver/OSVRHackerDevKit0 [OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0 [OSVR] Path tree updated or connection detected [OSVR] Sending path tree to clients.

Does nondirectmode equate to extended mode?

Once steamVR is started the white space with grid is back as expected. Launching TF2 as windowed displays game as expected on primary display but nothing appears in hdk display; it just stays in compositor.

Balderick commented 8 years ago

I am really struggling to get the same thing to happen twice on disconnecting and reconnecting hdk due to a pooorly designed usb coonection/cable management on hdk audio/belt box. That is why i am struggling to set up hdk and use hdk. It is not uncommon for the hdk to lose connection when being moved also. Fiddling about with hdk audio/belt box cables is only way to get desktop showing in hdk as expected. (i.e. get rid of green desktop or technicolor kaliedoscope)

The TF2 example as a steamVR app in the steamvr-osvr plugin readme absolutely intrigues me as TF2 does not officialy support VR, or at least there is no mention of it doing so in steam store page. That still does not explain why TF2 runs in VR mode using OSVR hdk for others but not for me.

Balderick commented 8 years ago

@godbyk okay let's start again by using your questions that were asked in your first comment/post here.

1.

Which configuration file are you using when you run the osvr_server.exe?

I am launching osvr_server from command prompt using osvr_server sample-configs\osvr_server_config.HDK13ExtendedLandscape.sample.json What i can see is

[OSVR Server] Using config file 'sample-configs\osvr_server_config.HDK13ExtendedLandscape.sample.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] Added device: org_osvr_filter_videoimufusion/HeadFusion [OSVR] Client context initialized for org.osvr.analysisplugin [OSVR] Interface initialized for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd [OSVR] Interface initialized for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front [OSVR Server] Successes: [OSVR Server] - com_osvr_VideoBasedHMDTracker/VideoBasedHMDTracker [OSVR Server] - org_osvr_filter_videoimufusion/VideoIMUFusion [OSVR Server] [OSVR Server] [OSVR Server] Aliases found and parsed from config file. [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] Added device: com_osvr_Multiserver/OSVRHackerDevKit0 [OSVR] Added device: com_osvr_Multiserver/OSVRHackerDevKitPrediction0 directx_camera_server: Using capture device 'USB Video Device' at path '\?\usb#vid_0bda&pid_57e8&mi_00#9&314fc184&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global' Video-based tracker: Camera turned on! Opening camera 0 [OSVR] Added device: com_osvr_VideoBasedHMDTracker/TrackedCamera0_0 Video-based tracker: NOTE: Beacon calibration filename videotrackerCombinedCalibrationFile13.json was specified, but not found or could not be loaded. This is not an error: This may just mean you have not yet run the optional beacon pre-calibration step. [OSVR] Path tree updated or connection detected [OSVR] Sending path tree to clients. [OSVR] Got updated path tree, processing [OSVR] Constructed a TrackerHandler for com_osvr_Multiserver/OSVRHackerDevKitPrediction0@localhost sensor 0 [OSVR] Successfully produced handler for /com_osvr_Multiserver/OSVRHackerDevKitPrediction0/semantic/hmd [OSVR] Constructed a TrackerHandler for com_osvr_VideoBasedHMDTracker/TrackedCamera0_0@localhost sensor 0 [OSVR] Successfully produced handler for /com_osvr_VideoBasedHMDTracker/TrackedCamera0_0/semantic/hmd/front [OSVR] Connected 2 of 2 unconnected paths successfully [OSVR] Performing hardware auto-detection. [OSVR] Path tree updated or connection detected [OSVR] Sending path tree to clients. Video-IMU fusion: Hold still, measuring camera pose.

NOTE: For best results, during tracker/server startup, hold your head/HMD still closer than 0.3 meters from the tracking camera for a few seconds, then rotate slowly in all directions.

Video-IMU fusion: Hold still, measuring camera pose.... Video-IMU fusion: Hold still, measuring camera pose.... Video-IMU fusion: Hold still, measuring camera pose..........

Video-IMU fusion: Camera pose acquired, entering normal run mode! Camera is located in the room at roughly 0.631038 -0.110053 0.258876

2.

What is the resolution of your main monitor? What is the position of the HDK's display in relation to the main monitor?

Display 2 is monitor using 1920x1080 and is primary display. Display 1 is hdk display and it too is using 1920x1080. Desktops are extended with hdk display to the right hand side of monitor.

3.

What happens when you try to run a SteamVR game (e.g., TF2)?

After launching steamVR on primary display I get the steamVR status app showing hdk display is connected but not ready with an icon in system tray showing steamvr is running. There is also a compositor icon on task bar indicating a steam vr compositor window is running. Absolutely no change occurs in hdk display; it simply stays on windows desktop. After launching TF2 game it loads as expected on primary display only. Nothing happens in hdk display.

My desktop shown in hdk display appears to be a mirrored desktop even though extended is set in os display settings. No mouse keyboard or any other input devices work in hdk display nor does any window opened in primary display get rendered in hdk display when it is dragged and dropped into the extended desktop space assigned for hdk display use.

I have double checked that there are no issues with devices (now have four devices as expected), drivers and that my snapshot core version matches the steamvr-osvr version.

Reverting back to a known working setup that worked for others i reverted to OSVR-Core version 0.6.1114 with SteamVR-OSVR plugin v0.6-1114 and SteamVR set to beta v1456770167. This had no affect on outcome. Nothing gets rendered in the hdk display. I think is because of hdk display for some reason not using extended desktops even though system settings and nvidia control panel say extended is or should be being used.

Enabling direct mode allows big picture to be launched in vr mode albeit rendered on my primary display. Big Picture ui has never rendered for me in hdk display. steamVR compositor appears to be using a red world now for compositor but as already mentioned that never gets rendered at all on either of displays. Compositor dies when direct mode enabled. HDK crashes after enabling direct mode (using rendermanager) so the switch to disabling direct mode never works.

To understand what is the expected behaviour and get a compact source of useful information in one place i have found this reddit post to be invaluable https://www.reddit.com/r/OSVR/comments/40lr8i/getting_started_with_the_osvr_hdk_what_to_do_and/

What should i be expecting from posting here? Is there any useful information i could be sharing?

Balderick commented 8 years ago

The update for OSVR Control seems to have shown a firmware update that is available but did not get installed when i updated on initial set up. Updating system firmware from 1.8.4 to 1.9.1 has made a huge difference. testing ...

godbyk commented 8 years ago

I wanted to touch base and see if you were still experiencing any problems with OSVR and SteamVR.

Balderick commented 8 years ago

I have been battling hardware issues that are cause of not being able to use my machine nevermind the hdk!; ... ... You know you have bleeding edge tech when your mobo is receiving bios updates on a fortnightly basis, right?

Long story short I just updated my firmware for mobo today again and am now in longest, slickest, bestest running desktop session I ever had on this build so hope am on right track to lose me VR cherry.

I am pretty sure this issue can be closed. Will update regardless.

Balderick commented 8 years ago

Just found what I have been waiting for https://www.reddit.com/r/OSVR/comments/4hxwve/psa_latest_nvidia_drivers_36510_once_again/ and understand I need to be applying the broken steamvr beta 1234x3 workaround described at https://www.reddit.com/r/OSVR/wiki/steamvr

Looking forward too trying again ...

d235j commented 8 years ago

@Balderick the workaround should no longer be necessary with the latest version of SteamVR and the latest build of SteamVR-OSVR.

Balderick commented 8 years ago

@d235j Can now confirm osvr core 73 and latest steamVR-OSVR drivers still do not launch steam games (only tried Dirt rally and TF2 so far) but steamvr's behaviour with my set up is peculiar.

Running mobo with igpu giving intel 530 which is where my primary display is connected to along with a gtx 980ti using latest drivers and is connected to osvr hdk. Steam client gets moved to hdk display and it is still running in large mode, is non fullscreen and upside down. Disconnecting power and usb at audio/belt box and a system reboot is needed for steam client to show on primary display again.

Tracker view seems to be working as expected and palace demo nearly works, but it too, is upside down in hdk display.

As an observation i have noticed that after copying the drivers directory from the unzipped steamvr-osvr there is not a driver.cfg file in the steamvr files where the steamvr-osvr drivers get moved to. Some folks mention adding [OSVR] to first line of that file helps steamvr to use osvr drivers/devices.

Have tried with steamvr stable and steamvr beta with code 123412341234 with slightly differing results but both are unusable. Sometimes steamvr monitor shows on primary display after launching steamvr and crashes. What i see can be viewed at http://imgur.com/s3Q9Yu5 Other times the steam client moves from primary display to hdk display but stays in large mode (not big picture as expected) with no vrmonitor showing up.

stephenmsnow commented 8 years ago

I am a partnered developer who's been hoping to get the time to jump in and start working on this platform since getting my headset months ago... but with deadlines and issues at my day job, I've barely been able to touch the unit since I got it... I've had varying degrees of success in the all too few times I've had to actually attempt to work with the unit since I received it... I've tried compiling myself from code vs nightly builds with the same results, Steam keeps changing their API which seems to mean that the OSVR hackers have to keep working around new additions and deprecating code with each successive release.

Basically, what I'm asking now, since I finally have some time... is where are we at now? I'm finally getting to the point where a little bit of free time is something I have, and I don't want to waste my limited time working on something pointless. I very much believe that SteamVR is probably the most important thing to have working right now, since that's where most of the content is going to be... especially since VR experiences in the source engine are far less resource-intensive than anything I've seen in the unity or unreal engines (we have vives, rifts, and the HDK here at my work).

Could I be of assistance on the SteamVR compatibility side? If not, where would a video game programmer by day be most useful jumping in right now with limited time to offer, at least for the next 2 months, after which I should have MUCH more time available (adding a major feature to our engine has been a much longer and more drawn out process than I'd anticipated originally) :P

On Tue, May 17, 2016 at 4:44 PM, Balderick notifications@github.com wrote:

@d235j https://github.com/d235j Can now confirm osvr core 73 and latest steamVR-OSVR drivers still do not launch steam games (only tried Dirt rally and TF2 so far) but steamvr's behaviour with my set up is peculiar.

Running mobo with igpu giving intel 530 which is where my primary display is connected to along with a gtx 980ti using latest drivers and is connected to osvr hdk. Steam client gets moved to hdk display and it is still running in large mode, is non fullscreen and upside down. Disconnecting power and usb at audio/belt box and a system reboot is needed for steam client to show on primary display again.

Tracker view seems to be working as expected and palace demo nearly works, but it too, is upside down in hdk display.

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/OSVR/SteamVR-OSVR/issues/40#issuecomment-219886764

Balderick commented 8 years ago

Running verify cache for steamvr fixed the missing drivers.cfg.

Balderick commented 8 years ago

So running latest nvidia, steamvr-osvr drivers on current latest osvr runtime with steamvr (no betas) have for the first time had the video option in TF2 to enable virtual reality; however, when restarting game to apply the option the game defaults to disabling virtual reality likely due to no steamvr compositor running as shown in the imgur screenie i shared in a post above.

Balderick commented 8 years ago

The only way the option to enable virtual reality in TF2 video settings to appear is by using -vr launch option. Enabled never gets applied. Just the windows desktop shared between two eyes ever shows in hdk display.

Balderick commented 8 years ago

After making sure the 4k tv being used as primary display is using 1080 res now get steamvr compositor starting without error however when i try to launch TF2 i now get a warning telling me TF2 does not support VR. It looks like this http://imgur.com/Y8Y3KMH which is very similar to what is shown in image of error from issue #5 which is an image posted in issue #5

Balderick commented 8 years ago

So having worked through all known workarounds several more times when trying different hardware and hardware configurations it must be said there are far way too many issues to know where to spend time asking for support. It's obvious this ain't the place and now my hdk display only ever shows green stuff.

I have given up on this one until i can afford another hdk or any other suitable known working option.

rpavlik commented 8 years ago

If all you see is green in your hdk, file a support ticket at http://support.osvr.com because that sounds like a hardware defect

Balderick commented 8 years ago

Thanks for that reminder and suggestion @rpavlik. After waiting more than five working days for a response from razers support portal that option will hopefully prove very useful.