Wednesday, July 11, 2018

Dev Update #41 - VRidge 2.2 Beta (Controllers & Jitter fix)

VRidge 2.2 Beta is now available

Today we're releasing beta version of 2.2 update which mostly targets high-end VR devices. Until now, Vive Focus, Daydream-ready, Gear VR and Oculus Go were performing similarly to any other mobile phone. We want to change it and utilize those devices to unlock their full potential. Some improvements are also available for older devices but the most interesting changes apply to devices below.

To learn how to join beta testing, see the article here.

Deployment status:
Viveport: in beta @ 2.2.3 (available in Viveport)
SideloadVR: in beta @ 2.2.3
Google Play: in beta @ 2.2.3 (join)



Vive Focus and Oculus Go

Vive Focus and Oculus Go should now work out of the box with mainline RiftCat/Vridge. Easier Oculus Go distribution method is not yet implemented so you'll need manual installation (via ADB) until we finish a better option. Please see this article:

Mobile controllers

Following controllers are now supported:
  • Vive Focus Controller
  • Daydream Controller
  • Gear VR Controller
Controller uses virtual arm-elbow-wrist model so even with only 3DOF rotational sensors, it feels quite natural to move and wave. You can grab in-game katana and slice those fruits in very natural motions. It also allows you to navigate SteamVR dashboard in a easy way to switch between VR apps without taking off your headset.

All controllers are built differently with various button setups. Most of those hardware buttons are unfortunately unmappable so we came up with a solution that emulates missing buttons.

As a reference we used Vive wand, which is supported properly by nearly all VR games. It has:
  • Touchpad
  • Trigger
  • Menu (button above touchpad)
  • System (button below touchpad)
  • Sidegrip (controller side button)

Mappings

We've mapped missing buttons to reflect position of buttons on Vive wand. For example, the System button is located below touchpad on Vive wand and is emulated by pressing bottom part of the touchpad on a mobile controller. Same goes for other sides.

Advanced users may want to adjust the threshold where touchpad registers emulated buttons by adjusting EmulatedControllerButtonBoundary line in vridge.cfg. Default threshold is 10% of touchpad.

"EmulatedControllerButtonBoundary": 0.1


Vive Focus Controller

Bottom button is unmappable and recenters view on system level.
  • Trigger: Trigger (0/1 only, no analog state is available)
  • Touchpad: Fully mapped to Vive stick
  • Menu: Pressing upper part of the touchpad
  • System: Pressing the button below the touchpad (same position relatively as Vive stick)
  • Sidegrip: Pressing touchpad left or right side

Gear VR / Oculus Go controllers

Controller Home and back buttons are unmappable. Long pressing home recenters view on system level.
  • Trigger: Trigger (0/1 only, no analog state is available)
  • Touchpad: Fully mapped to Vive stick
  • Menu: Pressing upper part of the touchpad
  • System: Pressing lower part of the touchpad
  • Sidegrip: Pressing touchpad left or right side

Daydream View Controller

Bottom button is unmappable and recenters view on system level. The controller doesn't have a trigger and only has one mappable physical button so it's used as trigger.
  • Trigger: Pressing the button below the touchpad
  • Touchpad: Fully mapped to Vive stick
  • Menu: Pressing upper part of the touchpad
  • System: Pressing lower part of the touchpad
  • Sidegrip: Pressing touchpad left or right side

Jitter improvements

If you're using one of the high-end devices targeted in this update, the jitter should no longer be a problem for you. We've been working on it for a while developing Vive Focus version and we found that we can apply those improvements to all high-end environments (Vive Focus, Gear VR, Go, Daydream).

Your head movements should now be instantly reflected as rotation of the view. This may cause you to see black borders where the real rendered image isn't yet caught up to your head rotation but we want to improve prediction to get rid of those too.

This should bring jitter and perceivable rotational latency to native mobile VR level. You may want to use Reliable streaming mode (in advanced streaming settings) to prevent artifacts. Previously it could cause hiccups / stutters which no longer should be the case on high end devices.

Automatic FPS adjustment

We changed the 30/60FPS switch to Native and Half-Native. This will automatically detect your device display refresh rate and set appropriate FPS to match your device.

Advanced users may override it in vridge.cfg. For example, if you'd like to use 45 FPS, use:

"Video.FPS.Mode": "Custom",
"Video.FPS.Value": 45,

Detected refresh rate is displayed in advanced video settings GUI after connecting your phone.

New FOV calculations

Field of View and aspect ratio should now be correctly adjusted to any screen aspect ratios. This may alter the way your view is aligned so if you're using custom Cardboard, make sure that you scan its QR code in Daydream settings to configure lens distortion.

Minor changes

  • Reduced VRidge's CPU load by 30-40% when using NVENC.
  • Recenter should now recenter API-powered controllers.
  • Disabled option to switch HEVC encoder in live settings view. This would freeze the mobile stream until restart.
  • Added Project Cars tutorial to Discover view.
  • Tethering tooltip no longer clips in certain localizations.
  • VRidge settings should no longer incorrectly stay on top of all windows in certain cases.
  • Mobile app should no longer crash on reconnect sometimes.
  • VRidge Gear VR should no longer become stuck on app pause/inactivity.
  • Lobby text ("Connected, waiting for SteamVR" should no longer become stuck and displayed on top of streaming window.
  • Updated Google VR SDK to 1.80.
  • Removed artificial +170cm HMD height that could sometimes cause incorrect API controller calculation when paired with headset that didn't send positional data.

Closing notes

This update changed critical parts of VRidge technology stack so please let us know if we altered something in a way that worsens your experience. In the upcoming weeks we'll be focusing on ironing out the wrinkles and bringing it to stable channel while also enabling an easier installation method for Oculus Go and Gear VR.

As always, thanks for your support feedback. We hope that you're going to have more fun using VRidge with update 2.2.

24 comments:

  1. Not working good for me. Using lg g4. The fov now for me is way better, yet the problem is that this version seem to use much more resources than previous cpu or gpu. Fallout 4 vr used to be smooth now becomes unplayable but mirror image is smooth. I must mention that i also use the driver4vr for leap motion and kinect. Anyway hope this version will be as smooth as previous cause new fov for mr is way more immersive.

    ReplyDelete
    Replies
    1. Could you contact us at support@riftcat.com with log files as desscribed here:

      https://support.riftcat.com/hc/en-us/articles/208781529

      We mostly want to find your PC specs and stream parameters there to find potential causes of the performance problems.

      Delete
  2. Will test this when I get home for sure

    ReplyDelete
  3. Nice update :)..

    By the way, I want to ask about vridge on sideloadvr, can it connect to moonlight too?
    Or this no jitter mode is not using moonlight?

    Which one better, with moonlight or not? ( For gear vr using sideload vr )

    Thankss

    ReplyDelete
  4. This comment has been removed by the author.

    ReplyDelete
  5. I finally got the app extracted and installed to my Go. Super confusing with so many old links, different versions on my Go and naming conventions changing all the time. Anyway, the geometry is all messed up. I seem to be laying down, inches from the floor and the controllers are at my waist. SteamVR only loads if the Nolo controller is in use so I not sure if Nolo is the problem. Should Nolo be working in this version or is there a way to load SteamVR without it? Thanks!

    ReplyDelete
    Replies
    1. Success! I deleted all the old versions and side loaded the app again. All is now OK. Looks great! Now to dive it and try out the great new functions. Thanks!

      Delete
  6. Also, my Go headset is now overheating whereas that never happened on the 2.2.2 pre-beta where geometry was fine as well

    ReplyDelete
  7. i got to say this will help me with my vr Thanks for the update!

    ReplyDelete
  8. when will you make it work with psvr like the trinus psvr?

    ReplyDelete
  9. When i try to launch this version it has a popup from steam saying that steam vr could not launch. I checked steam and made sure it and steam vr are both up to date. Does this mean that i have to wait for the initial release of this version or is there something i can do to fix it.

    ReplyDelete
  10. This update is amazing. No more Gear VR stutter on Gear 2015 and Samsung Galasy S6. Thank you very much.

    The only weirdness with this update is that the "Recenter HMD" behavior when tapping the center button on the Gear VR pad doesn't work as it used to anymore.

    ReplyDelete
  11. Where is this "Reliable streaming mode"? On the Riftcat UI or on the mobile client? I don't see it anywhere. Please help - I have pretty bad artifacts.

    HEVC appears to have a much lower frame rate then NVENC.

    Also, sometimes when switching video encoder and then starting the stream, I get a 2d surface in the VR display that looks like a clipped viewport. When starting a VR title, that viewport remains present in the VR display.

    ReplyDelete
  12. software streaming is getting WAY better and the gear vr controller support is mind blowing!!! just one issue media foundation streaming is by far the worst experiance (im using a R9 270X {i7-5820K CPU}, although its a bit old the first vridge 2.0 worked fine, while 2.1 i saw some slowdown an thought nothing of it), im wondering if others have had similer issues with older cards?

    on another note:
    you guys are doing AMAZING work, the controller support is beyond perplexing, i dont know how you did it, but by god is it worth EVERY PENNY.

    ReplyDelete
  13. can it support two gearvr controllers?

    ReplyDelete
  14. Does honor 7a with amd radeon 4core(laptop) matches with a simracing game?

    ReplyDelete
  15. So does this mean that we could use a daydream controller with a non-daydream phone and have it work? I've got a Galaxy S6, which of course won't do daydream or anything, and I don't have cash for a Gear VR, but I could get my hands on the daydream controller. Would it still work then?

    ReplyDelete
  16. Is nolovr not working in this beta? I have an s9 with gearvr, nolo headtracker is plugged in, the prompt comes up and then a grey screen followed by the oculus home starts up instead of any stream. Without nolovr the vridge stream works.

    ReplyDelete
  17. I'm having a problem when trying to click Play button and VR server just stop working, everything is updated and freshly installed, any ideas how I can get this beta to work? I'm using a S7 with GearVR. Thanks.

    ReplyDelete
  18. Is there any way of emulating two controllers?
    I have a game where I need to pass through calibration and it requires me to press both triggers.

    ReplyDelete