Wednesday, October 5, 2016

[Resolved] SteamVR broken after Oct 4 SteamVR update

Problem is fixed

Many thanks to SteamVR devs who were very helpful and responsive during past 24 hours.

All you need to do is to update your SteamVR to the latest beta. Right click SteamVR in Steam library -> Properties -> Beta -> Select "SteamVR beta" in the dropdown box.


The fix is live in stable SteamVR update channel! Let your SteamVR install any pending updates and you're good to go. You might need to restart Steam to get latest updates.



After latest SteamVR update an important component stopped working in SteamVR. New SteamVR version is using undocumented closed code which broke VRidge.

We are surprised that they pushed the beta runtime into live channel without updating their documentation first even after multiple developers* reported the problem to Valve as compatbility breaking.

It's hard to fix a problem without proper documentation or at least an explanation what changed inside the black box. We'll continue to search for a quick workaround. We'll also try to reach out to SteamVR team through more channels than we already did.

It's middle of the night here and I don't have all the information yet.  This post will be updated with more news as soon as we know more.

*
https://github.com/OSVR/OSVR-Vive/issues/21
https://github.com/ValveSoftware/openvr/issues/276
https://steamcommunity.com/app/358720/discussions/0/343786746012512454/



Past updates:

Update @T+30mins:
We received response. SteamVR beta update with a fix should be available this afternoon or tomorrow (Seattle time). Switch to SteamVR's beta channel to make sure update is installed as soon as it's available.

Update @T+60mins:
SteamVR beta update is deployed. We are investigating remaining compatibility problems.

Update @T+80mins:
The problem still occurs but the characteristics changed. We are trying to find out why the new version still has this issue.

Update @T+120mins:
Many thanks to Valve for quick updates. They are investigating update changes further.

Update @T+12 hrs:
We're eagerly awaiting Seattle office hours to hear back from Valve. In the meantime we're trying to develop an alternative capture method that doesn't rely on direct mode driver compatibility.

Update @T+18 hrs (Oct 5 - 10:00 AM PDT, 1:00 PM EDT, 19:00 CEST):
The problem has been escalated further by SteamVR devs. We are thinking about creating temporary SteamVR driver rewrite but we're still estimating the scope of work needed to do so. We updated our main site with a site-wide notification about this problem.

Update @T+20 hrs (Oct 5 - 12:00 PM PDT, 3:00 PM EDT, 21:00 CEST):
An update has been released to SteamVR's beta channel. After updating SteamVR the issue should be resolved. Both Riftcat beta and stable channels seem to work correctly. We're running some more tests to make sure everything else works fine.

Update @T+22 hrs (Oct 5 - 2:00 PM PDT, 5:00 PM EDT, 23:00 CEST):
The fix is live in stable SteamVR update channel! Let your SteamVR install any pending updates and you're good to go. You might need to restart Steam to get latest updates.

Friday, September 9, 2016

Dev update #22 - Gear VR first release


Update: If you experience jittery streaming on your Samsung device, see this topic:
https://support.riftcat.com/hc/en-us/articles/211516609

---

Gear VR edition is out! You can now download and install it and use full power of your Gear VR sensors. Scroll down for instructions and known issues.

VRidge for Gear VR


Yesterday evening our submission was approved at SideloadVR. Even without a blog post or Facebook/Twitter update some of you found the app minutes after it became available. It had several hundred downloads after few hours. It's amazing how fast you guys are!

It's the first version and some bugs are present but we'll keep bugfixing everything as soon as we can. The first bugfixing update (version 2) should be available shortly after this post is published. 

Instructions

You need SideloadVR which repackages VRidge .apk file for every user individually. It's needed because you can't easily install 3rd party Gear VR apps from outside of Oculus Store.

Remember that you need to turn Gear VR service back on (with CB enabler or any other app you used to disable it) if you disabled it to use your Gear VR as cardboard viewer. If you don't do it, no Gear VR apps will launch (tapping icon will not open anything).

Short version:
  1. Install SideloadVR and run one-time configuration.
  2. Install VRidge for Gear VR
  3. Start VRidge for Gear VR from your app drawer and pair it on the desktop side.
Detailed instructions:
  1. Install SideloadVR on your Samsung device
  2. Follow in-app introduction to complete one-time setup
  3. Go to Browse Marker in left drawer menu.
  4. Find VRidge for Gear VR by RiftCat Sp. z o. o. and install it by clicking top right button.
  5. You will see Android app installation popup. Some Samsung devices may treat unknown apps as unsafe and you might need to confirm it multiple times that you want to install the app.
  6. Launch the VRidge for Gear VR app in your Android app launcher.
  7. Pair it with desktop app (same as the regular app - full instructions here)

Known issues

Entries marked with * should be fixed with version 2 released today.

*Double vision / lack of stereoscopy

Few people reported double vision because images are aligned incorrectly. Some of you noticed that the picture is not stereoscopic. You're right, the first version has left eye duplicated twice on the left and right side. This should be fixed by today's update. We were playing around with stereoscopic/monoscopic views and somehow we pushed the wrong version into release channel. Sorry!

*App treated as unsafe by Samsung

Some Samsung Android OS versions were showing big red warning that app is unsafe and you shouldn't install it. We removed some permissions and the warnings should be gone. The permissions were there because Cardboard SDK needed them.

*Green/garbled stream 

Some of you reported that they can't see anything because view is all messed up. This happens on beta version of VRidge Cardboard app too and can be fixed by disabling automatic stream fixes in mobile settings. We're disabling this by default for Gear VR edition since Samsung devices handle stream without any problems anyway and don't need those fixes - "if it ain't broke, don't fix it". Hopefully disabling those fixes won't cause any problems. We might need to add per-device user switch if it does.

Latency / delay

Some of you reported unusually high latency. Delay will be obviously bigger vs regular Gear VR apps because we need to stream frames from the PC but it should be still in comfortable range. If you experience large delays please e-mail us at support@riftcat.com and include your Samsung model number and Android OS version. You can it in Settings -> About phone screen.

We will keep tuning the prediction values to reduce the latency. We might need to find the right balance between jitter and floatiness/lag. If you find the current experience comfortable, shoot us an e-mail and describe how it feels. If you give us enough feedbacks we might introduce some default presets + extra sliders so people can fine-tune the tracking.

Thursday, August 25, 2016

Dev update #21 - Legacy GPU support




Update on Gear VR (1 September):
We managed to fix known bugs but we still need to shuffle some code and run some tests after. We will try to finish all the release prep work before Monday so we can submit the app to Sideload VR early next week. Sorry for being late!

---

This is a small update, not the one with Gear VR support. Minor bug fixes and a new software encoder for some older GPUs. Desktop app version is 1.1.2 and it's available in beta channel.

Software encoding

Many people kept asking us to introduce support for video cards other than modern GeForces and Radeons. We added Intel HD Graphics support (starting with Intel Core 4000+ processors) but it wasn't enough.

Today we bring full software encoding capability for all systems running Windows 8.1+. This will allow you to run VRidge on any system that can launch your games in VR. There will be of course limitations and game / SteamVR / Oculus hardware requirements still apply but no extra hardware will be required by VRidge.

This mode is last resort option and is automatically pre-selected only if no modern video card is detected on the system. This puts high load on your CPU (depending on video resolution but good CPUs can encode 1080-1440p in real time). It may also add some latency depending on your CPU performance. It's the worst decoder out of all the options but it's the best one where none of the other options work. 

New software encoding option

Bugfixing

  • Sometimes SteamVR wasn't launching VRidge server properly. An extra option was added to desktop app settings. If you check it, it will run some extra checks during launch process to make sure VRidge server starts properly.
  • AMD "Not enough storage" or "Signature verification error" error will now ask if users wants to open troubleshooting page for this error.
  • Old NVIDIAs (pre-Kepler chipset) will no longer default to NVENC encoder. It will now offer new software encoder.
  • Changed MF's default encoding profile to 100. It shouldn't cause any problems but if it does, go to Riftcat\Config, open vridgeQuality.cfg with notepad and change UseLegacyProfile to true. Setting it to legacy profile may affect Android device compatibility.
  • Minor text fixes.

GearVR news

We contacted SideloadVR to make sure we have some platform to launch on. If they don't agree to host VRidge we'll have to create our own repackaging service to bundle user signatures. This shouldn't be too hard but may delay release for few days if SideloadVR crew refuses to host VRidge.
There is one major bug to fix and we're good to go. Expect more news and, if everything goes well, an apk file next week.

Dev update #21 - Legacy GPU support




Update on Gear VR (1 September):
We managed to fix known bugs but we still need to shuffle some code and run some tests after. We will try to finish all the release prep work before Monday so we can submit the app to Sideload VR early next week.

---

This is a small update, not the one with Gear VR support. Minor bug fixes and a new software encoder for some older GPUs. Desktop app version is 1.1.2 and it's available in beta channel.

Software encoding

Many people kept asking us to introduce support for video cards other than modern GeForces and Radeons. We added Intel HD Graphics support (starting with Intel Core 4000+ processors) but it wasn't enough.

Today we bring full software encoding capability for all systems running Windows 8.1+. This will allow you to run VRidge on any system that can launch your games in VR. There will be of course limitations and game / SteamVR / Oculus hardware requirements still apply but no extra hardware will be required by VRidge.

This mode is last resort option and is automatically pre-selected only if no modern video card is detected on the system. This puts high load on your CPU (depending on video resolution but good CPUs can encode 1080-1440p in real time). It may also add some latency depending on your CPU performance. It's the worst decoder out of all the options but it's the best one where none of the other options work. 

New software encoding option

Bugfixing

  • Sometimes SteamVR wasn't launching VRidge server properly. An extra option was added to desktop app settings. If you check it, it will run some extra checks during launch process to make sure VRidge server starts properly.
  • AMD "Not enough storage" or "Signature verification error" error will now ask if users wants to open troubleshooting page for this error.
  • Old NVIDIAs (pre-Kepler chipset) will no longer default to NVENC encoder. It will now offer new software encoder.
  • Changed MF's default encoding profile to 100. It shouldn't cause any problems but if it does, go to Riftcat\Config, open vridgeQuality.cfg with notepad and change UseLegacyProfile to true. Setting it to legacy profile may affect Android device compatibility.
  • Minor text fixes.

GearVR news

We contacted SideloadVR to make sure we have some platform to launch on. If they don't agree to host VRidge we'll have to create our own repackaging service to bundle user signatures. This shouldn't be too hard but may delay release for few days if SideloadVR crew refuses to host VRidge.
There is one major bug to fix and we're good to go. Expect more news and, if everything goes well, an apk file next week.

Thursday, August 18, 2016

Dev update #20


It's been a while since our last updates. Some of us took few days off to enjoy some of the summer sun but we're now back in full force and ready to code some VR!

Gear VR edition progress update

Last week we managed to put together core components of GearVR version. We already have working internal version which benefits from fast and stable sensors. Latency is a bit better because of more frequent updates of head rotation. The whole experience is noticeably smoother and has no drift.

Because of similar concepts in both Android and GearVR versions we decided to spend some time to extract as much as we could into shared library to make further developement faster. There is still some work to be done in terms of stability and user experience but things are really looking good and we are satisfied with progress. There is no release date at present but some test version should become available this month. It's now a matter of weeks, not months.

There's a really nice thing about Gear VR native API. We can set CPU frequency to lower (reducing battery drain and heat generation). We hope that it allows to run long Gear VR sessions without overheating.


Soon™

Phone compatibility

We spent a lot of time trying to fix some of the problems experienced by specific phone models (Zenfone 2, Galaxy S4, Redmi Note 2/3, Huawei Honor 4C/P8 Lite). This process takes a lot of time because those problems happen only in very specific configurations that we cannot reproduce with our hardware. There will be beta mobile update tomorrow that will include some extra fixes for Zenfones 2 running Android OS 5.0 (Zenfones 2 updated to 6.0 should work already in beta channel).

If you still experience problems after tomorrow's update (mobile app ver. 1.1.1b) use the Diagnostics mode available in settings and send us logs again. We only received several reports this month and percentage of users reporting problems went down significantly so it means that some fixes in fact worked. 

We'll try to get more phones at the office but since those problems are caused by undefined set of conditions it's not easy because the same model (Samsung S4 for example) can use different hardware for European and American variants. That's why this takes so long. We create a potential solution -> send it to testers -> receive reports -> figure out what went wrong this time. Add some delays for each of the steps above (timezone differences, work schedule, people leaving for a weekend) and it turns out that testing simple fix can take few days.

What's next?

We're gonna refocus more on feature development now because fixing some of the phones (paragraph 2) only affects a very small subset of our users. There are few devices that absolutely dominate the Android market - Galaxies, LGs, OnePluses, Nexuses (or is it Nexi?) - and we want to add some new stuff for people using those phones too. At this point it's probably easier to add Android 4.x support or older GPU support than to fix the mysteries of some of the phone models listed in paragraph 2. There are quality improvements possible, latency optimization, overheating prevention, SteamVR features - a lot of things that are very important to us.

Currently we're aiming to release GearVR edition for public testing (through SideloadVR or similar solution) in the next 14 days. We don't expect to hit any major roadblocks.

P.S. Someone add VR support to No Man's Sky, please! 

Friday, July 29, 2016

Dev update #19


Desktop update 1.1.1:  deployed.
Android update 1.1.0b: available in few hours (beta channel)

Phone compatiblity (beta channel)

Making VRidge compatible with every kind of hardware is challenging task. We've been fixing phone hardware specific issues since the first release and we successfully got couple of hundred models working without major problems (other than heat generation).

But there are still some models that require our attention. The most common ones are
  • Asus Zenfone 2 (or other Intel chipset phones)
  • Galaxy S4 (some variants)
  • Huawei Honor 4C and P8 Lite (and possibly more Kirin chipset phones)
  • Redmi Note 2 and 3 (and more MediaTek Helio X10 chipset phones)

Thanks to some tips from cgutman (author of Android's well-known Moonlight) we now have some knowledge why some problems are happening and how to fix them. Moonlight is known to work great on nearly all Android devices and this is an example for us on how to make great streaming app.

This is only small subset of all the chipsets out there
In this beta update we bring many fixes targeted for specific models.We don't expect that everything will now start magically working because it's only first wave of the fixes but we are also adding something that might be really helpful to catch all the streaming and rendering bugs in the future - detailed logging mode.

Detailed logging mode (beta channel)

If you experience high streaming aritfacting and/or crashing and you have one of the devices listed in paragraph above please go to mobile app settings -> Diagnostics and enable diagnostic mode. This will log many VRidge events to a log file stored on your mobile (up to 5MB, don't worry about device space). There is also a button that will simply send all stored events with your GPU & OS info to us. There is no personal information sent - you can review the information sent by tapping [See logs] before sending.


Example diagnostic log

Fixed update failing because of Steam (stable channel)

This is very small fix but we are pushing it into stable channel. Some of you were getting failed updates because Steam was running in the background with a file lock on our driver.

No more "update failed" without a reason

GearVR edition update

The GearVR development is going really well. We ported large majority of our codebase and we already have internal testing version that streams and uses GearVR sensors. It's not a 100% promise but we hope to have a publicly testable version later in August. 

Remember that VRidge purchase is universal unlock. If you bought the unlimited version, you'll get GearVR edition too. No need to pay multiple times for the same product on different platforms.

Beta discount extended

When we released our app we gave all beta testers a discount of 50% valid until one month after release. Unfortunately due to some unforeseen circumstances we weren't able to deliver updates as fast as we wanted so we decided to extend the discount until at least GearVR edition is out in stable form. 

What's next?

GearVR development will continue and we hope to receive many diagnostics logs from you with the new logging option so we can have a better insight on what is happening in your device when VRidge fails. We'll also explore additional payment options because there are many people that can't use PayPal. iOS edition is scheduled for development after GearVR edition is out.






Thursday, July 14, 2016

Dev update #18

Quick update (beta channel): 
1.1.1 desktop update deployed with minor background fixes. Many phone specific fixes, extended diagnostic mode + blog post coming tomorrow (2016/07/29). 

If you get "Update failed" exit Steam before the RiftCat update begins.
---

Finally we can release our multi-channel updates. It took us longer than expected but we wanted to make sure that we don't mess anything up with updater because having bugs in update process may result in forced reinstall and we don't want to waste your time with that.

We wrote about it in our previous blog post but here's a copy-paste description of update channels:
  • Beta update branch will be updated few times a month (probably once a week like we used to do in beta phase). Use it if you want to be first to access new features and bug fixes.
  • Stable update branch will be updated less often, every few weeks. We don't want untested changes going live for everyone as forced update.
  • Previous stable updates will contain stable versions from the past. If somehow beta bugs make it into stable branch you will be able to switch back to previous versions and ignore updates.

This will not always work. For example, VR SDKs, graphics drivers or some other condtions can change in a way preventing backwards compatibility. We're not always in control but we will try our best to give you the most options.



What's next?

GearVR version is still in development. Most of boring groundwork is already done and we hope to run some in-office streaming tests in upcoming weeks. We are still on track to release GearVR for public testing this summer. We're also gonna spend some time fixing some incompatible phones so expect some news on that next week (hopefully).