Open arturoc opened 2 years ago
Do you know which VR API it's using? Could it be that the problem is with the VR API itself rather than Vulkan? (if yes, even if fixed, it won't help with your future work on OpenXR since it will be replaced by something else?)
Could be but it doesn't seem to even be initializing the VRDeviceSystem
inside Game
. Not 100% sure that's where the VR system is initialized but that class is not even constructed before the example crashes.
I've also tried with this PR https://github.com/stride3d/stride/pull/1107 modifying the Main
function so it selects openxr like:
using Stride.Engine;
using Stride.VirtualReality;
namespace VRSandbox_PR_vulkan
{
class VRSandbox_PR_vulkanApp
{
static void Main(string[] args)
{
using (var game = new Game())
{
game.VRDeviceSystem.PreferredApis = new VRApi[] { VRApi.OpenXR };
game.Run();
}
}
}
}
And i'm having the same problem with the app crashing after a few seconds due to a memory leak.
Again not 100% sure this is the correct way to choose the VR api but it looks so from the code.
for reference, @phr00t was suggesting on discord to use a basic new game and to enable VR on that. Just to exclude that the VR example has some other issue that might not be related to the VR implementation.
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:
StrideGraphicsApi
inStride.Build.props
https://github.com/stride3d/stride/blob/master/build/Stride.Build.propsStrideGraphicsApi
to vulkan in the new example by adding:<StrideGraphicsApi>Vulkan</StrideGraphicsApi>
to the fristPropertyGroup
inVRSandbox.Windows\VRSandboxWindows.csproj
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 :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.