Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
135 stars 2 forks source link

Resonite freezes SteamVR output #159

Closed Ink-25 closed 9 months ago

Ink-25 commented 11 months ago

Describe the bug?

The VR video output freezes, but my Valve Index headset is still being tracked. Taking the VR headset off and putting it aside puts me into Resonite's desktop mode, but my Index still shows the last two frames of its output.

This also disables interaction with SteamVR from inside the headset, but is possible to open the SteamVR menu (you can hear the sound of it being opened, but it doesn't show on the VR displays).

After closing Resonite, with SteamVR still running, those two frozen frames are still shown in the headset.

To Reproduce

I usually just have to play for some time. Sometimes it happens within 5 minutes, sometimes it works well for over two hours. It happens often in my self-hosted worlds, but it also happens in other's worlds, it's definitely not exclusive to my worlds. I tested several worlds, it also happens in the default cloud home.

This issue happened on the following hardware:

Software versions:

The following are versions of NVIDIA's driver components: nvui.dll 8.17.15.3699 NVIDIA User Experience Driver Component nvxdplcy.dll 8.17.15.3699 NVIDIA User Experience Driver Component nvxdbat.dll 8.17.15.3699 NVIDIA User Experience Driver Component nvxdapix.dll 8.17.15.3699 NVIDIA User Experience Driver Component NVCPL.DLL 8.17.15.3699 NVIDIA User Experience Driver Component nvCplUIR.dll 8.1.940.0 NVIDIA Control Panel nvCplUI.exe 8.1.940.0 NVIDIA Control Panel nvWSSR.dll 31.0.15.3699 NVIDIA Workstation Server nvWSS.dll 31.0.15.3699 NVIDIA Workstation Server nvViTvSR.dll 31.0.15.3699 NVIDIA Video Server nvViTvS.dll 31.0.15.3699 NVIDIA Video Server nvLicensingS.dll 6.14.15.3699 NVIDIA Licensing Server nvDevToolSR.dll 31.0.15.3699 NVIDIA Licensing Server nvDevToolS.dll 31.0.15.3699 NVIDIA 3D Settings Server nvDispSR.dll 31.0.15.3699 NVIDIA Display Server nvDispS.dll 31.0.15.3699 NVIDIA Display Server PhysX 09.21.0713 NVIDIA PhysX NVCUDA64.DLL 31.0.15.3699 NVIDIA CUDA 12.2.135 driver nvGameSR.dll 31.0.15.3699 NVIDIA 3D Settings Server nvGameS.dll 31.0.15.3699 NVIDIA 3D Settings Server

Expected behavior

The VR display does not freeze anytime.

Video

https://youtu.be/nifnuWfcdUU

Resonite Version Number

2023.10.13.743

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index

Log Files

INK-PC - 2023.10.13.743 - 2023-10-14 13_51_40.log vrclient_Resonite.txt vrcompositor.txt

The issue has occured again at about 14:05:28 time of the log files.

Additional Context

I've had this occur with two, three and four lighthouses connected to my computer. Added later: Also now had it happen on a very laggy world hosted on a dedicated server, where it then ran again after 30-60 seconds (but desktop output was at a steady 60 FPS, despite VR output dropping from 30 to 0, completely freezing my headset).

Reporters

@Ink_25

Ink-25 commented 11 months ago

Had it happen with four lighthouses a couple times now, too.

Nytra commented 11 months ago

Does it happen in other VR games or just Resonite?

Ink-25 commented 11 months ago

Does it happen in other VR games or just Resonite?

Unfortunately it happens only in Resonite. (I also play a number of other VR titles, including Unity-based games, and none have had this issue thus far)

Ink-25 commented 10 months ago

As an update, it still happens every day I play, even on very well perfoming servers. I just have no clue as to what might cause it, starting and running it with SteamVR and then staying in Desktop works fine for hours (until Unity crashes).

Ink-25 commented 10 months ago

Just had my VR output freeze up again, so I went through SteamVR's System Report and will write down noteworthy excerpts of the logs I found, the full log will be attached to this comment. I can see in the vrserver.txt log near the moment the freeze happened at about 22:59:10-22:59:30:

Sun Nov 26 2023 22:59:26.341 [Info] - lighthouse: LHR-67CAF21B C: Trying to add a secondary base FFBFAFB5: Samples didn't yield successful bootstrap pose Sun Nov 26 2023 22:59:27.774 [Info] - lighthouse: LHR-721EF545 H: IMU went off scale.

In the vrcompositor.txt log I found this. but I have no idea what to make of it:

Sun Nov 26 2023 22:56:16.317 [Info] - Clearing dashboard transform because timed out Sun Nov 26 2023 22:59:12.661 [Error] - Aborting WaitEvent(CompositorPresent)! (n=1) Sun Nov 26 2023 22:59:12.661 [Error] - Failed to wait for GPU work Sun Nov 26 2023 22:59:13.661 [Error] - Aborting GetDeltas(Compositor) disjoint! (n=1) Sun Nov 26 2023 22:59:46.477 [Info] - Clearing dashboard transform because timed out Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0000] = 0x11 0x14 0xc4 0x01 0x01 0x00 0x01 0x00 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0008] = 0x02 0x02 0x00 0x00 0x00 0x00 0x00 0x00 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0100] = 0x14 0x84 0x00 0x01 0x01 0x01 0x01 0x10 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0108] = 0x01 0x00 0x02 0x00 0x00 0x00 0x00 0x00 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0110] = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0118] = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0200] = 0x41 0x00 0x77 0x77 0x01 0x03 0x11 0x11 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0208] = 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Sun Nov 26 2023 23:00:15.048 [Info] - DisplayPort_LinkInfo [0x0210] = 0x00 0x80 0x00 0x80 0x00 0x80 0x00 0x80

vrdashboard.txt shows this (the last line means "Error: Access denied"):

Sun Nov 26 2023 22:58:34.986 [Info] - WM_DEVICECHANGE message recieved. Sun Nov 26 2023 22:58:34.986 [Info] - DBT_DEVNODES_CHANGED: A device has been added to or removed from the system. Sun Nov 26 2023 23:00:15.025 [Warning] - OpenProcess failed for pid = 20192. Error: Zugriff verweigert (5)

The last lines of vrclient_resonite.txt are:

Sun Nov 26 2023 22:55:50.156 [Info] - RendermodelManager: name=trigger inputRouting=2 filename=trigger.obj Sun Nov 26 2023 22:59:13.660 [Error] - Aborting GetDeltas(Compositor Client) disjoint! (n=1) Sun Nov 26 2023 23:00:00.757 [Info] - [Input] Action Manifest Path set to 'F:/SteamSSD/steamapps/common/Resonite/Resonite_Data/StreamingAssets\SteamVR\actions.json' Sun Nov 26 2023 23:00:00.758 [Info] - Unknown action set /actions/default Sun Nov 26 2023 23:00:00.758 [Info] - Determined this is a steamvr_input app. Sun Nov 26 2023 23:00:00.758 [Info] - Determined this is a steamvr_input app.

In Resonite's log file I found this line, and it perfectly aligns with when my VR output froze up:

22:59:21.741 ( 45 FPS) DeviceClass: TrackingReference, error: TrackedProp_Success

I already updated the video card drivers and I'm frankly out of ideas of what to try next; any helpful input is welcome (message me on the Resonite Discord).

INK-PC - 2023.11.25.49 - 2023-11-26 22_55_30.log

Ink-25 commented 10 months ago

I believe to have found the reason of why this kept happening after looking into Windows Event Viewer again. https://learn.microsoft.com/en-us/answers/questions/1191960/how-to-solve-wmiaprpl-failed-with-error-code-devic Since I've performed the scan ( sfc /scannow ) and Windows applied the fix to itself it has not happened again, and right before that I had it happen five times in a row today. I will keep an eye on whether this is going to happen again, and if it does, I'll write here.

shiftyscales commented 10 months ago

@Ink-25 - when this happens, could you try pressing F8 to force-switch into the VR mode and see if it displays properly then? I've seen a few other users experience this issue- for some reason their headset's presence sensor will randomly decide to report they are no longer in their headset causing the desktop/VR hotswitch to activate and put the user into desktop mode.

But I believe this issue may be an external/hardware issue. It sounds like your headset is being momentarily disconnected for some reason:

Sun Nov 26 2023 22:58:34.986 [Info] - DBT_DEVNODES_CHANGED: A device has been added to or removed from the system.

Ink-25 commented 10 months ago

I had it happen again now (and of course forgot to press F8 and copy the logs), but I expect it to happen again today. @shiftyscales I'll have to try it, but force-switching into desktop mode looks different in the headset (and allows me to still access SteamVR, which I can't when the freeze happens). When it freezes, audio out- and input are still working, as is tracking, but video output is frozen to the last two frames in each eye shown by the Index headset.

Zyro1331 commented 10 months ago

I had an issue similar to this with basically any game on my RTX 2060 about two years ago, it was due to my GPU drivers behaving badly and I had to just use DDU to completely uninstall them and start fresh drivers again.

There could be an occurrence where you have a display adapter connected to your graphics card which could be interfering (Sometimes cheap HDMI to DisplayPort converters can cause issues, even if not connected to your headset.)

Also, make sure SteamVR is running in "Direct mode" so your headset isn't just being treated like another monitor attached to your computer.

Other than that, I don't have much comment as I cannot recreate the issue.

Ink-25 commented 10 months ago

Thanks for the input, Zyro :3 Pressing F8 unfortunately does nothing to my Index headset but switch audio in-/output to a different device when it happens. Had it happen about 10 times today, and no real differences in the logs to the previously documented case. I applied the advice of using DDU and uninstalled any display drivers that have been installed; then I went ahead and installed the newest Nvidia drivers for my GTX 1080 Ti. Due to time constraints I wasn't able to test it yet, but I'll comment when it happens again.

Ink-25 commented 9 months ago

I was finally able to reproduce the issue in another software (VTOL VR) with exactly the same behaviour: VR video output completely freezes, but other displays still show correct outputs and tracking. Closed due to this.

Ink-25 commented 8 months ago

As a post scriptum, I found it to be an issue related to Nvidia which other cards also have/had, and ultimately swapped my Nvidia 1080 Ti with a Radeon RX 5700 XT, which now runs smoothly, even with a lot less crashing. This bug is not related to Resonite itself.