VR Desktop Mirror Stretch Flickers Each Frame in Packaged Builds

Here’s a link to a video showing the issue:

I’m running on a Vive. This happens in a packaged build, but not in editor.

I have not tested this in a blank template, but I don’t think we’re doing anything to cause this, and it doesn’t happen in 4.18.

Edit: I tested this in a development build and the flicker issue goes away. It seems to only be in packaged shipping builds.

Hello Nathan,

I just tried packaging a blank template on the Rift but did not reproduce the issue.

Just to help narrow down a few things:

Are you using any “HMD Mirror Mode” console commands? Are you using any screen percentage / pixel density commands?

Thanks,

Alex

Hi Alex,

Yeah we call SetSpectatorScreenMode(SingleEyeCroppedToFill) and “r.screenpercentage 100”

I’ve only tested this in SteamVR on a Vive.

We also don’t launch in VR and instead call “vr.bEnableStereo true” once a headset is detected. I don’t remember why we do that…

Thanks for looking into the issue!

-Nathan

Can you try packaging without the screenpercentage? (It should be deprecated as of 4.19 Significant Changes Coming To VR Resolution Settings in 4.19 - Unreal Engine )

It may be worth it to try different Spectator Screen Modes too.

The flicker goes away when I switch to the thin tall spectator screen mode, but returns as soon as I switch back.

I wasn’t able to test disabling the “r.screenpercentage” call yet. But I was able to try many different percentages. The same flickering exists for 100, 110, 120, & 130.

It’s only in shipping builds, not development or debug. And I’ve only tested it on Vive.

Ok, Just tried packaging a shipping build on Oculus, but no repro.

Our teams Vive is currently nonoperational, so having a blank project that produces this behavior would probably be a good thing to move forward with. (I’ll give it a shot on my Vive at home, and create a bug report If I can get a repro there)

Definitely try switching screenpercentage to pixeldensity first though.

Good news!

After enabling “Start in VR” (instead of called “stereo on” at the start) and switching from r.ScreenPercentage to vr.PixelDensity, the stretch flicker went away!

The current release version of 4.19 still had the flicker, but after changing those two things, it was fixed.

I’m not sure which change fixed the flicker, but it’s working now!

After checking the “Start In VR” checkbox (instead of calling “stereo on” on game start), and swapping out all calls to “r.ScreenPercentage” for “vr.PixelDensity” the stretch flicker goes away. Success!

On my vive SpectatorScreen flickers on modes “SingleEyeCroppedToFill” and “Undistorted”. When I set mode as “SingleEyeLetterboxed” or “Distorted” everything is OK.

Did you make sure you eliminate all calls to “r.ScreenPercentage” and change them to “vr.PixelDensity”?

Also try checking the “Start in VR” checkbox and getting rid of calls to “Stereo on”

Yes, of course, I did. I tried all advices from here, but only changing mode helps. I think, something wrong on transforming screen image (takes right eye, then left, then right)…

@flashASA I get the same behavior SingleEyeCroppedToFill is broken and flickers, all the other modes are fine. Tested on both Rift and Vive. Supersampling settings are set using pixeldensity and not screen percentage.
So for the moment I’m sticking with SingleEye.

The flicker with SingleEyeCroppedToFill can come and go depending on performance. It’s like it’s a timing issue.

Can confirm that SingleEyeCroppedToFill is causing flickering.

UE4.19.2, HTC Vive (SteamVR), Samsung Odyssey (WMR under SteamVR) - still flickering

It still happens in UE4.19.2, HTC Vive (SteamVR).

Any of the above solutions did not work for me. I was able to resolve it by thorough clean:
– delete all generated data (.vs, Binary, Build, Saved, Intermediate, …)
– clean or delete config files
– i also moved the files to a new project, merging the new and old source together
– shut down all running programs,
– generate the Visual Studio Project
– build the Visual Studio Project
– open the Unreal Project
– package it

seams unreal as so often messed up it’s files again…

Check today HTC Vive (SteamVR) under UE4.19.2 and UE4.20.0, WMR Samsung Odyssey under UE4.20.0 - HAS NO FLICKS!
I think Steam did something on it’s side (version of UE has no changes)…

only 4.20.1 fix issue for me

the problem still exists in 4.21.2 and the proposed solution doesn’t fix it