Bug 106287

Summary: 18.0.1 introduced glitches in Dying Light
Product: Mesa Reporter: Henrik Holst <henrik.holst2>
Component: Drivers/Gallium/radeonsiAssignee: Default DRI bug account <dri-devel>
Status: RESOLVED DUPLICATE QA Contact: Default DRI bug account <dri-devel>
Severity: normal    
Priority: medium    
Version: 18.0   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 77449    

Description Henrik Holst 2018-04-28 00:41:33 UTC
Upgrading from 18.0.0 to 18.0.1 introduced graphical glitches in Dying Light. There is usually a black box in the center of the screen where the sight should be and if one is looking at areas with water the entire screen glitches like crazy.

Tried to rebuild the shader cache by removing .cache/mesa_shader_cache but that didn't help.

Some info from glxinfo:

OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.19.0 / 4.14.37, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.1 - padoka PPA
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.0.1 - padoka PPA
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.1 - padoka PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
Comment 1 Henrik Holst 2018-04-28 17:24:54 UTC
I've just reverted back to the 18.0.0 files from the Padoka PPA and now Dying Light works fine without any glitches so there is definitely something in the 18.0.1 release that creates problems with Dying Light.

Also found another amdgpu user on Steam that experienced the same problem with a Fury X so this is not just me.
Comment 2 stupot 2018-05-07 01:58:07 UTC
I have this same issue, although I'm running 18.0.2.  

stupot@sabayon ~ $ glxinfo | grep OpenGL
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.23.0 / 4.16.0-sabayon, LLVM 5.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.2
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 18.0.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
Comment 3 stupot 2018-05-11 21:47:27 UTC
This is fixed in 15.0.3 on my machine.
Comment 4 stupot 2018-06-02 02:35:12 UTC
Well, I finally got back to the game.  I'm on mesa 18.1  and I see the problem again.  Maybe it was never fully fixed.
Comment 5 stupot 2018-06-05 17:28:23 UTC
Adding more, barely useful information.

Sometimes, I can start the game and the issues aren't there.   Sometimes I start the game and they are there.  It's apparent at the start (the menu screen actually).  Seems like there's some luck as to initialization/threading involved to me.
Comment 6 Henrik Holst 2018-06-05 23:29:16 UTC
Sounds almost like a locking issue / racing condition then. Almost looks like we have to try and compile mesa ourselves to figure out which patch to 18.0.1 that broke it and why 18.0.3 fixed it while 18.1.0 broke it again even though 18.1.0 contains all the patches from 18.0.3...

Currently I'm using the Padoka PPA but the stable one seams to be stuck at 18.0.1 for 16.04LTS and the unstable one seams to have dropped support for 16.04 altogether.
Comment 7 Henrik Holst 2018-06-05 23:32:51 UTC
BTW if there are any mesa devs out there with a Radeon RX and that is willing to try and find how to fix this I'm willing to gift a copy of Dying Light.
Comment 8 stupot 2018-06-11 02:40:24 UTC
I've done a bit more playing around and it is a race condition, but it's one that happens on initialization.  If I let the loading screen/movie play for a few minutes before actually attempting to play, the issues (water/black box for sight) don't happen.  If I skip it as quickly as possible, they screw up.
Comment 9 Henrik Holst 2018-06-11 17:26:42 UTC
Just tried that and the black box around the sight vanished but the water effect is still there for me, this is on 18.0.1 however so perhaps 18.1.x works differently there. Wouldn't be surprised either if this is an actual game bug considering how unstable Dying Light is (cannot currently go past the granary since the game crashes there every time).
Comment 10 Henrik Holst 2018-06-15 19:28:04 UTC
Managed to switch from the Padoka PPA to xenial-proposed and thus upgraded to mesa 18.0.5 and now I don't know if this is just one of the random things with this game but the problem with water seams to have disappeared for me. I still get a black (which on some runs are semi-transparant yellow) box where the sight is and getting hit by the spitter garbles the whole screen but I can now look at water and swim in it without any problems.
Comment 11 Timothy Arceri 2018-09-12 05:38:09 UTC
Getting an apitrace [1] of the issues would help with debugging.

[1] https://github.com/apitrace/apitrace/wiki/Steam
Comment 12 Henrik Holst 2018-11-21 21:39:16 UTC
I upgraded to Ubuntu 18.04LTS a while back in order to test newer versions of Mesa since Padoka PPA stopped supporting 14.04LTS and that broker the game completely just as it previously had done for people on Arch and Manjaro.

However the recent discovery from https://www.reddit.com/r/linux_gaming/comments/9jd2y0/how_to_play_dying_light_in_arch_linux/ that turned out that if you recompiled libgl.so.1.2.0 (this is in fact the single lib that have to be replaced) without support for glvnd and then either DL_PRELOAD:ing it or renaming it to libgl.so.1 and putting it in the game folder of Dying Light makes it work again.

So now that I'm on both 18.2.4 and with the fix above the problem is completely gone. Hard to tell if it's the mesa version or if it's the omission of glvnd that fixed this very issue but considering that the game bugs out completely without the glvnd-workaround I would guess that this was also the culprit behind the original problem of mine.

So the problem lies probably in DL itself and not in mesa, just that 18.0.1 somehow exposed the problem.
Comment 13 Timothy Arceri 2018-11-29 04:21:28 UTC

*** This bug has been marked as a duplicate of bug 107990 ***

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.