jamesstringerparsec / Easy-GPU-PV

A Project dedicated to making GPU Partitioning on Windows easier!
4.24k stars 426 forks source link

closing SteamVR causes BSOD on host PC #364

Closed ericytsang closed 5 months ago

ericytsang commented 6 months ago

it was really awesome that I was able to play VR on the guest VM while my friend was playing VR on the host PC so we could play co-op VR games together.

ran into an annoying problem, but not a blocker.

I get this BSOD on the host PC (not guest VM) when exiting SteamVR only after a headset was connected on the guest VM. I tried exiting normally, ending task from task manager, or turning off the vm from Hyper-V Manager, but all lead to BSOD IMG_20240401_225021.jpg

repro steps:

  1. on Hyper-V VM, launch ALVR
  2. on Hyper-V VM, launch Steam VR
  3. on VR headset (Meta Quest 2 / 3), launch ALVR
  4. connect the ALVR on VR headset (Meta Quest 2 / 3) with the ALVR on the Hyper-V VM
  5. on VR headset (Meta Quest 2 / 3), close/quit ALVR
  6. on Hyper-V VM, close/quit ALVR
  7. on Hyper-V VM, close/quit Steam VR
  8. on host PC, observe blue screen of death appear

I had this BSOD happen like 10+ times, but my computer still seems to run just fine afterwards.

ericytsang commented 6 months ago

it was really awesome that I was able to play VR on the guest VM while my friend was playing VR on the host PC so we could play co-op VR games together.

setup steps:

  1. updated my GPU drivers to the latest available by visiting vendor's site, and downloading manually
  2. use Easy-GPU-PV to create a new VM
  3. in guest VM, install Steam, VR games, SteamVR, and , ALVR (because Virtual Desktop Streamer doesn't work)
  4. on host PC, install Steam, VR games, SteamVR, and , Virtual Desktop Streamer (i personally like VD better, but ALVR probably works too)
  5. play games!

if you also want to do this too, then here are details about my setup:

  1. GPU: NVIDIA GeForce RTX 3080
  2. on guest VM:
    • installed the following: Steam, VR games, SteamVR, ALVR (because Virtual Desktop Streamer doesn't work)
    • FYI, this only seemed to work with some games. had some glitches with games like Inside the Backrooms... and Phasmophobia. it seems like updated the GPU drivers to the latest on the host before creating the VM helped a little, but some games are still glitchy.
    • one of the glitches i faced was that the textures of some games were all black/missing. the fix is to navigate to the game's video settings menu, and decrease the texture quality. i think this causes the game to re-load the textures, and things stop looking black.
  3. on host PC:
    • installed the following: Steam, VR games, SteamVR, Virtual Desktop Streamer (ALVR would probably work too, but i didn;t try it. because i like VD better)

i figured out how to do this by using comment #289, and the sauce they referenced, which mentioned that

ericytsang commented 6 months ago

i will try comment on issue #304 and update

ericytsang commented 6 months ago

i will try comment on issue #304 and update

after trying this solution, BSOD is still showing.

i wanted to share a new finding, though:

  1. before applying the nvlddmkm.reg, the game "Inside the backrooms" would not start up in VR (screen turns black as game initializes, but then game crashes)
  2. after applying the nvlddmkm.reg, the game "Inside the backrooms" would not start up in VR (screen doesn't even turn black. it just crashes immediately, it looks as if the game did not even start)
  3. i opened nvlddmkm.reg in notepad, and "find + replaced" ever occurrence of "DriverStore" with "HostDriverStore" then imported it into the "Registry Editor" again.
  4. ran the game again. this time, the game started up!!! nice :D some textures were missing
  5. i went into the video settings, and changed the texture setting to "streaming" and then pressed "apply" and then the game froze and crashed
  6. upon starting the game up again, it loaded fine, and textures are present as well. wow! can't wait to play with my buddies together.

maybe what i did in step 3 could help others

ericytsang commented 6 months ago

For the game "inside the backrooms"... I'm no longer sure if i fixed it by replacing "DriverStore" with "HostDriverStore" in the red file, or if it was fixed by launching the game in PC mode, then lowering the video settings, and turning on the "streamed textures" setting, and then launching the game in VR mode. I had to do both to finally make it work in a new VM.

sschamp commented 5 months ago

Same thing happens over here. As soon as I launch VR Desktop -> Insta Crash on Host. With ALVR, it crashes only after shutting down the game.

Tried all fixes mentioned above, as well as disabling Resizeable BAR and enabling SR-IOV. All to no avail.

Edit: Just use H.264 (or H.264+) see https://github.com/jamesstringerparsec/Easy-GPU-PV/issues/289#issuecomment-2087150968

ericytsang commented 5 months ago

Edit: Just use H.264 (or H.264+) see #289 (comment)

Thank you @sschamp! I confirmed that your workaround worked!

After changing the setting that you mentioned (on VD on the guest VM), I am no longer experiencing anymore BSODs when closing SteamVR/VD/VM 😃 the setting

sschamp commented 3 months ago

Update, Windows 11 24H2 Insider Preview (Dev channel) with latest NVIDIA drivers use WDDM 3.2 instead of WDDM 3.1 Which fixes many of these memory issues.