protonscr

HMD Screen tearing/artifacts

steamvrclosed bug
ValveSoftware/SteamVR-for-Linux#464 · opened 2021-09-07 by LordOfDragons · updated 2021-09-07 · 1 comments · github
LLordOfDragons 2021-09-07 github

In my game engine I'm seeing a strange problem with SteamVR. First things first the 3D rendering using OpenVR works. I'm using the render size as requested by OpenVR. I'm rendering the scene then copy it to the left/right eye FBO in a final shader step, then submit both textures to OpenVR. In the HMD and the VRView window a rectangular area is overlayed with garbage flickering wildly as seen in this screenshot of VRView:
Screenshot

Using RenderDoc I can verify the left and right eye texture is correct and free of garbage. I can now switch to half-resolution rendering in my game engine and the garbage vanishes. Half-resolution rendering means the scene is rendered in 1/2 size but in the final shader copy (as mentioned above) the scene is upscaled to the size requested by OpenVR. In particular this means no matter if half-res rendering is enabled or not the final FBO submitted to OpenVR is of the exact size no matter if garbage is displayed or not.

Can anybody provide help here?

Hardware: VIVE (not pro or cosmos, the regular one)
OS: Linux GenToo 64-Bit
Steam: Native Linux version (so no WineHQ or similar)

What I've tried already:

  • Using two left/right FBOs alternating between them after each submit. The same garbage shows.
  • Using glFinish() right after submit to ensure presenting is finished before continueing. Same garbage

Observations:

  • At one time I've seen my desktop mouse pointer in the HMD rendered over the 3D scene. Can it be the garbage is some kind of 2D overlay originating from SteamVR causing troubles?
Kkisak-valve maintainer 2021-09-07 github

Upstream links