stride3d / stride3d/stride

Virtual Reality template example doesn't work using vulkan renderer

Open
#1,425 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

area-Graphics bug
Dominant language
C#
Stars
7.8k
Forks
1.2k
Avg merge
2d 17h
Merged PRs (30d)
49

Description

Release Type: Github versions

Version: Happens on latest stable (using master-4.0 branch) and on latest master

Platform(s): Windows

Describe the bug
When trying to run the VR template using the vulkan renderer the example freezes and starts to leak memory until it crashes

To Reproduce
Steps to reproduce the behavior:

  1. Compile GameEditor from any of the indicated branches adding Vulkan to StrideGraphicsApi in Stride.Build.props https://github.com/stride3d/stride/blob/master/build/Stride.Build.props
  2. Create a new example from the VR template
  3. Change the StrideGraphicsApi to vulkan in the new example by adding: <StrideGraphicsApi>Vulkan</StrideGraphicsApi> to the frist PropertyGroupin VRSandbox.Windows\VRSandboxWindows.csproj
  4. Run the example
  5. The window appears, the console shows how the shaders are compiled but the output doesn't appear on the VR device and starts to leak memory until it crashes with a corrupted memory error.

Expected behavior
The example should run correctly and show the output in the VR device as it works when using directx instead of vulkan.

Additional context
This happens when running the application using the steam VR null driver by setting it up in Program Files\Steam\config\steamvr.settings using :

   "driver_null" : {
      "enable" : true,
      "id" : "Null Driver",
      "windowHeight" : 1080,
      "windowWidth" : 1920,
      "windowX" : 100,
      "windowY" : 100
   },

The same device setup works fine when using direct x, when running the example the steam vr window appears and the output of the application shows up in the monitor emulating the VR device.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the freeze with the VR template and SteamVR null driver, enabling Vulkan in build/Stride.Build.props and VRSandbox.Windows\VRSandboxWindows.csproj. Compare the Vulkan run with the working DirectX path, then verify that the VR device receives output without memory growth or a crash.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
computer-graphics, game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.