SteamVR

SteamVR

phr00t May 5, 2015 @ 8:29am
Development without a Rift or Vive? [ null driver on linux broken ]
I'm working on jMonkeyEngine + OpenVR integration. Is there a way to test & develop rendering without having a HMD hooked up? The Rift SDK had a way to create a "debug" DK2 to test against. Does that same thing exist with OpenVR?

EDIT: I do have a DK2, but it'd certainly help development if I could work on it with machines that don't have my DK2 hooked up...
Last edited by phr00t; May 31, 2015 @ 8:38am
< >
Showing 1-15 of 24 comments
aaron.leiby  [developer] May 5, 2015 @ 11:12am 
In your Steam/config folder you can add a file named steamvr.cfg with the following:
[steamvr] EnableNullDriver = true
If you are using the compositor, you will want to launch that separately first using --keepalive and --debug command line options. However, it looks like the null driver never returns "valid" poses, so the compositor will remain grey (which isn't very useful - I'll fix that now).
phr00t May 5, 2015 @ 11:16am 
Originally posted by aaron.leiby:
In your Steam/config folder you can add a file named steamvr.cfg with the following:
[steamvr] EnableNullDriver = true
If you are using the compositor, you will want to launch that separately first using --keepalive and --debug command line options. However, it looks like the null driver never returns "valid" poses, so the compositor will remain grey (which isn't very useful - I'll fix that now).

Thank you for the response & information. Is there any way to enable the null driver from within an application without needing an external steamvr.cfg flag set?
Lhun May 6, 2015 @ 3:07pm 
See now this is amazing. The OVR doesn't let you do this.
phr00t May 12, 2015 @ 11:34am 
Originally posted by aaron.leiby:
In your Steam/config folder you can add a file named steamvr.cfg with the following:
[steamvr] EnableNullDriver = true
If you are using the compositor, you will want to launch that separately first using --keepalive and --debug command line options. However, it looks like the null driver never returns "valid" poses, so the compositor will remain grey (which isn't very useful - I'll fix that now).

How exactly do I "... using the compositor, you will want to launch that separately first using --keepalive and --debug command line options."?

All I keep getting is "Hmd not present (108)". I added "--keepalive --debug" to the launch options for SteamVR, but it doesn't seem to be working. Trying to run "vrserver" gets this error:

phr00t@phr00tlaptop:~/.local/share/Steam/SteamApps/common/SteamVR/bin/linux64$ ./vrserver
./vrserver: error while loading shared libraries: libsteam_api.so: cannot open shared object file: No such file or directory

Nothing happens when I go to SteamVR & go to "Play Game" via the tools list.
Last edited by phr00t; May 12, 2015 @ 12:09pm
phr00t May 13, 2015 @ 1:58pm 
I copied the 32-bit libsteam_api.so to my /usr/lib directory, and now I get this when trying vrserver:

phr00t@phr00tlaptop:~/.local/share/Steam/SteamApps/common/SteamVR/bin/linux64$ ./vrserver --keepalive --debug
Using breakpad crash handler
Setting breakpad minidump AppID = 250820
Forcing breakpad minidump interfaces to load
Looking up breakpad interfaces from steamclient
Calling BreakpadMiniDumpSystemInit
phr00t@phr00tlaptop:~/.local/share/Steam/SteamApps/common/SteamVR/bin/linux64$

It hangs for 1 or 2 seconds after "Calling BreakpadMiniDumpSystemInit", then exits back to the command line. I'm rather lost & looking for help :(
aaron.leiby  [developer] May 13, 2015 @ 3:30pm 
You need to use the commandline option --keepalive as well for vrserver, otherwise it will automatically exit if nothing talks to it for two seconds.

The compositor still needs some work before it will be fully operational on both linux and osx, but you can use the sdk interfaces to do your own distortion correction, etc. in the meantime.
phr00t May 14, 2015 @ 6:21am 
Originally posted by aaron.leiby:
You need to use the commandline option --keepalive as well for vrserver, otherwise it will automatically exit if nothing talks to it for two seconds.

The compositor still needs some work before it will be fully operational on both linux and osx, but you can use the sdk interfaces to do your own distortion correction, etc. in the meantime.

Thank you for the response.

As you can see in my post, I did have the --keepalive option, along with the --debug argument. It still quits after a few seconds. However, I noticed vrserver does stay alive if I drop the --debug argument and only leave --keepalive.

Unfortunately, my application still gets a "Hmd not found (108)" error when vrserver is alive (perhaps because the debug flag is missing). I can't keep vrserver alive with the debug flag, though.

Also, just to verify I have my steamvr.cfg file location & contents correct:

/home/phr00t/.local/share/Steam/config/steamvr.cfg file contains:

[steamvr]
EnableNullDriver = true
bendotcom  [developer] May 16, 2015 @ 5:03pm 
Can you post the tail end of your logs/vrserver.txt from right after you try this? We don't need the whole file, just the results of a single launch.
phr00t May 16, 2015 @ 5:17pm 
Thu May 14 13:49:20 2015 UTC - ================================================================================================
Thu May 14 13:49:20 2015 UTC - VR server (v1430360658) starting up with config=/home/phr00t/.local/share/Steam/config
Thu May 14 13:49:20 2015 UTC - Load Config from /home/phr00t/.local/share/Steam/config/steamvr.cfg
Thu May 14 13:49:20 2015 UTC - Setting keepalive from command line
Sun May 17 00:11:10 2015 UTC - ================================================================================================
Sun May 17 00:11:10 2015 UTC - ================================================================================================
Sun May 17 00:11:10 2015 UTC - VR server (v1430360658) starting up with config=/home/phr00t/.local/share/Steam/config
Sun May 17 00:11:10 2015 UTC - Load Config from /home/phr00t/.local/share/Steam/config/steamvr.cfg
Sun May 17 00:11:12 2015 UTC - Shutting down server after 2.006893l seconds of idleness
Sun May 17 00:11:12 2015 UTC - VR server shutting down
Sun May 17 00:11:12 2015 UTC - Listener thread ending

That is the last 2 runs in my log. The first one, on May 14th, is just with the --keepalive option. The second run is with both --keepalive & --debug

If I use just --debug, this gets printed in the log:


Sun May 17 00:16:37 2015 UTC - ================================================================================================
Sun May 17 00:16:37 2015 UTC - VR server (v1430360658) starting up with config=/home/phr00t/.local/share/Steam/config
Sun May 17 00:16:37 2015 UTC - Load Config from /home/phr00t/.local/share/Steam/config/steamvr.cfg
Sun May 17 00:16:39 2015 UTC - Shutting down server after 2.000058l seconds of idleness
Sun May 17 00:16:39 2015 UTC - VR server shutting down
Sun May 17 00:16:39 2015 UTC - Listener thread ending
Last edited by phr00t; May 16, 2015 @ 5:18pm
bendotcom  [developer] May 17, 2015 @ 1:37am 
Originally posted by phr00t:
Unfortunately, my application still gets a "Hmd not found (108)" error when vrserver is alive

In the snippets you posted, nothing tried to connect to vrserver. Try it with --keepalive (let's assume --debug is going to exit for whatever reason) and then start your application.
phr00t May 17, 2015 @ 6:28am 
Originally posted by bendotcom:
Originally posted by phr00t:
Unfortunately, my application still gets a "Hmd not found (108)" error when vrserver is alive

In the snippets you posted, nothing tried to connect to vrserver. Try it with --keepalive (let's assume --debug is going to exit for whatever reason) and then start your application.

I think I found the culprit, and it is in vrclient_java.txt:

Sun May 17 13:21:08 2015 UTC - vrclient startup with PID=4067, config=/home/phr00t/.local/share/Steam/config
Sun May 17 13:21:08 2015 UTC - Load Config from /home/phr00t/.local/share/Steam/config/steamvr.cfg
Sun May 17 13:21:08 2015 UTC - Unable to load driver oculus from /home/phr00t/.local/share/Steam/SteamApps/common/SteamVR/drivers/oculus/bin/linux64/driver_oculus.so.
Sun May 17 13:21:08 2015 UTC - Unable to load driver null from /home/phr00t/.local/share/Steam/SteamApps/common/SteamVR/drivers/null/bin/linux64/driver_null.so.
Sun May 17 13:21:08 2015 UTC - Returning HmdNotFound because the client-side presence check failed.

Null driver seems to be there:

-rwxrwxr-x 1 phr00t phr00t 622933 May 5 10:55 driver_null.so
phr00t@phr00tlaptop:~/.local/share/Steam/SteamApps/common/SteamVR/drivers/null/bin/linux64$

End of vrserver.txt looks the same:

Sun May 17 13:21:01 2015 UTC - ================================================================================================
Sun May 17 13:21:01 2015 UTC - VR server (v1430360658) starting up with config=/home/phr00t/.local/share/Steam/config
Sun May 17 13:21:01 2015 UTC - Load Config from /home/phr00t/.local/share/Steam/config/steamvr.cfg
Sun May 17 13:21:01 2015 UTC - Setting keepalive from command line

I'm running Ubuntu 15.04, linux64
phr00t May 18, 2015 @ 1:25pm 
I noticed the update announcement this morning that debug mode is forced. Thank you for working on this, although things are not working for me yet. The above still happens (vrclient_java.txt claims the null driver is unable to load & "hmd not found (108)" is returned).

SteamVR build number is listed as 607043. Not sure if this is the update today or not.
phr00t May 18, 2015 @ 1:33pm 
I just noticed my VR server version in the logs, "VR server (v1430360658)" are the same since back on ~May 13th. Doesn't look like my SteamVR got updated? I'm running linux64... was this operating system not included, or has the update just not been pushed to me yet?
phr00t May 18, 2015 @ 7:03pm 
OK, I set SteamVR to "beta", and an update downloaded. The verserver.txt log now shows this version:

VR server (v1431961469)

--keepalive & --debug arguments can now both be specified & the verserver will not exit early. Unfortunately, I still get "Hmd not found (108)" and vrclient_java.txt says this:

Tue May 19 02:00:21 2015 UTC - vrclient startup with PID=5629, config=/home/phr00t/.local/share/Steam/config
Tue May 19 02:00:21 2015 UTC - Load Config from /home/phr00t/.local/share/Steam/config/steamvr.cfg
Tue May 19 02:00:21 2015 UTC - Unable to load driver oculus from /home/phr00t/.local/share/Steam/SteamApps/common/SteamVR/drivers/oculus/bin/linux64/driver_oculus.so.
Tue May 19 02:00:21 2015 UTC - Unable to load driver null from /home/phr00t/.local/share/Steam/SteamApps/common/SteamVR/drivers/null/bin/linux64/driver_null.so.
Tue May 19 02:00:21 2015 UTC - Returning HmdNotFound because the client-side presence check failed.
Please update to the new beta (1431742657) and send me your steamvr.cfg as it looks like when you test...
< >
Showing 1-15 of 24 comments
Per page: 1530 50

Date Posted: May 5, 2015 @ 8:29am
Posts: 24