https://bugs.winehq.org/show_bug.cgi?id=43872
Bug ID: 43872 Summary: The Witcher 3: some monsters are completely invisible Product: Wine Version: 2.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: shtetldik@gmail.com Distribution: ---
Created attachment 59476 --> https://bugs.winehq.org/attachment.cgi?id=59476 Invisible hound of the Wild Hunt
Hounds of the Wild Hunt are completely invisible (and they shouldn't be). See attached screenshot.
Configuration:
Graphics:
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.15.0 / 4.12.0-2-amd64, LLVM 5.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.0-devel (git-3e54493265) OpenGL core profile shading language version string: 4.50
Wine staging patches applied:
wined3d-buffer_create wined3d-sample_c_lz wined3d-GenerateMips d3d11-Deferred_Context xaudio2-get_al_format
(+Wine varyings freeze prevention patch).
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #1 from Shmerl shtetldik@gmail.com --- Created attachment 59477 --> https://bugs.winehq.org/attachment.cgi?id=59477 Save near encounter with invisible hounds (GOTY)
This save is a bit before, since there is a sequence before hounds appear, but it's pretty close.
https://bugs.winehq.org/show_bug.cgi?id=43872
Mikko Niemelä mikko.niemela@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikko.niemela@gmail.com
--- Comment #2 from Mikko Niemelä mikko.niemela@gmail.com --- This also happens at least with rotfiends, sirens and harpys.
Also changelings are invisible except for their eyes and mouths and vampires that have transformed are invisible too.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #3 from Shmerl shtetldik@gmail.com --- (In reply to Mikko Niemelä from comment #2)
This also happens at least with rotfiends, sirens and harpys.
Rotfiend on the Velen battlefield looked OK. There is also another monster distortion, which applies polygons incorrectly, i.e. bug 43828. I'm not sure if it's the same thing.
https://bugs.winehq.org/show_bug.cgi?id=43872
Lukas Jirkovsky l.jirkovsky@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |l.jirkovsky@gmail.com
--- Comment #4 from Lukas Jirkovsky l.jirkovsky@gmail.com --- It seems to me that it with rotfiends it happens only occasionally. Sometimes they instead have distorted surface as mentioned in bug 43828. Most of the time they look fine on my system. Harpy are absolutely no problem.
However, I've never even saw one of the hounds or a siren.
For me this is the most annoying of all issues with Witcher. While other issues make something look bad, this seriously hurts gameplay (especially because of sirens which are annoying little buggers)
https://bugs.winehq.org/show_bug.cgi?id=43872
Bernd Kosmahl beko@maxr.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |beko@maxr.org
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #5 from Mikko Niemelä mikko.niemela@gmail.com --- Created attachment 59644 --> https://bugs.winehq.org/attachment.cgi?id=59644 Partially invisible character model
This is how a character model that has transformation effects looks like. This seems to happen to NPCs that undergo some kind of transformation (changelings, vampires, or otherwise magically disintegrated) and it has an effect that causes them not to render correctly.
Not entirely sure if it's the same bug since some parts of the model are still visible.
https://bugs.winehq.org/show_bug.cgi?id=43872
Daniel Oom oom.daniel@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |oom.daniel@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43872
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #6 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Shmerl from comment #1)
Created attachment 59477 [details] Save near encounter with invisible hounds (GOTY)
This save is a bit before, since there is a sequence before hounds appear, but it's pretty close.
A save game immediately before invisible monsters, e. g. from a different location, would be helpful for fixing this bug.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #7 from Mikko Niemelä mikko.niemela@gmail.com --- Created attachment 59769 --> https://bugs.winehq.org/attachment.cgi?id=59769 The Witcher 3 save, invisible sirens
https://bugs.winehq.org/show_bug.cgi?id=43872
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|wine-bugs@winehq.org |joseph.kucia@gmail.com
--- Comment #8 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Mikko Niemelä from comment #7)
Created attachment 59769 [details] The Witcher 3 save, invisible sirens
Thanks. The bug is caused by two issues: * wined3d doesn't support draw calls with no attachments, * wined3d tries to map transform feedback buffers while transform feedback is paused. I should have a fix soon.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #9 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 59794 --> https://bugs.winehq.org/attachment.cgi?id=59794 Hack1
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #10 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 59795 --> https://bugs.winehq.org/attachment.cgi?id=59795 Hack2
For some graphics drivers hack1.diff might be enough. If it doesn't fix the issue completely, try to additionally apply hack2.diff.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #11 from Mikko Niemelä mikko.niemela@gmail.com --- Created attachment 59796 --> https://bugs.winehq.org/attachment.cgi?id=59796 Correctly rendering character
(In reply to Józef Kucia from comment #9)
Created attachment 59794 [details] Hack1
I can confirm that this fixes the invisible character models. Tested by loading the siren save file.
Also tested by watching the cutscene I took a picture I mentioned in comment #5. Character now renders correctly in the transformation sequence.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #12 from Shmerl shtetldik@gmail.com --- (In reply to Mikko Niemelä from comment #11)
I can confirm that this fixes the invisible character models. Tested by loading the siren save file.
Can you post your hardware and Mesa version please?
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #13 from Mikko Niemelä mikko.niemela@gmail.com --- (In reply to Shmerl from comment #12)
Can you post your hardware and Mesa version please?
I am running a GTX 1070, driver version 384.98.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #14 from Shmerl shtetldik@gmail.com --- I applied hack 1 and rotfiends look OK now, but it freezes the whole system for me after a short time.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #15 from Shmerl shtetldik@gmail.com --- I tested it with hack 1 + hack 2 as well, and it's freezing too (around those previously anomalous monsters). Monsters themselves don't have distortions though in both cases.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #16 from Shmerl shtetldik@gmail.com --- Hardware / driver:
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-d7c8c7bd9d)
https://bugs.winehq.org/show_bug.cgi?id=43872
lod winehq@bremsspur.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winehq@bremsspur.org
--- Comment #17 from lod winehq@bremsspur.org --- Same Problem here. I applied both patches and the monsters are visible now, but my system froze after a while.
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.19.0 / 4.14.2-1-ARCH, LLVM 5.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.0-rc5
https://bugs.winehq.org/show_bug.cgi?id=43872
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #59794|0 |1 is obsolete| | Attachment #59795|0 |1 is obsolete| |
--- Comment #18 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 59848 --> https://bugs.winehq.org/attachment.cgi?id=59848 Hack v2
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #19 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #18)
Created attachment 59848 [details] Hack v2
Unfortunately, it's still freezing the system.
The way I built Wine:
git checkout 7afbeb5dddaecdafeecb52fd96ed5acfe08d2029
(Using latest master introduces conflicting mips changes, so I had to use the last commit that includes discard_z changes).
Then I had to rebase rebase staging patches slightly to match that commit (here is a diff: https://pastebin.com/raw/X3qmauUF ).
Then applied these staging patchsets: wined3d-buffer_create wined3d-GenerateMips d3d11-Deferred_Context
Then hack v2 above.
In the end - same freeze as with hack v1.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #20 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Shmerl from comment #19)
(In reply to Józef Kucia from comment #18)
Created attachment 59848 [details] Hack v2
Unfortunately, it's still freezing the system.
Unfortunately, I cannot reproduce on my mobile AMD Southern Islands GPU.
Is the hang reproducible with the savegames attached to this bug?
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #21 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
Is the hang reproducible with the savegames attached to this bug?
I just tested it, and it doesn't freeze with sirens. Let me upload a savegame with rotfiends which is causing the freeze.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #22 from Shmerl shtetldik@gmail.com --- Created attachment 59859 --> https://bugs.winehq.org/attachment.cgi?id=59859 The Witcher 3: rotfiends Mesa freeze
Freeze happens shortly after you start fighting rotfiends. It's possibly caused by some effect that monsters produce conditionally during combat, which is not active by default.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #23 from lod winehq@bremsspur.org --- Created attachment 59860 --> https://bugs.winehq.org/attachment.cgi?id=59860 The Witcher 3: wraith in towerful of mice quest Mesa freeze
The freeze still happens to me too. Here a different save with a special wraith from a quest. Just fight it and the system will freeze.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #24 from Józef Kucia joseph.kucia@gmail.com --- Thanks for the savegames.
Unfortunately, I still cannot reproduce on my hardware.
OpenGL renderer string: AMD CAPE VERDE (DRM 2.50.0 / 4.13.12-1-ARCH, LLVM 6.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.4.0-devel (git-ae44845aff)
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #25 from lod winehq@bremsspur.org --- so it could be a amgpu problem? Maybe it's worth to test the experimental amdgpu support for Southern Islands (CAPE VERDE, PITCAIRN, TAHITI, OLAND, HAINAN) https://wiki.archlinux.org/index.php/AMDGPU#Enable_Southern_Islands_.28SI.29...
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #26 from Shmerl shtetldik@gmail.com --- May be llvm affects it too? The freeze happens to me with libllvm 5.0.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #27 from lod winehq@bremsspur.org --- OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.19.0 / 4.14.3-1-ARCH, LLVM 6.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.4.0-devel (git-e19c623128)
it still freezes
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #28 from Shmerl shtetldik@gmail.com --- (In reply to lod from comment #27)
LLVM 6.0.0 it still freezes
OK, it must be amdgpu then, vs legacy radeon.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #29 from Shmerl shtetldik@gmail.com --- Since it's not happening with radeon, it might be worth it to open a Mesa bug.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #30 from Józef Kucia joseph.kucia@gmail.com --- You could try to get an apitrace, a trace would be useful if it reproduces the issue.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #31 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #30)
You could try to get an apitrace, a trace would be useful if it reproduces the issue.
I'll try that (do I still need that special patch to enable tracing?), though the trace might become very big. With rotfiends, I had to fight several of them, and it froze only on the last one. It's not very consistent (for a moment I thought the bug is fixed on the latest Wine master). May be you just didn't wait long enough to trigger the freeze?
In the last test, I used Wine master with wined3d-buffer_create d3d11-Deferred_Context from staging, and hack v2.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #32 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Shmerl from comment #31)
I'll try that (do I still need that special patch to enable tracing?), though the trace might become very big. With rotfiends, I had to fight several of them, and it froze only on the last one. It's not very consistent (for a moment I thought the bug is fixed on the latest Wine master). May be you just didn't wait long enough to trigger the freeze?
In the last test, I used Wine master with wined3d-buffer_create d3d11-Deferred_Context from staging, and hack v2.
I think I've killed all rotfiends 2 times, but I'll try again. Do you really need d3d11-Deferred_Context? Could you try without it?
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #33 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #32)
I think I've killed all rotfiends 2 times, but I'll try again. Do you really need d3d11-Deferred_Context? Could you try without it?
I just tired without deferred context (I thought that patch is related to water rendering problems, but it looks like it's fine without it and even seems performing more smoothly). It's still freezing though :)
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #34 from Shmerl shtetldik@gmail.com --- I tried tracing it, applying that omx patch, but it slows everything down so much - I can't even move in the game.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #35 from Shmerl shtetldik@gmail.com --- I opened a Mesa bug about the freeze: https://bugs.freedesktop.org/show_bug.cgi?id=104193
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #36 from Józef Kucia joseph.kucia@gmail.com --- I cannot reproduce the system freeze with amdgpu.ko:
OpenGL renderer string: AMD Radeon (TM) R9 M375 (CAPE VERDE / DRM 3.19.0 / 4.14.6-1-ARCH, LLVM 6.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.4.0-devel (git-5d03a68640)
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #37 from Shmerl shtetldik@gmail.com --- Interesting. I wonder if it's somehow Polaris specific. Does this freeze happen with Vega cards?
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #38 from Shmerl shtetldik@gmail.com --- I asked some Vega users in this thread: https://www.gamingonlinux.com/forum/topic/2753/post_id=13486
hopefully someone can help testing it.
https://bugs.winehq.org/show_bug.cgi?id=43872
Graham libgradev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |libgradev@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #39 from Shmerl shtetldik@gmail.com --- Looks like Vega users didn't manage to reproduce it either. So it appears to be Polaris specific issue. I commented about it in the Mesa bug.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #40 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.winehq.org/show_bug.cgi?id=43872
--- Comment #41 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #30)
You could try to get an apitrace, a trace would be useful if it reproduces the issue.
Any recommendation how to trace it properly? When I'm trying to trace it, it slows down to a crawl, so I can't even do anything in the game.
https://bugs.winehq.org/show_bug.cgi?id=43872
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #42 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.winehq.org/show_bug.cgi?id=43872
--- Comment #43 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #36)
I cannot reproduce the system freeze with amdgpu.ko:
I run it with GALLIUM_DDEBUG=10000. See results here: https://bugs.freedesktop.org/show_bug.cgi?id=104193#c4
Hopefully it will help narrowing it down.
https://bugs.winehq.org/show_bug.cgi?id=43872
Kai Krakow kai@kaishome.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kai@kaishome.de
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #44 from Shmerl shtetldik@gmail.com --- Is anyone with Vega card still able to reproduce this freeze?
https://bugs.winehq.org/show_bug.cgi?id=43872
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #59848|0 |1 is obsolete| |
--- Comment #45 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 60650 --> https://bugs.winehq.org/attachment.cgi?id=60650 Transform feedback hack
https://source.winehq.org/git/wine.git/?a=commit;h=7096e1e02d900bb47c819fde2...
Draw calls with no attachments are implemented in Wine 3.3. The invisible monsters bug should be fixed for Mesa drivers. If you experience GPU hangs, please use MESA_EXTENSION_OVERRIDE=-GL_ARB_framebuffer_no_attachments as a workaround, and please report back with details of your system configuration.
The bug may still be present for Nvidia users (Wine doesn't correctly end transform feedback in certain cases). The attached hack should fix the issue.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #46 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #45)
If you experience GPU hangs, please use MESA_EXTENSION_OVERRIDE=-GL_ARB_framebuffer_no_attachments as a workaround, and please report back with details of your system configuration.
Is there performance impact from doing that?
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #47 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Shmerl from comment #46)
(In reply to Józef Kucia from comment #45)
If you experience GPU hangs, please use MESA_EXTENSION_OVERRIDE=-GL_ARB_framebuffer_no_attachments as a workaround, and please report back with details of your system configuration.
Is there performance impact from doing that?
No.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #48 from Shmerl shtetldik@gmail.com --- I tested Wine master (which is currently wine-3.3), and the fix for invisible monsters works for Mesa indeed, but still freezes my GPU.
Configuration:
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.23.0 / 4.15.4, LLVM 5.0.1) OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.0-devel (git-51562ea7a0)
Disabling GL_ARB_framebuffer_no_attachments prevents freezes, but as expected leaves invisible monsters.
Hopefully now with patch in the source, some Mesa developers can debug the freeze.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #49 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.winehq.org/show_bug.cgi?id=43872
--- Comment #50 from Shmerl shtetldik@gmail.com --- Actually, scrap that. I've just got another freeze even without znver1.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #51 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.winehq.org/show_bug.cgi?id=43872
--- Comment #52 from Shmerl shtetldik@gmail.com --- I think this can be closed for now, since actual invisibility issue is fixed, and the freeze is rather hardware specific.
https://bugs.winehq.org/show_bug.cgi?id=43872
--- Comment #53 from Kai Krakow kai@kaishome.de --- I agree: No more invisible monsters here.
https://bugs.winehq.org/show_bug.cgi?id=43872
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #54 from Shmerl shtetldik@gmail.com --- Invisible monsters were fixed, and freezes on certain cards can be tracked as a different bug if someone will still encounter them.
https://bugs.winehq.org/show_bug.cgi?id=43872
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|joseph.kucia@gmail.com |wine-bugs@winehq.org Fixed by SHA1| |7096e1e02d900bb47c819fde223 | |ec91dd7dbb733
https://bugs.winehq.org/show_bug.cgi?id=43872
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #55 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.6.