LibreVR / Revive

Play Oculus-exclusive games on the HTC Vive or Valve Index, scroll down for downloads and installation instructions.
Other
3.62k stars 332 forks source link

The Walking Dead Saints and Sinners oculus crashes using Virtual Desktop on Quest. #1456

Open gleep52 opened 4 years ago

gleep52 commented 4 years ago

Describe the bug Using Oculus Quest wirelessly and Virtual Desktop to stream games. Launching The Walking Dead Saints and Sinners will bring up the unreal crash bug screen asking to send the reports onto the developer. I've been waiting for today's update to drop to include the fixes for TWDS&S but alas mine still doesn't work on Revive 2.0.0. :(

I did sign into oculus too if that makes any difference or not. I know this isn't a multiplayer game, but the oculus sign in is a new feature missing from previous versions so I'm sure I'm on 2.0.0. I also uninstalled Revive and rebooted, installed again, and problem still persists to bring up the unreal crash screen.

To Reproduce Steps to reproduce the behavior:

  1. Put on Quest
  2. Launch Virtual Desktop and connect to PC
  3. Launch SteamVR
  4. Launch Revive
  5. Launch The Walking Dead, Saints and Sinners
  6. Unreal engine crash screen appears

Expected behavior Expecting TWDS&S to load and play

Environment (please complete the following information):

Versions (please complete the following information):

AkibaAT commented 4 years ago

Oculus Virtual Desktop Streaming is currently not working with the game, Revive or not: https://steamcommunity.com/app/916840/discussions/0/1742265315846510814/

fholger commented 4 years ago

Unfortunately, the crash does not appear in Revive itself, which makes debugging this harder. Given that it does run with a Valve Index headset, it might not even be a Revive problem, but rather an issue with the VD driver. It's hard to say at the moment. I'll try to have another look at it.

CrossVR commented 4 years ago

I think it may be the absence of a hidden area mask. I don't think VD pipes that through and the game may be expecting a mask.

fholger commented 4 years ago

That sounds plausible. If I remember correctly, the error I did see involved vertex buffer allocations, so you could be spot on. In that case, we can probably at least work around it.

CrossVR commented 4 years ago

Yeah if it's a vertex buffer allocation failure then that's definitely the problem. Simple solution is to give it a buffer with only one triangle in it with all vertices set to 0.

Could be added as a game-specific hack to Revive or just something to do in general when retrieving the hidden area mask fails.

fholger commented 4 years ago

This is like peeling layers from an onion. I tried returning a fake hidden area mesh, and it definitely fixes the current crash. I briefly see the loading overlay, but then the game just quits. No crash, no error, logs or anything.

fridgy commented 4 years ago

Just wanted to add this, ALVR is also having the same issue.

dernPerkins commented 4 years ago

Tried this weekend to no avail. At first I was getting a "Out of Memory Allocating a Texture" issue with Unreal, I assumed unrelated to Revive, fixed by changing my Page File settings back to automatically managed by Windows. THEN game made it to the menu, but it doesn't appear on the headset? Now this was a issue with Asgard's Wrath in the past with Admin privileges needed for Revive and SteamVR. Except those are set and I have no idea what's happening.

P-I-Engineer commented 4 years ago

i'm getting a Unreal crash as well.

I crash back to steamvr home with the floor at my eye level.

image

simsetstreams commented 4 years ago

With hotfix #4 and following the guide posted by the devs, the game now just launches and crashes after some black screen time without any crash logs from UE

fholger commented 4 years ago

Question: is this worth investing time in? Virtual Desktop can now play Oculus games directly without needing Revive, so given that this may not be a trivial problem to fix, is there actually any benefit to it?

CrossVR commented 4 years ago

It's not that difficult to fix, it just needs a fallback path for when GetHiddenAreaMask() fails and then return a dummy mask. Basically it should return valid data for a tiny triangle at 0,0 for the hidden mask and two triangles covering the entire screen for the visible mask.

Might be worth doing that just to get people to stop flooding the issue tracker with bugs for unsupported SteamVR drivers (non-lighthouse drivers).

fholger commented 4 years ago

I did that, but TWD still didn't run. Hence why I'm asking if it's worth the effort. The hidden area mesh itself might be worthwhile, though, that's true :)

CrossVR commented 4 years ago

Interesting, I still think it's Hidden Area Mask related, can you make a pull request for the changes that you tried? I can review them for you, since it would be good to have that in anyway.

fholger commented 4 years ago

I saw you beat me to it, sorry. I still needed to clean up my experiment and didn't find time over the weekend :) Anyway, the issue with TWD and VD on my last try was that while this approach fixes the hidden mesh problem, another problem surfaced right after, so this is a real onion-layered kind of game to get working :D But I haven't tried with the most recent VD version, perhaps something was fixed on that end, too.