protonscr

Control - Black squares with Ray tracing enabled

vkd3dclosed
HansKristian-Work/vkd3d-proton#2501 · opened 2025-06-10 by HatsuneMiku2017 · updated 2025-10-20 · 19 comments · github
HHatsuneMiku2017 2025-06-10 github

Software information

Game: Control Ultimate Edition - DirectX 12

System information

  • GPU: RTX 4090
  • Driver: 575.57.08
  • Wine version: Proton-GE 10-4 (Issue appears also on Experimental, Hotfix, 9.0, 8.0)
  • VKD3D-Proton version: 2.14.1 #2484

Log files

Please attach Proton or Wine logs as a text file:
steam-870780.log

Black squares appear on glass and gets more intense with flickering when looking at glass shards. I saw it throught the game but most consistent in "Security" room (I can send a save file close to the location).
Disabling "Ray Tracing Transparent Reflections" fixes it and the issue doesn't appear on Windows.
I don't have an AMD card with Ray tracing so I'm unable to replicate it there.

https://github.com/user-attachments/assets/b53f8636-38c6-4ad8-926a-32c1b6181496

FFitupan 2025-06-15 github

I have an AMD Radeon RX 7700 XT and have the same issue. I played the whole game without any problem but after meeting Dylan for the first time I started getting these black squares in the containment sector, even when looking at Dylan through the glass I had no problem but as soon as I got in containment it appeared

HHatsuneMiku2017 2025-06-15 github

I will add that there is another spot with this issue but it requires the AWE DLC.

In "Fra Mauro AWE" there is a spaceship standing at the center of the room. With "Ray Tracing Transparent Reflections" enabled, looking at it at any angle with trigger the flashing black square.

HHansKristian-Work maintainer 2025-06-16 github

A save file would be appreciated.

HHatsuneMiku2017 2025-06-16 github

savegame-slot-00_.tar.gz

Save files go to /home/username/.steam/steam/userdata/user-id/870780/remote/
It should spawn in the "Logistics". From there just go forward through door into Security. Issue appears on the windows on both sides and goes berserk when destroyed.

For DLC spot: Fast travel to "Investigations" sector to "Fra Mauro AWE".

Sshelterx 2025-06-17 github

Where in Containment sector? I don't see it here, I've played through that level before and went back to check, I did not see any issues, I've also spoken to Dylan.
9070 XT and (mesa git as of 1 day ago)

Sshelterx 2025-06-18 github

Yeah I see it now, when you go past the security check, I tried the save file above (I had to rename the files because I have the Epic version).
There was also some brief black flickering/flash down the stairs to the left next to the security check.

Sshelterx 2025-09-05 github

Did you take a look at his @HansKristian-Work? Just asking out of curiosity, I know you're a busy dude.

HHansKristian-Work maintainer 2025-09-06 github

No. One of our testers needs to be able to reproduce and narrow it down first at minimum. RT is not really debuggable, so don't expect anything.

Rrunar-work 2025-10-14 github

The "Fra Mauro AWE" spot was very convenient. I could repro on RX 6800, and I think I've narrowed it down to the problem being one of the closest hit shaders that outputs NaNs. If I flush NaNs with that shader hash, the problem goes away, and I didn't see any NaNs output by the preceding shader when I did an autocapture, at least.

I included a breadcrumbs trace log and instruction QA checks. Shaders were also dumped with full instruction QA: Control_RT_glitch_instruction_qa_shaders.zip

Sshelterx 2025-10-14 github

Very nice Runar. Where I am I get it sometimes but not always. Once I had it at a control point or whatever they are called and showed up as black flickering. This was when I just loaded the game.
As far as I know there was no glass visible at that specific location.

Sshelterx 2025-10-15 github

Also, is this somewhat related? I have never actually gotten amdgpu driver crashes in the past but I decided to pickup on Control again and get these these pretty frequently.

[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu: [gfxhub] page fault (src_id:0 ring:24 vmid:2 pasid:32805)
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:  Process Control_DX12.ex pid 62840 thread vkd3d_queue pid 62924
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:   in page starting at address 0x0000800041c03000 from client 10
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu: GCVM_L2_PROTECTION_FAULT_STATUS:0x00201430
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:          Faulty UTCL2 client ID: SQC (data) (0xa)
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:          MORE_FAULTS: 0x0
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:          WALKER_ERROR: 0x0
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:          PERMISSION_FAULTS: 0x3
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:          MAPPING_ERROR: 0x0
[ons okt 15 12:00:12 2025] amdgpu 0000:03:00.0: amdgpu:          RW: 0x0
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card1/device/devcoredump/data
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=15150425, emitted seq=15150427
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu:  Process Control_DX12.ex pid 62840 thread vkd3d_queue pid 62924
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset succeeded
[ons okt 15 12:00:22 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: Dumping IP State Completed
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: [drm] AMDGPU device coredump file has been created
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: [drm] Check your /sys/class/drm/card1/device/devcoredump/data
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 timeout, signaled seq=15150426, emitted seq=15150429
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu:  Process Control_DX12.ex pid 62840 thread vkd3d_queue pid 62924
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: Starting gfx_0.0.0 ring reset
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: amdgpu: Ring gfx_0.0.0 reset succeeded
[ons okt 15 12:00:33 2025] amdgpu 0000:03:00.0: [drm] device wedged, but recovered through reset

Rrunar-work 2025-10-15 github

@shelterx It could be unrelated, and/or an RDNA4-specific thing. How long do you think it would take to reproduce that page fault, and what's your graphics settings when they happen? Any particular locations or is it just random?

Sshelterx 2025-10-15 github

The amdgpu crash happens at random times, sometimes after 1 minute, sometimes after 15 minutes.
But right now it seems to be working, and I have no idea why, either just random "luck" or something actually changed, but I don't know what.
I tried kernel 6.16 and 6.17 and different firmware... none of these seem to have helped.

I run in 1080p and settings are set to highest possible except for RT which is set to High.
I cap the game to 90 FPS because the game tend to stutter if you go above that, game engine issue (or so I read).

HHansKristian-Work maintainer 2025-10-15 github

https://github.com/HansKristian-Work/vkd3d-proton/pull/2658 should resolve the black square issue.

Rrunar-work 2025-10-15 github

@shelterx Thanks for the info. I've been able to repro twice on RX 9070 so far, but unfortunately it's very random. I wasn't able to get breadcrumbs from the hang, but it's the same RT shaders again, though I also got a hang with this workaround.

Sshelterx 2025-10-16 github

Yeah, it's random for sure. I didn't have a crash for the last hour or so yesterday. I'll try to continue investigating some more on my end.
I saw Nvidia's WHQL 580.88 driver apparently fixes something, perhaps it's the same root cause for the issue we see here. Who knows.

  • Control: game may crash when ray tracing is enabled [5261356]

Some more stuff here:
https://steamcommunity.com/app/870780/discussions/0/599643321875309384/

Sshelterx 2025-10-16 github

~VKD3D_CONFIG=no_upload_hvv seems to get rid of the amdgpu crashes for some reason.~
I might have to eat my words on that, fingers crossed tho'.
EDIT: It crashed again... really bad this time. :( But now I played for over an hour in various locations.

Update:
I also just remembered that Nvidia got an app profile for Control, maybe it's to prevent these crashes (it overrides no_upload_hvv tho').
{ "pattern": { "feature":"cmdline", "matches": "Control_DX12.exe" }, "profile": "PromoteUncachedSysmemToHostVisibleMemory" },

Rrunar-work 2025-10-16 github

I forgot to set kernel permissions for the automatic UMR dumps, so this time I got a manual dump with waves and breadcrumbs with ACO_DEBUG=force-waitcnt.

Control_page_fault_UMR_dumps.zip

Edit: I got the first hang after one minute, the second hang after one minute, the third after more than three hours total of attempts, so ruling anything out seems like it'll be impossible.

HHansKristian-Work maintainer 2025-10-16 github

https://gitlab.freedesktop.org/mesa/mesa/-/issues/14113 looks like ACO bug based on our findings so far.

Launch options

Upstream links