protonscr

Overload

protonopen appid 448850Game compatibility - Unofficial
ValveSoftware/Proton#9912 · opened 2026-06-27 by Patola · updated 2026-06-28 · 2 comments · github · game page · search this game
1 matching comments, n / p to jump
PPatola 2026-06-27 github

Compatibility Report

  • Name of the game with compatibility issues: Overload
  • Steam AppID of the game: 448850

System Information

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.

Notes

  • For these logs, ran with SteamVR beta 17.3 but the results are identical to SteamVR stable 2.16.7. Also tried with a few versions of WiVRn and the behavior is exactly the same.
  • There are two proton logs attached: one with PROTON_LOG=1 and the other with PROTON_LOG=+vrclient,+dxgi. The names indicates which is which.
  • Tried a few times with PROTON_USE_WINED3D=1 in SteamVR, WiVRn with xrizer and WiVRn with opencomposite, and WiVRn with opencomposite gave me the clue: a dialog stating "Application is trying to submit a D3D11 texture, this is likely a Steam Proton bug. Please report it."

Symptoms

  • When running the game in VR, a black screen appears in VR but the game draws and interacts in the flatscreen only.

Reproduction

  • Use SteamVR or WiVRn to connect to wireless VR
  • Call the game in SteamVR mode
  • VR headset will go black, the game will start in the flatscreen.

Investigation notes and technical explanation (done with the help of ChatGPT Codex, after a 4-hours-long session with many repeated tests and introspection)

Problem Summary

Overload’s Windows VR mode runs under Proton and initializes OpenVR successfully, but the headset remains black while the flatscreen/mirror continues rendering. This happens with Proton 10.0-4 and GE-Proton11-1. The issue appears to be in Proton’s D3D11/OpenVR texture handoff path, specifically the D3D11 texture submitted to IVRCompositor::Submit being converted via DXVK into Vulkan textures that contain only opaque black when received by xrizer/OpenVR-to-OpenXR.

Environment

Game: Overload, Steam app 448850
Runtime: Proton 10.0-4, also reproduced with GE-Proton11-1 (cleaning prefix between attempts)
VR path: SteamVR 17.3 beta via Steam Link/WiVRn/OpenXR through xrizer or opencomposite
Headset: Meta Quest 3
Game launch includes -vrmode openvr

Observed Behavior

Game starts and initializes OpenVR.
Headset goes black.
Flatscreen continues rendering normally.
No useful VR image appears in headset.

Unity/Game Evidence

The game believes OpenVR initialized correctly:

OpenVR initialized!
[VRDevice] Successfully created device openvr.
Activating VR physics
VR default FOV: 110
Reset VRSettings.loadedDeviceName == OpenVR

Proton Evidence

With WINEDEBUG=+vrclient,+dxgi, Proton shows Overload submitting D3D/OpenVR textures:

winIVRCompositor_IVRCompositor_020_Submit ... eEye 0 ... pTexture ... (eType 0) ... nSubmitFlags 0
load_compositor_texture_dxvk texture = ...
winIVRCompositor_IVRCompositor_020_Submit ... eEye 1 ... pTexture ... (eType 0) ... nSubmitFlags 0
load_compositor_texture_dxvk texture = ...

eType 0 is the D3D/DirectX OpenVR texture path. Proton then converts it through load_compositor_texture_dxvk, after which xrizer receives Vulkan textures.

There is also an early:

fixme:vrclient:winIVRSystem_IVRSystem_015_GetDXGIOutputInfo

This may or may not be causal, but it happens before D3D11 device creation and may be relevant to adapter/output selection.

xrizer Evidence (within WiVRn because Steam Link/SteamVR doesn't allow this)

xrizer receives valid-looking Vulkan OpenVR textures and submits visible OpenXR projection layers:

submit input: texture_type=Vulkan
vulkan copy: game_format=R8G8B8A8_SRGB, swapchain_format=R8G8B8A8_SRGB
end frame: should_render=true, projection_views=2, layers=1

A test pattern rendered by xrizer itself appears correctly in the headset, proving the xrizer → OpenXR → WiVRn presentation path works.

However, direct readback of the submitted eye textures shows opaque black. A delayed 3x3 grid dump after submit #600 produced 36/36 identical regions:

sum=1044480, nonzero=4096, max=255
first=[0, 0, 0, 255, ...]

For a 64x64 RGBA sample, 1044480 = 64 * 64 * 255, meaning every sampled pixel is [0,0,0,255].

Additional Test

With PROTON_USE_WINED3D=1, DXVK is disabled. In that mode, the D3D11 texture path is no longer converted into Vulkan properly; xrizer crashes/hangs, and OpenComposite reports:

Application is trying to submit a D3D11 texture, this is likely a Steam Proton bug, please report it.

Likely Failure Area

The most suspicious area is Proton vrclient / DXVK OpenVR interop for D3D11 texture submission:

D3D11 OpenVR eType 0 submit
→ Proton vrclient load_compositor_texture_dxvk
→ Vulkan texture passed to native OpenVR runtime
→ texture content is opaque black

steam-448850-vrclient-dxgi.zip
steam-448850-proton-log-1.log

PPatola 2026-06-27 github

Got a few more details with further tests:
Instrumented Proton vrclient’s load_compositor_texture_dxvk() path. Overload submits D3D11 OpenVR textures successfully, and vrclient translates them to Vulkan images passed to xrizer. However, CPU readback from the submitted ID3D11Texture2D before the DXVK/Vulkan handoff shows the submitted eye textures are already opaque black ([0,0,0,255]) across center and four quadrant samples for both eyes. Flatscreen rendering continues, so the failure appears earlier: the VR render targets are not being rendered/populated correctly under Proton/DXVK, rather than xrizer/OpenXR presenting the wrong image.

PPatola 2026-06-28 github

Solved the issue. In the end, it is not any bug in proton or otherwise. It is just a game quirk.
If you start the game in SteamVR mode, it doesn't use VR. And even in its options, it doesn't show any toggle for you to enable VR.
What you have to do it the following:

  • go to the game prefix (default is ~/.local/share/Steam/steamapps/compatdata/448850 ), subdirectory pfx/drive_c/users/steamuser/AppData/LocalLow/Revival/Overload/ and edit the <Pilotname>.xprefs file (where <Pilotname> is the pilot name)
  • find O_VR_ENABLED:F:B
  • change it to O_VR_ENABLED:T:B
  • save the file, exit

Now the game should start in VR correctly.

Proton versions

Launch options