Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
118 stars 1 forks source link

Consider having VR Hotswitching disabled by default/Issues with HMDs with broken presence sensor #1765

Open xantoz-vrc opened 2 months ago

xantoz-vrc commented 2 months ago

Describe the bug?

In some HMDs the sensor that detects whether you are wearing the HMD or not is notoriously unreliable, and often broken. This could result in cases when a novice user starts Resonite in VR mode and all they are greeted by is a black screen, and with no knowledge on how to resolve the situation; all because the HMD is wrongly reporting that it isn't being worn.

In fact I have helped friends, who even aren't complete novices, troubleshoot this issue before and it was pretty tedious with having to instruct them to start into desktop mode just to disable VR hot-switching.

To Reproduce

Use an HMD with a broken presence sensor and start Resonite for the first time.

Expected behavior

Starting Resonite even with a broken presence sensor should not result in a completely black screens in the HMD and a confusing situation. This is particularly important for new users.

I would suggest having VR hotswitching be off by default. Alternatively something like ignoring the presence sensor value in the presence of HMD movement or something, but this would be really tricky to design correctly.

Screenshots

No response

Resonite Version Number

My friend was at the time running Beta 2024.4.3.1170

What Platforms does this occur on?

Windows

What headset if any do you use?

Vive Pro

Log Files

I have no logs, since this happened to a friend and not me personally. My VP presence sensor is currently functioning most of the time (but not always...)

Additional Context

No response

Reporters

No response

xantoz-vrc commented 2 months ago

Perhaps I should've marked this "enhancement" and not "bug". First time posting an issue here, sorry about that.

BlueCyro commented 2 months ago

Just as an FYI, that doesn't appear to be a valid Resonite version number. You can find the version number in the home screen of your dash in the bottom right.

xantoz-vrc commented 2 months ago

Just as an FYI, that doesn't appear to be a valid Resonite version number. You can find the version number in the home screen of your dash in the bottom right.

Ah. I picked the build number from Steam... For this issue the version number isn't all that relevant however (this really shouldn't have been reported as "bug") But thanks, that will help me make a better issue next time when the version number actually matters.

Edit: fixed the version number in the original post

Frooxius commented 2 months ago

Did this actually happen to you or another user with broken sensor, or are you speculating it would?

We actually have a heuristic that tries detect broken or not working sensor specifically for reasons like this and users without functioning sensor should just stay in VR, without Resonite ever switching back to desktop.

xantoz-vrc commented 2 months ago

Did this actually happen to you or another user with broken sensor, or are you speculating it would?

We actually have a heuristic that tries detect broken or not working sensor specifically for reasons like this and users without functioning sensor should just stay in VR, without Resonite ever switching back to desktop.

It happened to another user with what I presume is a broken presence sensor in their VP (or at least malfunctioning at the time) Turning off hotswitching fixed their issue.

Frooxius commented 2 months ago

Would you be able to get logs from that session?

xantoz-vrc commented 2 months ago

Would you be able to get logs from that session?

How long are logfiles saved? (also where?) I could ask my friend to grab all logs from that date if he still has them. Pinpointing the exact session might be difficult, unfortunately (multiple restarts etc.)

It'd be somewhat difficult for me to reproduce the condition, since my presence sensor works most of the time. I'd have to open the HMD and disconnect it, and I'm not even sure if that will default to always-on or always-off.

Frooxius commented 2 months ago

They're in the Logs folder in the Steam install.

Hmm it might be tricky with that. If we got someone with malfunctioning sensor, it could potentially help to reproduce this. We can do some improvements blind too potentially.

xantoz-vrc commented 2 months ago

For further reference I remember it as everything working normally for them first, but then I believe they crashed somehow -- or at least they suddenly disconnected -- and after that they started Resonite again and that's when they said they had issues with black screen in the HMD etc. Could potentially also be something like the sensor starting to act up during the first session? I don't have all the info.

I have asked if they can send me the log files.

shiftyscales commented 2 months ago

While looking into this issue, I rediscovered a comment/issue I'd previously identified in https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/1373#issuecomment-1954902221.

Even with a headset not connected to Resonite at all (e.g. launching in screen mode with no VR funcitonality) the output of the Is User Present In Headset node defaults to True.

I'm not sure if it's related to this issue- but I think it might be worth looking into @Frooxius.

While investigating this issue, there were some anomalous findings.

image

I launched Resonite in screen mode- no headset connected at all, and despite this- Resonite is reporting that I am present in a headset.

This could be related to this issue. Seeking feedback from @Frooxius or @ProbablePrime.

I double-checked and this behaviour still occurs even in the current build. If it is detecting a user is present in headset, even when there is no headset connected at all- this suggests there may be some underlying issues in our detection mechanism.

image

ultrawidegamer commented 1 month ago

I've seen this issue occur about a dozen times with other users. For me, it was happening so consistently that I had to press F8 several times an hour. I've since switched to putting a piece of tape over my headset's sensor and disabled hot switching. However, if you need logs, I can remove my fix to see if I can reproduce the issue and then provide some logs.

shiftyscales commented 1 month ago

When did you last attempt to use that functionality, @ultrawidegamer? And for reference, what headset are you using?

As Frooxius noted above:

If we got someone with malfunctioning sensor, it could potentially help to reproduce this.

So if you are willing to work with us on this issue/provide logs as needed we could ideally improve the heuristics/detection of this functionality so users don't need to disable it, even if their presence sensor is malfunctioning.

ultrawidegamer commented 1 month ago

@shiftyscales I have a quest2 and I have had this feature disabled since about november

shiftyscales commented 1 month ago

Hmm- how do you have your Quest connected- Oculus Link (cable), Oculus Airlink (wireless), a third party streaming service, e.g. Virtual Desktop, ALVR?

Does it make any difference whether you use SteamVR, or the Oculus Native runtime (launch Resonite with the -RiftTouch command line argument while SteamVR is closed)?

A different user in #1490 had mentioned issues with their Quest 2's presence sensor- in particular when making use of the headset's passthrough feature- does your headset's presence sensor fail under additional/different circumstances @ultrawidegamer?

ultrawidegamer commented 1 month ago

my sensor fails in a lot of different scenarios including if im just wearing it normally (might be not detecting correctly because of the distance from face) and i use my headset with Oculus Link. I will also give the different runtime a try to see if that affects it differently

ultrawidegamer commented 1 month ago

I was only able to reproduce the issue with my latest setup by taking the headset off and putting it back on. I also tested it with both the SteamVR and Oculus runtimes. With the Oculus runtime, I took my headset on and off repeatedly for about 10 minutes without being able to reproduce the issue. However, with the SteamVR runtime, I was able to reproduce the issue the first time I took my headset off and put it back on. It appears to be related to the SteamVR runtime, and I have attached the logs from when this occurred. log.log

Also, for context in my log I manually re-enabled VR mode with F8 because it black screened on me

xantoz-vrc commented 1 month ago

I have log files from my friend at the date the problem manifested. Probably the first two are the most interesting. The second being where I presume they experienced the black screen in HMD issue.

DESKTOP-SCC2OGG_-2024.4.3.1170-_2024-04-15_22_30_40.log DESKTOP-SCC2OGG_-2024.4.3.1170-_2024-04-15_22_37_22.log DESKTOP-SCC2OGG_-2024.4.3.1170-_2024-04-15_22_45_28.log DESKTOP-SCC2OGG_-2024.4.3.1170-_2024-04-15_22_51_54.log

Edit: Since I have the logs now I can yet again update the version number in the original post