https://bugs.freedesktop.org/show_bug.cgi?id=104193
Bug ID: 104193 Summary: [radeonsi] The Witcher 3 freezes the system with no attachments calls & transform feedback Wine patch Product: Mesa Version: git Hardware: x86-64 (AMD64) OS: Linux (All) Status: NEW Severity: normal Priority: medium Component: Drivers/Gallium/radeonsi Assignee: dri-devel@lists.freedesktop.org Reporter: shtetldik@gmail.com QA Contact: dri-devel@lists.freedesktop.org
Created attachment 136068 --> https://bugs.freedesktop.org/attachment.cgi?id=136068&action=edit The Witcher 3: rotfiends radeonsi freeze
Wine has an issue with distorted monsters in The Witcher 3. Józef Kucia identified the problem as follows:
* wined3d doesn't support draw calls with no attachments, * wined3d tries to map transform feedback buffers while transform feedback is paused.
See https://bugs.winehq.org/show_bug.cgi?id=43872#c8
He provided a patch: https://bugs.winehq.org/attachment.cgi?id=59848&action=diff&context=...
However applying it, is causing a system freeze (with radeonsi) after such kind of monsters are encountered in the game and fighting them for some time. See attached savegame for example with rotfiends.
Interestingly, Józef Kucia couldn't reproduce this freeze with radeon driver, so it appears to be radeonsi specific.
You can apply the above Wine patch to Wine git master to test it (I build Wine using just that patch, and one staging patch for performance:
https://raw.githubusercontent.com/wine-compholio/wine-staging/master/patches...
My last test environment:
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.18.0 / 4.13.0-1-amd64, LLVM 5.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.4.0-devel (git-b926da241a)
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #1 from Shmerl shtetldik@gmail.com --- Interestingly, this freeze seems to be Polaris specific. Users with Vega cards didn't manage to reproduce it. Same with older GCN 1.0 cards such as R9 M375 using amdgpu.ko.
So can it be a bug in amdgpu itself then?
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #2 from Shmerl shtetldik@gmail.com --- A correction, apparently Vega users are still getting the freeze, but unlike the Polaris case, they are able to exit the game without the whole system hanging (may be because Vega supports GPU reset better).
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #3 from Shmerl shtetldik@gmail.com --- Tested it with Linux 4.15rc5 and new amdgpu.dc=1 (to enable new display code). The freeze still happens.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #4 from Shmerl shtetldik@gmail.com --- Created attachment 137009 --> https://bugs.freedesktop.org/attachment.cgi?id=137009&action=edit GALLIUM_DDEBUG dumps during the GPU freeze
I run TW3 with GALLIUM_DDEBUG=10000 (10 second delay for GPU hang detection). It detected the hang when it actually happened (I also had to build umr debugger from source, since Mesa complained otherwise that umr isn't found).
I attach produced dumps, please check if it helps identifying the issue. See also included debug.log for console output. Let me know if it can be run in some other way to get more information.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #5 from Shmerl shtetldik@gmail.com --- Starting from Wine 3.3, the patch for invisible monsters that's causing the freeze is in Wine source, so you can test regular stock Wine from 3.3 and newer to narrow down the freeze using the attached save above.
I still get the freeze with the following:
OS: Debian testing x86_64 (kernel 4.15.4). OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.23.0 / 4.15.4-rcu, LLVM 5.0.1) OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.0-devel (git-51562ea7a0)
Proposed workaround MESA_EXTENSION_OVERRIDE=-GL_ARB_framebuffer_no_attachments prevents the freeze, but also avoids fixing the actual bug with invisible monsters.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #6 from Shmerl shtetldik@gmail.com --- I managed to narrow it down to building Wine with -march=znver1 that I used for AMD Ryzen. Without that, it's not freezing.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #7 from Shmerl shtetldik@gmail.com --- Actually, scrap that. I've just got another freeze even without znver1.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #8 from Shmerl shtetldik@gmail.com --- I got a new Sapphire Pulse Vega 56, and when using it - no freezes, I tested multiple times. It's possible, that with RX 480 it exposed some kind of hardware defect, hard to tell.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|[radeonsi] The Witcher 3 |[radeonsi] The Witcher 3 |freezes the system with no |freezes the system |attachments calls & |(POLARIS10) |transform feedback Wine | |patch |
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #9 from Lukas Jirkovsky l.jirkovsky@gmail.com --- For the record - the freeze also happens when using R600_DEBUG=nir on current mesa from git (5a75019ad0). I also have RX 480.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
--- Comment #10 from Christian Widmer cwidmer@umbrox.de --- It seems I have also just hit this bug. I am able to trigger hangs on my Sapphire Nitro+ Radeon RX 580 Special Edition on the first fight with ghouls after Geralt awakes from his dream at the beginning of the game using wine 3.13. It does not happen all the time, but when I do the fight a few times, there is eventually a point where it freezes.
I am using mesa git on commit c3eaf8fe5746e5b29a46a076247ba072c84e2ec5 and kernel 4.17.9 with the Gentoo patchset.
https://bugs.freedesktop.org/show_bug.cgi?id=104193
GitLab Migration User gitlab-migration@fdo.invalid changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |MOVED Status|NEW |RESOLVED
--- Comment #11 from GitLab Migration User gitlab-migration@fdo.invalid --- -- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.
You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/1290.
dri-devel@lists.freedesktop.org