BETA NoloVR compatible driver for iVRy available.

edited July 29 in General
As I've simply run out of time to do any further development on NoloVR tracking until earliest September, I've decided to release the NoloVR compatible driver for iVRy in its current state. Consider this to be a BETA version with no guarantee of fitness to purpose or anything like that. If it works for you, great, if it doesn't, please post results in this thread so that I have a place to find feedback when I am able to resume this (hopefully the Nolo software will have improved dramatically by then, as at present it has some issues which would prevent me from moving this driver out of BETA).

This driver assumes you have the iVRy app installed on your phone, that you've tested it already and figured out whatever you need to figure out to get it working without Nolo.

To install the driver, download it from here and install it in the same way as you installed the normal iVRy driver:

http://www.mediator-software.com/iVRy/iVRy_Nolo_SteamVR.exe

First off, you will need to disable the Nolo SteamVR driver that is installed with the Nolo PC software. If you don't do this, it will take control of the Nolo hardware and you'll get strange results with iVRy. To do this, find the 'steamvr.vrsettings' file in the 'config' directory of your Steam installation (usually 'C:\Program Files (x86)\Steam') and open it in an editor (like Notepad). You'll need to add the following driver section to that, and save it, to disable the Nolo driver:

   "driver_nolo" : {
      "enable" : false
   },

Now you should be able to use the iVRy NoloVR driver without that driver getting in the way.

There are a few settings you can play around with to customise the iVRy NoloVR driver. You'll need to edit the 'steamvr.vrsettings' file and find the "driver_ivry" section. The following settings are available:

"useDeviceOrientation" : true/false
"disableImuEmulation": true/false
"imuScaleFactor": >= 2

The "useDeviceOrientation" setting (default false) can be set to true to use the phone's sensors for orientation. If you set the tracking rate in the iVRy app to 100Hz this will result in smoother orientation tracking. It's generally better if you put the Nolo base station in front of you if you use this (haven't tested 'ceiling' mode).

The "disableImuEmulation" setting (default false) can be set to true to disable the iVRy driver's emulation of IMU velocity/acceleration (necessary as the Nolo SDK doesn't supply these values). This is active when the trigger is being held on the controller and is necessary in some titles for throwing actions to be possible, but will result in 'jitter' in the controller movement. Disabling this will result in smoother controller action, but will disable throwing in some titles.

The "imuScaleFactor" setting (default 1) will allow you to exaggerate/scale the emulated velocity/acceleration values when IMU emulation is enabled. This can help you throw things further in some titles, and can be necessary because the low sampling frequency (60Hz) for Nolo means that quick movements can be missed by the VR title. The Nolo driver uses 2 for this value, for comparison.

When adding these lines to the "driver_ivry" section, it's important to make sure that each entry is separated by a comma, and that there is no comma after the last line, for example:

   "driver_ivry" : {
      "address" : "10.0.1.12",
      "disableImuEmulation": false,
      "imuScaleFactor": 2,
      "driverMode" : 1,
      "useDeviceOrientation" : true
   },

There is a bug in the Nolo software which results in the hardware being in an undetermined state until you double-click the power button on one or both of the controllers. So, if the tracking isn't working how you'd expect, or the controllers are facing the wrong direction, double-click the power button on one or both of the controllers, while pointing them "forward".

This driver is compiled and tested against the (0.70) Nolo Windows driver/SDK, and uses the Nolo SDK DLLs from the Nolo PC software installation. It hasn't been tested in 'ceiling' mode. There was an update to the Nolo 0.70 SDK which allows it to be more responsive (using callbacks instead of polling). This hasn't been released by Nolo yet, but if you wish to use it, you can update to it manually as follows:

Download the latest SDK from:

https://github.com/NOLOVR/NOLO-Windows-SDK

Copy the DLL files from NOLOVR/bin/x86/v140/ & NOLOVR/bin/x64/v140/ folders in the SDK to the 'win32' & 'win64' folders respectively of the 'bin' folder of the iVRy SteamVR driver installation (usually 'C:\Program Files (x86)\Steam\steamapps\common\SteamVR\drivers\ivry').

Some points to be aware of about the iVRy NoloVR driver:

- It is unsupported and experimental.
- If the controller is pointed the wrong way double-click the power button while pointing it at wherever your 'center' is.
- If the screen goes black it is probably due to some problem with the Nolo tracking and the SteamVR "Virtual" display mode. Try "Direct" display mode setting in the iVRy app.
- If Nolo isn't tracking, make sure that it is working in the "Visualiser" Nolo app.
- If you run into any issues, please post them in this thread, but be aware that I probably won't be able to fix them until September.
- If it makes you unhappy or breaks any of your stuff, remember you are using a unsupported, experimental beta driver for hardware that has (at this moment) buggy incomplete firmware/drivers/software, entirely at your own risk.
- This driver is compatible with both the iOS and Android versions of iVRy. At the time of writing the Android version of iVRy is not publicly available. When will it be available? Soon. When is "soon"? When it's ready.

Some points to be aware of about the LYRobotix NoloVR PC software:

- It modifies internal, private SteamVR configuration files, in some cases corrupting them. This can result in having to redo Room Setup for any headsets you have configured on your system, whether they use Nolo or not.
- It crashes sometimes. Restarting it usually fixes it, but sometimes a full restart of the PC is necessary.
- It fails to recognise the Nolo hardware sometimes. Exiting and restarting it usually fixes it.






«1

Comments

  • Hi IVRy thanks for releasing the beta, does this include Android as well as iphone
  • Sorry, but your iVRy app isn't released for android, right? Can be used with riftcat?
  • @AxleB @Tux0Topo From the post above: "This driver is compatible with both the iOS and Android versions of iVRy. At the time of writing the Android version of iVRy is not publicly available. When will it be available? Soon. When is "soon"? When it's ready."

    @Tux0Topo No, this driver is only for iVRy. It is part of what makes iVRy much better than similar apps.
  • edited July 29
    @iVRy Ok... i hope that the android version comes out soon... unless someone gifted me an iphone D p
  • Any idea why my SteamVR.VRsettings file wont save the changes i make to it?
  • @GoDzViper ; Try changing it when the Nolo software (and SteamVR) isn't running.
  • So, did anyone actually have a chance to test this out? Any feedback?
  • Love to try this but I only have android
  • Same here, android user here... I think that the majority of users, use android :(
  • @Tux0Topo Yeah, I know for me the only reason I got Nolo was to use it with RiftCat which is Android only, so I feel as tho most people on the forums are going to be running Android
  • edited August 4
    I know of 2 people that have tried the iOS version with Nolo. I suppose the fact that they haven't posted any issues is good news. I am focused on other (HMD) projects right now, so the Android version is not likely to see public release before early to mid September. It has been tested with Nolo hardware and works as well as the iOS version.
  • edited August 4
    Sorry to ruin the "No news is good news" but iVRy has stopped working with steamVR. No idea why as it was working earlier and i have changed nothing. I can launch steamVR and it will recognize that there is a headset but it wont display on my phone. Tracking works fine with nolo and i am able to see steamVR using the mirror feature. So, turns out it does show on the display for about a second then it goes blurry for a few seconds then goes back to the iVRy home screen.
  • edited August 4
    I have started testing this beta driver. I'll let you know iVRy if there are any problems. I'm on iOS 9 by the way.
  • edited August 5
    @GoDzViper That's a connection issue. USB or Wifi? Have you tried both? Have you tried the non-Nolo version of the SteamVR driver for comparison?
  • @iVRy Is there any way i can use the wireless mode with the phone plugged in so it can be used for longer? For some reason steam cannot detect it when its plugged in but it can when it is wireless yet my pc detects my phone is plugged in.
  • @GoDzViper ; No, although it may be an idea for the next version. Have you got iTunes installed? Can you transfer a track to your phone with iTunes? If that works but not USB on iVRy it would be extremely unusual.

  • @iVRy Silly question, there is no chance to use a powerbank?
  • @Tux0Topo ; Yes, one extra wire and thing to have on you though...
  • @GoDzViper ; Turns out there was a USB connection issue for iOS in some circumstances in some versions of the iVRy driver (ironically related to Android USB support in the driver), which has now been corrected.
  • Anyone wanting to use NoloVR with iVRy can either use the driver link posted in this thread, or the standard link displayed in the iVRy app, as (unadvertised) Nolo support is now part of the standard driver.

    The driver has been updated to correct USB issues on iOS and Android, issues that some users have with mixed GPU configurations and other general improvements (including support for latest Valve OpenVR SDK). The Nolo aspect hasn't been updated as no issues have been reported and there is no new SDK from LYRobotix. It has been tested with the latest 0.80 NoloVR software.
  • edited August 7
    There is a new version of the iVRy SteamVR driver with NoloVR support, which you can download from:

    http://www.mediator-software.com/iVRy/iVRy_SteamVR_NoloVR.exe

    This version utilises the new Nolo USB-HID SDK. This allows you to use iVRy and NoloVR without having to install the NoloVR PC software at all! :smile:

    If you do have the NoloVR PC software installed, you should probably exit it before using iVRy, as I haven't tested this version with the NoloVR PC software running. If you are only using NoloVR for iVRy, you can uninstall the NoloVR PC software, as that is only going to cause you issues (like having to manually disable the NoloVR SteamVR driver, having to redo SteamVR Room Setup etc.).


  • Android support soon? :)
  • @bigelowed ; This driver supports the Android version of iVRy already! :wink:

    The Android app is probably not going to be publicly available until early to mid September, as I don't have any time to work on it again until late August.
  • Ah yeah, that's what I meant haha
  • @iVRy The new driver didnt seem to fix it i still cant use a wired connection.
  • edited August 8
    @GoDzViper ; Did you try the driver from yesterday? Have you got iTunes installed? Can you transfer a track to your phone with iTunes? If that works but not USB on iVRy it would be extremely unusual.

    PS. It is much easier for someone to give tech support when you provide as much detail as possible about hardware/software/error messages/what you've tried etc., rather than the support person having to extract this information from you. Saves you and them a lot of time.

  • @iVRy Turns out iTunes wasn't up to date. After updating it seems to be working alright. Thanks for the help anyway.
  • edited August 9
    There is a new version of the iVRy SteamVR driver with NoloVR support, which you can download from:

    http://www.mediator-software.com/iVRy/iVRy_SteamVR_NoloVR.exe

    This driver fixes some usability issues with NoloVR.

    There is a new setting you can play around with to customise the iVRy NoloVR driver. You'll need to edit the 'steamvr.vrsettings' file and find the "driver_ivry" section. The following new setting is available:

    "touchpadSensitivity": > 0.0

    The "touchpadSensitivity" setting (default 1.0) will allow you to exaggerate/scale the touchpad values. This can help you reach the edges of the touchpad when it is not possible with your fingers/controllers. A value of 1.2 - 1.5 seems to be optimal, but that depends on your fingers and/or controller.

    When adding this line to the "driver_ivry" section, it's important to make sure that each entry is separated by a comma, and that there is no comma after the last line, for example:

       "driver_ivry" : {
          "address" : "10.0.1.12",
          "disableImuEmulation": false,
          "imuScaleFactor": 2,
          "touchpadSensitivity": 1.5,
          "driverMode" : 1,
          "useDeviceOrientation" : true
       },

    This driver also improves the IMU emulation when enabled in the 'steamvr.vrsettings' file. The IMU emulation is used for throwing (for example) and because it's emulated from a low frequency sensor, it is very noisy/jittery and hence only enabled when the trigger is down on the controller. This driver adds a 500ms delay to that, so the emulation will only be activated when the trigger is being held down for more than 1/2 a second. This allows the controller to be pointed at something and the trigger clicked without jitter.
  • Anyone wanting to try out NoloVR with an iPhone and SteamVR, can find the iVRy iOS app here:

    https://itunes.apple.com/us/app/ivry/id1210129937

  • There is a new version of the iVRy SteamVR driver with NoloVR support, which you can download from:

    http://www.mediator-software.com/iVRy/iVRy_SteamVR_NoloVR.exe

    This driver adds support for future versions of the NoloVR USB-HID SDK. The (new) USB-HID SDK (updated yesterday) does provide these, but it's not clear if it is simulating them (better than the release a few days ago) in the same way as the iVRy driver or using actual hardware values (they are still a bit jittery). As it turns out, simulated values don't work well (due to the slow tracking of NoloVR, as well as noisy positional samples). However the hardware does have real values and LYRobotix is working on further updates to SDK/driver/firmware which report the actual hardware values. In the event that this SDK is updated again before the next version of this iVRy driver is released, I've added support to the driver for using the real values when they become available. Once available this will improve the experience with controllers dramatically.

    There is a new setting to experiment with to enable this for the iVRy NoloVR driver. You'll need to edit the 'steamvr.vrsettings' file and find the "driver_ivry" section. The following new setting is available:

    "disableImu": true/false

    The "disableImu" setting (default false) will allow you to enable/disable the use of IMU velocity/acceleration. If the IMU is enabled, when used in conjunction with the "disableImuEmulation" setting, that setting will determine whether the IMU values are used all the time ("disableImuEmulation": true), or only when the trigger is held ("disableImuEmulation": false).

    When adding this line to the "driver_ivry" section, it's important to make sure that each entry is separated by a comma, and that there is no comma after the last line, for example:

       "driver_ivry" : {
          "address" : "10.0.1.12",
          "disableImu": false,
          "disableImuEmulation": false,
          "touchpadSensitivity": 1.5,
          "driverMode" : 1,
          "useDeviceOrientation" : true
       },


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!