DLSS in Unreal Engine 5.1 and VR

Hi!
I have a question regarding DLSS in Unreal Engine 5.1 in VR

It seems like its not supported (yet?)

Changing the r.screenpercentage does not do anything or results in a crash:

[2022.12.22-10.29.18:859][613]LogWindows: Error: appError called: Assertion failed: InVelocityTexture->Desc.Extent == FIntPoint(1, 1) || InVelocityTexture->Desc.Extent == InSceneDepthTexture->Desc.Extent [File:D:\Experiments\VR_DLSS\Plugins\DLSS\Source\DLSSUtility\Private\VelocityCombinePass.cpp]

I tried it in DX12 and DX11 in deferred Rendering mode.

Thanks
Fabian

1 Like

I’m seeing this as well in 5.1, engine crash at VelocityCombinePass.cpp:98

Welcome @penneydude to the NVIDIA developer forums!

Are you two using out the newest release of DLSS for Unreal Engine 5.1? See my post on a different thread in this forum.

If yes, did your apps work on previous versions?

If that is another yes, then please attach a complete log of DLSS debug logs here and I will pass it on to the engineers.

Thanks!

Hi Markus
Happy new year to you all!

Yes I’m using the newest version of DLSS (20221220).
I’m not using an old project, but used DLSS in 4.27 and 5.0 projects and looking into porting the 5.0 project to 5.1.
As we have also issue with DLSS and VR in 5.0 (see https://forums.developer.nvidia.com/t/dlss-unreal-engine-5-0-3-spamming-log-message-collectgarbageincrementframe-when-running-in-vr/232605/2?u=fabian.troxler)

I’m aware of the new way of enabling and changing the DLSS settings and the crash happens as soon as you want to change the r.screenpercentage (which is enabling DLSS)

Unfortunately I somehow cannot figure out how to enable the NGX logging, the folders in the /saved/logs/NGX are empty:

  • I tried to follow the instructions in the DLSS_Quick_Start_Guid.pdf
  • Setting the registry has no effect
  • setting the r.NGX.EnableOtherLoggingSinks is not possible, as it is read only

but i’ve attached the log file and a zipped project file if it helps:

VRTest.log (160.7 KB)
VRTest.zip (57.9 MB)

In the project you can press ‘1’ on the keyboard to enable DLSS (changing r.screenpercentage to 50) or disbale it again. In non VR it works perfectly, but in VR it crashes instantly.

Hope this helps, we are really looking forward to use DLSS in unreal 5.0+, but are stuck for now with 4.27 in VR

For complete information the Hardware and Software I’m using:
Unreal 5.1.0 (launcher version)
nvidia 3090 with newest Studio Drivers
Valve Index with OpenXR
Windows 11
Deferred DX12 SM6 render pipeline (tried others without any difference)

Thank you!
Fabian

1 Like

Hello, happy new years!

I am currently experiencing the same issues as well. Changing screen percentage outside of VR works, applying DLSS to that works as well. Changing screen percentage in VR works but crashes the moment I apply DLSS to it.

I’ve attached my crash log and dump:
VR_DLSS_ScreenPercentageCrash.zip (207.8 KB)

Here are my set-up details
Unreal Editor 5.1.0
nvidia 3090 driver version 31.0.15.1694 (I really should get around to updating that)
HTC Vive Pro with OpenXR
Windows 11
Default UE5 VR Template project

Thanks!
Haryo

1 Like

Welcome @haryo1 to the NVIDIA developer forums!

Thanks both of you for the added details!

I am not sure right now what the issue with the logs might be Fabian, but I think for the time being I have enough information to pass on to some of the engineers who might be able to help.

No promises on how fast I can get back to you though.

3 Likes

I am also experiencing the same issue. Hope there is a solution soon. Thank you in advance!

Welcome to the thread and to the NVIDIA developer forums @macxike!

I created an internal issue for this, so for now we need to wait.

1 Like

We are experimenting the exat issue as well. Just to give further information, it seems to work fine with Oculus Quest 2 through Quest link/Air link using Oculus app as OpenXR Runtime. But as soon as we try to use HP Reverb it starts crashing. Using Nvidia CloudXR and SteamVR to stream to Quest 2 also crashes.

Also using an HP Reverb 2 here, with OpenXR (not SteamVR). Wonder if it’s resolution related, I know the Reverb pushes ~130% more pixels than a Quest 2.

Hi, just chiming in with a brief question whether this issue was fixed in the version of this plugin for UE5.1.1. I can’t immediately find a changelog.

Sorry haryo1, the 5.1.1 update was a minimal re-build to address UE specific changes, but no functional fixes or additions.

Still waiting for the bug resolution.

1 Like

In 5.1.1 vr.pixeldensity command seems to work for changing the internal resolution, but the image seems softer than expected with DLSS, so the upscaling is not applied?

From what I can tell in the Console Log, DLSS is not applied when using the VR.PixelDensity command. Only when using the R.ScreenPercentage command, which crashes when used with VR.

Hello,
for me, it doesn’t work at all in VR, only in the viewport.
No matter what I set the r.ScreenPercentage to, the image stays exactly the same.

Can somebody please tell me how they set up DLSS in their project so that I know that I didn’t mess something up?

I am using the OpenXR plugin playing in SteamVR, and with DLSS disabled if I set the screen percentage to 52% I get this weird result, with one of the eyes in the hmd seeing this picture, and the other eye doesn’t have the black goggle shape on the top.

Maybe this could be the root of the problem? At 100% the picture looks just like a mountain range (I couldn’t post two images since I’m a new user)

Welcome to the NVIDIA developer forums @zane.jensen.

I will add your observation to the issue tracker, thank you!

Quick update, I did a test in UE5.1.1 and opened a brand new default VR project. I enabled DLSS and the SteamVR (deprecated) plugin. DLSS then worked perfectly in VR, but I had to roll back to DX11, as I believe the SteamVR plugin doesn’t support DX12 and I was having crashes when running in VR.

So this is a possible temp fix, if you don’t need DX12 enabled in your project. (Sadly I have to use Nanite so I’m still restricted) Hopefully this can help give a lead to the problem.

Also in the new blank SteamVR project I didn’t have any of the visual issues that I described above. So it’s possibly a different issue within my project unrelated to the bug fyi.

1 Like

This worked for me as well! I could however run it using DX12 (albeit with much worse performance).

But yeah, this is really not ideal for me either as this breaks all of my inputs as SteamVR seems to be reliant on the old input mapping system. I can still force it to at least have most actions mapped accordingly, but the animations seems like an utter chore to set up and I’ve got no real idea where to begin.

However, I’d still like to give massive thanks for finding this workaround! At the very least I can use this as a test project to show the potential benefits of using DLSS in VR!

2 Likes

If you don’t mind me asking, did you happen to have to change any settings to get DX12 to work as well? If I could find someway to get it working for me that would be a lifesaver. Currently when I run preview in VR, the whole project just freezes and I have to force end task to do anything.