protonscr

Quantum Threshold

protonopen appid 3768490Game compatibility - UnofficialXAudio2Mesa driversAMD RADV
ValveSoftware/Proton#9116 · opened 2025-10-18 by Patola · updated 2025-12-21 · 18 comments · github · game page · search this game
4 matching comments, n / p to jump
PPatola 2025-10-18 github

Compatibility Report

  • Name of the game with compatibility issues: Quantum Threshold
  • Steam AppID of the game: 3768490

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.

Symptoms

Game fails at start:

  • If with Proton 9.04, it outputs an Unreal Error Dialog:
Image
  • If with Proton Experimental, it first outputs this dialog:
Image

...which is identical to the one on bug #9104

...and then outputs the same Unreal Error Dialog as with Proton 9.04.

Reproduction

  • Connect to VR with SteamVR beta 2.13.5 or superior, of stable after Steam Link for Linux gets to the stable version.
  • Launch the game.

steam-3768490-proton-experimental.log
steam-3768490-proton-9.04.log

PPatola 2025-10-18 github

Maybe that will help, ran the game via Proton 9.0-4 again with launch parameters PROTON_LOG=+openxr,+vrclient,+file %command%:

steam-3768490.zip

PPatola 2025-10-18 github

And the same for proton experimental bleeding-edge:

steam-3768490-proton-experimental.zip

PPatola 2025-10-18 github

btw: I know these are not supported, but the symptoms are the same under WiVRn and ALVR, besides Steam Link.

Ggofman 2025-10-21 github

This issue should be fixed in the just updated Experimental bleeding-edge (I mean the observed error, wasn't checking beyond starting the game). The problem looks the same for https://github.com/valvesoftware/proton/issues/9104 .

PPatola 2025-10-21 github

Thanks a lot, but currently I can't test because I refunded both games -- there's a number of newer games coming out this week and I needed the money. I kept them in my wishlist and as soon as they have a new discount I'll purchase them again and if anyone doesn't do it first, I'll report here.

PPatola 2025-10-30 github

@gofman Two new VR games debuted this week and none of them would work with regular proton or even spins like Proton-GE. One of them is Drop Dead: The Cabin (3516890), and the other one is Zero Caliber 2 Remastered (2719740). Via steamdb, they don't seem to be using unreal -- nor unity engine.

They did however worked out of the box with Proton Experimental bleeding-edge. Is your fix related to this, i.e. is it a general fix for many games? I can send their proton logs with regular proton and proton experimental if you want.

If it's your fix which did this, it's incredible that it's spanning many recent games.

Ggofman 2025-10-30 github

By regular Proton, do you mean Proton Experimental proper (default branch, not bleeding edge) or something ancient? As for now I think the wineopenxr fix related to this issue ticket should be in Experimental proper.

WRT wineopenxr fix here, I just looked at the issue with this reported game, saw a bug with how we handle xrGetInstanceProcAddr for the functions not supported or not enabled by requested instance extensions (we were returning wineopenxr wrapper function always, while spec demands that implementation returns NULL) and fixed it. Quite possible more games now rely on this behaviour (while I don't know for sure that these new games were fixed by that fix in wineopenxr, probably won't bother figuring out, for a dev it is more interesting why something doesn't work in the latest version rather than why it does :). I don't have any info whether the games you mention and those two previously fixed share some common engine or library or not, but I'd guess it is possible (assuming this is related to wineopexr fix) since why all of those games started depending on this bit all of a sudden while we haven't seen this issue affecting things before since wineopenxr introduction.

PPatola 2025-10-31 github

Well, I just tested again both games by changing Proton Experimental back to the default branch. Zero Caliber 2 Remastered worked, Drop Dead: The Cabin didn't. Put it back in bleeding-edge and Drop Dead: The Cabin worked. It seems it is a huge coincidence that a fix that works on this game appeared just when the game was out then.

Ggofman 2025-10-31 github

If you attach PROTON_LOG=+process,+module,+openxr,+vrclient %command% log from Proton Experimental / default branch for a non-working case I can have a brief look in case it is immediately apparent what was the fixed issue.

PPatola 2025-10-31 github

here you go, the proton log with these variables for Drop Dead: The Cabin.

steam-3516890.zip

Kkisak-valve maintainer 2025-10-31 github

Hello @Patola, for anything more than the most basic preliminary checks, please open a new compatibility report to track the other game. @gofman can continue the discussion of the other game there.

Ggofman 2025-10-31 github

Yes, the thing which fixed Drop Dead is totally unrelated to this issue and Proton VR in general:

wine: Call from 00006FFFFFF968A0 to unimplemented function KERNEL32.dll.InitializeSynchronizationBarrier, aborting

Incidentally, I implemented synchronization barriers very recently and that is not in Experimental proper yet, after seeing "The Obsessive Shadow" using it (also has VR mode); also no idea if that is a coincidence or the games do share something.

PPatola 2025-10-31 github

Done some tests with The Obsessive Shadow, confirmed that it also only works with the Experimental bleeding-edge. Should I open a new compatibility report for it? There's none at this moment.

PPatola 2025-12-20 github

@gofman ok, the three other games (The Obsessive Shadow, Drop Dead: The Cabin and Reach) which I reported are now working, but this one, Quantum Threshold, is not. I bought the game again and I have tried it with proton experimental and SteamVR/Steam Link stable. Launching the game shows a white fullscreen, then crashes SteamVR.

The regular proton log follows. I will soon add another one with PROTON_LOG=+process,+module,+openxr,+vrclient %command%

steam-3768490.log

PPatola 2025-12-20 github

new proton log created with PROTON_LOG=+process,+module,+openxr,+vrclient %command%

steam-3768490.zip

For the record, after these tests and isolating the new logfile, I also tested with:

  • ALVR v20.14.1 (also uses SteamVR): crashes it too, it hangs
  • WiVRn 25.12-2-g6fc48c7d crashed so hard that I had to reboot afterwards, the monitor was unresponsive
    (these two tests weren't made with PROTON_LOG active, so they are not logged)
PPatola 2025-12-20 github

I just checked my dmesg -T and realized there were GPU resets during my test (I'm on mesa 25.3.2):

dmesg -T during my Quantum Threshold tests
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 timeout, signaled seq=332, emitted seq=333
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu:  Process GameThread pid 9634 thread dxvk-submit pid 9712
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.1.1 ring reset
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:1:1)
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.1.1 reset succeeded
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=47688, emitted seq=47690
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu:  Process GameThread pid 9634 thread dxvk-submit pid 9712
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset succeeded
[sob gru 20 23:04:32 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 timeout, signaled seq=598, emitted seq=599
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu:  Process GameThread pid 11974 thread dxvk-submit pid 12055
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.3.1 ring reset
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:3:1)
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.3.1 reset succeeded
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=61490, emitted seq=61492
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu:  Process GameThread pid 11974 thread dxvk-submit pid 12055
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset succeeded
[sob gru 20 23:06:37 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 timeout, signaled seq=555, emitted seq=556
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu:  Process GameThread pid 17522 thread dxvk-submit pid 17604
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.1.1 ring reset
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:1:1)
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.1.1 reset succeeded
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 timeout, signaled seq=4682, emitted seq=4684
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu:  Process steamwebhelper pid 5815 thread steamwebhe:cs0 pid 5829
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.2.0 ring reset
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:2:0)
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.2.0 reset succeeded
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=120695, emitted seq=120697
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu:  Process GameThread pid 17522 thread dxvk-submit pid 17604
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset succeeded
[sob gru 20 23:12:42 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 timeout, signaled seq=4683, emitted seq=4686
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu:  Process steamwebhelper pid 5815 thread steamwebhe:cs0 pid 5829
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.2.0 ring reset
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:2:0)
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.2.0 reset succeeded
[sob gru 20 23:12:52 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 timeout, signaled seq=4684, emitted seq=4688
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.2.0 ring reset
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:2:0)
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.2.0 reset succeeded
[sob gru 20 23:13:02 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card0/device/devcoredump/data
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 timeout, signaled seq=4686, emitted seq=4688
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: Starting comp_1.2.0 ring reset
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: reset compute queue (1:2:0)
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: amdgpu: Ring comp_1.2.0 reset succeeded
[sob gru 20 23:13:13 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
PPatola 2025-12-21 github

For information, running the game with Xorg has exactly the same behavior.

PPatola 2025-12-21 github

Tested with an NVIDIA card and the game worked. So it's an issue with Mesa drivers indeed.

Proton versions

Launch options

DLLs