SteamVR and NoloVR on iOS



  • Continuing discussion with engineers on Github.
  • @hettylool I've been working with GXiaoyang and the callbacks are now exported from the runtime DLL. I can confirm this works and gives much smoother tracking than the polling methods used previously... :smile: 
  • edited July 2017
    So, I've now finished (AFAIK) my SteamVR driver that includes NoloVR support.

    It does a USB device check to see if the hardware is attached, and if so, it will try to load the Nolo runtime. As there isn't a satisfactory way to find the Nolo runtime libraries on the user's system at present, the user may have to copy them to the iVRy driver folder. I may ship a version of the driver that has these libraries included to avoid user error, but they would be able to be added to the "normal" driver installation as well. In fact, until Nolo provides an SDK method for finding the Nolo runtime, it will be up to the user to keep those libraries up to date with the latest from Nolo.

    When the driver loads the Nolo runtime, it will check for the presence of the "data callback" functions and use them if present. If they're not present it will set up a 120Hz polling thread to read the hardware. The driver will use the Nolo hardware for both orientation and tracking (as well as controller emulation) when present, and revert to orientation tracking via the HMD if for some reason it can't get tracking from Nolo (hardware disconnected etc.).

    The controllers are used to provide 100% emulation of Vive controllers (everything works exactly as a Vive controller, including using the Vive controller models for display in VR).

    I'm very happy and impressed how well this all working so far, and that it was possible to add NoloVR support so quickly, however there is an issue with either the runtime or the hardware firmware which results in incorrect orientation on the HMD and controllers in some instances (for more details about that, look at ).

    Once this issue is resolved or explained or something, so that it isn't going to cause me support issues, I will release the driver.

    This driver works well for iOS (available) and Android (not available to outside testers yet) mobile devices with the iVRy app, and doesn't require the app to be updated.

    Once this version of the driver has been released I will post an announcement on this forum.

    iPhone 6S+ with NoloVR tracking and controls.
  • edited July 2017
    @hettylool I've found a way to discover the runtime directory in the Nolo driver installation that works for now (the Nolo install adds a OSVR driver which it registers with OpenVR, so I can find that path wherever the user installs the Nolo software). There should still be a proper way of doing that (registry), as this method may not work in future.

    I still allow the user to override the above method by putting the runtime libraries inside the iVRy driver path (for experimenting etc.).

  • edited July 2017
    Fixing missing image from previous post:

    iPhone 6S+ with NoloVR tracking and controls.

    iPhone 6S+ with NoloVR tracking and controls emulating Oculus Touch with ReVive

Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!