protonscr

[BUG] Image Corruption with OpenGL

steamvrclosed bug
ValveSoftware/SteamVR-for-Linux#564 · opened 2023-02-27 by Coreforge · updated 2023-02-27 · 3 comments · github
CCoreforge 2023-02-27 github

Describe the bug
With OpenGL applications, the image in the HMD as well as in VR View is heavily corrupted. In the desktop mirror of the application, everything looks normal. Tested with both the hellovr_opengl sample and vivecraft. hellovr_vulkan does not show any issues. The performance graph and system overlay are also affected

To Reproduce
Steps to reproduce the behavior:

  1. Start SteamVR
  2. Run the hellovr_opengl sample or open the system menu
  3. Look into the HMD or in VR View

Expected behavior
A normal image without artefacts, as seen in the desktop mirror of hellovr_opengl

System Information (please complete the following information):

  • Distribution: Ubuntu 22.04.2 with 5.15.0-60-generic kernel
  • SteamVR version: 1.24.7 1671750570
  • Steam client version: Built: Feb 14 2023, at 00:47:47
  • Opted into Steam client beta?: No
  • Graphics driver version: amdgpu-pro 5.4.50403-1 (Mesa 22.3.0-devel) using AMDVLK
  • Gist for SteamVR System Information: https://gist.github.com/Coreforge/0c003ae87ad95a605b7ceffcea1e9bfb

Screenshots
image
The textured parts of the cubes flimmer, but the black squares and the red pattern are static.

Additional context
Similar corruption sometimes occurs in other OpenGL based programs, however, when it does, it only appears for one frame and does not show a static pattern like this case.
On the same system, inside a distrobox container running fedora 36, the same issue does not appear, so this is not a hardware issue.

Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.

CChristophHaag 2023-02-27 github

Hstorically, exporting textures from Vulkan on amdvlk and importing them into OpenGL on radeonsi has not been working properly and that's what always caused this corruption, for example
https://github.com/ValveSoftware/SteamVR-for-Linux/issues/377
https://github.com/ValveSoftware/SteamVR-for-Linux/issues/512

Running SteamVR on radv should give you a better experiencein general too.

CCoreforge 2023-02-27 github

radv has always been giving me error 307 so far, which is why I stuck with amdvlk, but I'll see if I can get it to work

CCoreforge 2023-02-27 github

With RADV OpenGL is working correctly now. The reason SteamVR had trouble with RADV was LLVM getting loaded both from the steam runtime directory and from the amdgpu directory, which caused the compositor to abort (this was only visible when running the compositor in gdb).

Nothing extracted yet.