protonscr

Talos Principle 2 Demo (UE5): random glitchy frames when picking up items

vkd3dclosed
HansKristian-Work/vkd3d-proton#1732 · opened 2023-10-07 by adolfintel · updated 2023-10-24 · 15 comments · github
Aadolfintel 2023-10-07 github

I'm testing the Talos 2 demo that just came out and while the game runs well and it's stable, I've noticed some random glitchy frames when picking up objects like the jammer shown here.

I'd love to provide a renderdoc trace of this issue but it's so random and it only lasts a frame, I don't know how to catch the exact moment.

I tried messing around with mesa settings and vkd3d settings but nothing seems to make a difference.

Here's a video of the problem: video

And a screenshot:
2023-10-07 09-01-30

Software information

Talos Principle 2 Demo from Steam: https://store.steampowered.com/app/835960/The_Talos_Principle_2/

System information

  • GPU: AMD 6900XT
  • Driver: Current Mesa master
  • Wine version: Proton experimental, current master
  • VKD3D-Proton version: Current master
Mmbriar 2023-10-07 github

Should probably be tested on windows if it's not just a game bug.

Aadolfintel 2023-10-07 github

It doesn't happen on windows with the latest AMD driver. Sorry I forgot to mention it.

On the plus side it seems to be less stuttery with vkd3d.

Aadolfintel 2023-10-08 github

Quick update: turning Global Illumination down to medium gets rid of it. It disables nanite so it's probably related to that.

RRodoMa92 2023-10-11 github

Works fine on my Deck, although with not really good framerate. It fails on my RX580, claiming that it doesn't support SM6. Is this a MESA limitation, GPU limitation or what?

LogRHI: Checking if RHI D3D12 with Feature Level SM6 is supported by your system.
LogD3D12RHI: Found D3D12 adapter 0: AMD Radeon RX 580 Series (VendorId: 1002, DeviceId: 67df, SubSysId: 0000, Revision: 0000
LogD3D12RHI:   Max supported Feature Level 12_0, shader model 6.5, binding tier 3, wave ops supported, atomic64 supported
LogD3D12RHI:   Adapter has 8192MB of dedicated video memory, 0MB of dedicated system memory, and 16008MB of shared system memory, 1 output[s]
LogD3D12RHI:   Driver Version: 31.0.14051.5006 (internal:31.0.14051.5006, unified:31.0.14051.5006)
LogD3D12RHI:      Driver Date: 10-11-2023
LogD3D12RHI: Found D3D12 adapter 1: AMD Radeon RX 580 Series (RADV POLARIS10) (VendorId: 1002, DeviceId: 67df, SubSysId: 0000, Revision: 0000
LogD3D12RHI:   Max supported Feature Level 12_0, shader model 6.5, binding tier 3, wave ops supported, atomic64 supported
LogD3D12RHI:   Adapter has 8192MB of dedicated video memory, 0MB of dedicated system memory, and 16009MB of shared system memory, 1 output[s]
LogD3D12RHI:   Driver Version: Unknown (internal:Unknown, unified:Unknown)
LogD3D12RHI:      Driver Date: Unknown
LogD3D12RHI: DirectX Agility SDK runtime found.
LogD3D12RHI: Chosen D3D12 Adapter Id = 0
LogD3D12RHI: Adapter only supports up to Feature Level 'SM5', requested Feature Level was 'SM6'
LogRHI: OS: Windows 10 (21H1) [10.0.19043.UNKNOWN]
LogRHI: RHI D3D12 is not supported on your system; Windows 10 (21H1) [10.0.19043.UNKNOWN]
Message dialog closed, result: Ok, title: Message, text: DirectX 12 is not supported on your system. Try running without the -dx12 or -d3d12 command line argument.
LogWindows: FPlatformMisc::RequestExit(1)
LogWindows: FPlatformMisc::RequestExitWithStatus(1, 0)
LogCore: Engine exit requested (reason: Win RequestExit)
Aadolfintel 2023-10-11 github

@RodoMa92 I've seen people having this issue on windows too so it could just be a game bug. What version of mesa are you using?

RRodoMa92 2023-10-11 github

Heck, that was quick!

Yeah, trying mesa-git now, I'm on arch with 23.2 installed. This claims support up until 6.7, but it's not clear on what hardware are supported all of the features itself.

RRodoMa92 2023-10-11 github

Nope, no luck. Same problem.

RRodoMa92 2023-10-11 github

According to Wikipedia, on Windows it seems to still be supported (although barely), so maybe it's just a bug either in mesa or here? I'll take a look at the MESA bugtracker now.

RRodoMa92 2023-10-15 github

Yea, forgot to update. Solved the issue by actually forcing RADV instead of AMDVLK that as usual was ignoring my override. All good now.

Aadolfintel 2023-10-15 github

@RodoMa92 ah, that explains it, AMDVLK isn't quite ready for prime time yet. You're going to have the random glitchy frames though with RADV.

I haven't been able to find a workaround yet, hopefully one of the vkd3d devs can shed some light on this issue.

HHansKristian-Work maintainer 2023-10-20 github

Does not reproduce for me on RX 6800. Can you try https://github.com/HansKristian-Work/vkd3d-proton/pull/1746 with VKD3D_CONFIG=disable_uav_compression ?

Aadolfintel 2023-10-20 github

@HansKristian-Work
Just tested it with the latest mesa master and the latest vkd3d master since that PR was merged and it doesn't seem to work for me, the glitches are still there.

I also don't see the VK_EXT_image_compression_controls extension in vulkaninfo so that option is probably not doing anything, do I need to enable it somehow?

Aadolfintel 2023-10-20 github

I thought it was merged already :( oh well

I built that PR and the current vkd3d master but the glitch is 100% still happening even with disable_uav_compression,disable_depth_compression,disable_color_compression. I can see that the game is using the right DLL and the extension is visible in vulkaninfo. Am I missing something?

Here's a video of the worst spot I could find, in the south area, I'm pretty sure it's somehow related to the outline shader. I can provide a save file if you don't want to play through the whole demo.

Also, as someone has pointed out in a mesa issue, dmesg is full of page faults from amdgpu when running Talos 2, it could be releated.

@HansKristian-Work can you test it again making sure that the game is actually set to ultra? It has a nasty habit of changing settings by itself or not applying them until it's restarted

Proton versions

Launch options

Upstream links