https://bugs.winehq.org/show_bug.cgi?id=43273
Bug ID: 43273 Summary: The Witcher 3 freezes the system in a certain area of the game Product: Wine Version: 2.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3dx11 Assignee: wine-bugs@winehq.org Reporter: murks@tuxfamily.org Distribution: ---
Created attachment 58605 --> https://bugs.winehq.org/attachment.cgi?id=58605 Savegame in Velen
System: Ryzen 5 AMD RX 560
Arch Linux Linux 4.11.7 MESA 17.1.4 AMDGPU 1.3.0 wine-staging 2.11
I've had great success playing The Witcher 3 using wine-staging 2.11. I managed to play about ten hours in the area called White Orchard. After moving on to the area called Velen I pretty soon encountered a system freeze that is reproducible every time.
When the freeze happens the in-game music keeps playing. I can sometimes switch to TTY1 but afterwards the system reacts to nothing and the music stops. A hard reset is the only option. A savegame in the area where this happens is attached. Just turn left and run towards the cart. This freezes my system reliably.
https://bugs.winehq.org/show_bug.cgi?id=43273
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |shtetldik@gmail.com
--- Comment #1 from Shmerl shtetldik@gmail.com --- I encounter the same issue. I tried to find if any suspicious messages or system panics come up, but didn't find anything useful.
I wonder if it's Mesa specific or not. Did anyone with Nvidia blob encounter it?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #2 from murks@tuxfamily.org --- (In reply to Shmerl from comment #1)
I encounter the same issue. I tried to find if any suspicious messages or system panics come up, but didn't find anything useful.
I wonder if it's Mesa specific or not. Did anyone with Nvidia blob encounter it?
I have also tried to find any indication as to what is to blame, but sadly the systemd-journal as well as the xorg-log is completely lacking any relevant information.
https://bugs.winehq.org/show_bug.cgi?id=43273
murks@tuxfamily.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |ArchLinux
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #3 from Shmerl shtetldik@gmail.com --- Thinking of it, something on that level of lock up is most probably hardware driver related, so it could be an issue with amdgpu kernel driver. So may be it makes sense to open a Mesa bug for it.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #4 from murks@tuxfamily.org --- My thoughts exactly. That's why I've asked in several places for people to reproduce. Especially with Nvidia.
Kallestofeles tried to reproduce yesterday, with proprietary nvidia drivers. He could not use my save game due to missing DLC, so it's actually a different version of the game. This may or may not be relevant. Anyways, he had severe slowdowns when he looked in a certain direction at hanged man's tree. I guess this indicates a problem with the game or wine. He had no problems in the area of my save game. His machine did not freeze up.
This is at least an indication that it is a problem in either mesa or amdgpu. I wish someone would try to reproduce with amdgpu-pro and nvidia with my save game. the former I can try (had trouble installing amdgpu-pro). The later I can not do.
That would point to the culprit with some certainty (although it's often a combination of factors).
https://bugs.winehq.org/show_bug.cgi?id=43273
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|directx-d3dx11 |-unknown
https://bugs.winehq.org/show_bug.cgi?id=43273
Mikhail Paulyshka me@mixaill.tk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |me@mixaill.tk
--- Comment #5 from Mikhail Paulyshka me@mixaill.tk --- I can not reproduce the error on NVidia.
Intel i7 4710HQ NVidia 860M
Ubuntu 17.10 Linux 4.12-rc5 NVidia blob 375.66, NVidia PRIME Wine-staging 2.11, CSMT on.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #6 from Shmerl shtetldik@gmail.com --- (In reply to murks from comment #4)
This is at least an indication that it is a problem in either mesa or amdgpu. I wish someone would try to reproduce with amdgpu-pro and nvidia with my save game. the former I can try (had trouble installing amdgpu-pro). The later I can not do.
Can you open a Mesa bug for it please? Looks like it is amdgpu related.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #7 from murks@tuxfamily.org --- (In reply to Shmerl from comment #6)
(In reply to murks from comment #4)
This is at least an indication that it is a problem in either mesa or amdgpu. I wish someone would try to reproduce with amdgpu-pro and nvidia with my save game. the former I can try (had trouble installing amdgpu-pro). The later I can not do.
Can you open a Mesa bug for it please? Looks like it is amdgpu related.
I've reported it here: https://bugs.freedesktop.org/show_bug.cgi?id=101731
https://bugs.winehq.org/show_bug.cgi?id=43273
scix asheldon55@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |asheldon55@gmail.com
--- Comment #8 from scix asheldon55@gmail.com --- It certainly looks to be AMD related. I have a save where it locks up with these symptoms almost immediately on a RX550 using AMDGPU + Mesa, but works perfectly on two nvidia cards (780 and 980ti).
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #9 from Shmerl shtetldik@gmail.com --- (In reply to scix from comment #8)
It certainly looks to be AMD related. I have a save where it locks up with these symptoms almost immediately on a RX550 using AMDGPU + Mesa, but works perfectly on two nvidia cards (780 and 980ti).
Are you able to make an apitrace with this freeze? If you can, please post it in the related Mesa bug.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #10 from scix asheldon55@gmail.com --- (In reply to Shmerl from comment #9)
Are you able to make an apitrace with this freeze? If you can, please post it in the related Mesa bug.
I took a look at that bug and ran apitrace and wasn't able to reproduce the freeze. However, I do usually get error messages when the system freezes that may be related, or just a side effect:
fixme:d3d_shader:shader_glsl_generate_transform_feedback_varyings Unsupported component range 2-2. err:d3d:wined3d_debug_callback 0x2b20a340: "GL_INVALID_OPERATION in glBeginTransformFeedback(no varyings to record)". err:d3d:wined3d_debug_callback 0x2b20a340: "GL_INVALID_OPERATION in glPauseTransformFeedback(feedback not active or already paused)". err:d3d:wined3d_debug_callback 0x2b20a340: "GL_INVALID_OPERATION in glEndTransformFeedback(not active)".
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #11 from scix asheldon55@gmail.com --- Created attachment 58720 --> https://bugs.winehq.org/attachment.cgi?id=58720 Output on RX550 system with FOSS Mesa driver
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #12 from Shmerl shtetldik@gmail.com --- The freeze doesn't happen to me anymore. A few things are different in my setup since my last test.
1. Newer Mesa (17.2.0-devel git-91dd2ca99f). 2. Newer Wine (git-9118512135a1aa). 2. I changed my CPU from Intel i7 to AMD Ryzen 1700X, and I'm using different motherboard and RAM as well.
That somehow affects the result. Either Wine / Mesa fixed it, or it could be CPU specific and simply doesn't happen on certain hardware.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #13 from murks@tuxfamily.org --- (In reply to Shmerl from comment #12)
The freeze doesn't happen to me anymore. A few things are different in my setup since my last test.
- Newer Mesa (17.2.0-devel git-91dd2ca99f).
- Newer Wine (git-9118512135a1aa).
- I changed my CPU from Intel i7 to AMD Ryzen 1700X, and I'm using
different motherboard and RAM as well.
That somehow affects the result. Either Wine / Mesa fixed it, or it could be CPU specific and simply doesn't happen on certain hardware.
Thanks for letting me know, that is great news. I doubt it is CPU-specific as I have been using a Ryzen 1500X all along (ASUS Prime B350 plus mainboard, 2x8 GB memory).
I still get the freeze with wine-staging 2.12. I'll try a git version of MESA and WINE as soon as I can.
Have fun playing ;)
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #14 from Shmerl shtetldik@gmail.com --- Actually, I just experienced the freeze bug again. I guess it's somehow random, and it's not truly gone :(
https://bugs.winehq.org/show_bug.cgi?id=43273
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #15 from Shmerl shtetldik@gmail.com --- I noticed the following in /var/log/Xorg.0.log when this freeze happens:
[ 8704.853] (II) event4 - (II) Power Button: (II) device removed [ 8704.876] (II) event3 - (II) Power Button: (II) device removed [ 8704.892] (II) event0 - (II) HID ####:####: (II) device removed [ 8704.932] (II) event1 - (II) HID ####:####: (II) device removed [ 8704.964] (II) event2 - (II) Logitech G400s Optical Gaming Mouse: (II) device removed [ 8705.004] (II) event19 - (II) UVC Camera (####:####): (II) device removed [ 8705.052] (II) AIGLX: Suspending AIGLX clients for VT switch
I.e. Xorg somehow deactivates all USB devices (thus the keyboard and mouse freeze, even after you disconnect / reconnect them). Suspending AIGLX clients for VT switch message is also pretty suspicious.
https://bugs.winehq.org/show_bug.cgi?id=43273
Lennard lefl65@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |lefl65@gmail.com
--- Comment #16 from Lennard lefl65@gmail.com --- Created attachment 58822 --> https://bugs.winehq.org/attachment.cgi?id=58822 journalctl prints this when the crash happens
Not sure if it helps, but journalctl print this when the freeze happens Running a AMD Radeon R7 260X with radeonsi
https://bugs.winehq.org/show_bug.cgi?id=43273
Lennard lefl65@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #58822|journalctl prints this when |journalctl output when description|the crash happens |system freezes
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #17 from Lennard lefl65@gmail.com --- Created attachment 58823 --> https://bugs.winehq.org/attachment.cgi?id=58823 dmesg when freeze almost happened
I was able to somehow save my system by switching TTYs around, dmesg produced this
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #18 from Shmerl shtetldik@gmail.com --- (In reply to Lennard from comment #17)
Created attachment 58823 [details] dmesg when freeze almost happened
I was able to somehow save my system by switching TTYs around, dmesg produced this
Please comment also in this Mesa bug: https://bugs.freedesktop.org/show_bug.cgi?id=101731
It's most likely a problem in amdgpu.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #19 from murks@tuxfamily.org --- (In reply to Lennard from comment #17)
Created attachment 58823 [details] dmesg when freeze almost happened
I was able to somehow save my system by switching TTYs around, dmesg produced this
Those logs could be very valuable in helping to resolve this issue. Pleas post them over in the MESA bug tracker: https://bugs.freedesktop.org/show_bug.cgi?id=101731
You could also try to get a API trace.
https://bugs.winehq.org/show_bug.cgi?id=43273
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com
--- Comment #20 from Józef Kucia joseph.kucia@gmail.com --- An apitrace which can be used to reproduce the freeze would be useful (if possible). In order to get a usable trace you may need to disable GLX_OML_sync_control in winex11.drv because apitrace doesn't support this extension.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #21 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
An apitrace which can be used to reproduce the freeze would be useful (if possible). In order to get a usable trace you may need to disable GLX_OML_sync_control in winex11.drv because apitrace doesn't support this extension.
Interesting thing, the freeze doesn't happen anymore to me with latest Wine master. I'll try wine-2.14 to trace the freeze, since it can be useful for Mesa developers still.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #22 from Shmerl shtetldik@gmail.com --- Hm, I just tried it with Wine 2.14, but I commented out GLX_OML_sync_control part like you mentioned. Still no freeze. That's getting interesting. I'll try regular 2.14 staging now.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #23 from Shmerl shtetldik@gmail.com --- Wine-staging 2.14 surely hangs it. So something is different. I'll try to narrow it down.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #24 from Shmerl shtetldik@gmail.com --- I just built master, without dark ground patch, applying only these staging patches: ntdll-Grow_Virtual_Heap wined3d-buffer_create wined3d-sample_c_lz xaudio2-get_al_format
No freeze.
https://bugs.winehq.org/show_bug.cgi?id=43273
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #25 from Shmerl shtetldik@gmail.com --- Wine 2.14 with these patches:
dark ground patch and:
ntdll-Grow_Virtual_Heap wined3d-buffer_create wined3d-sample_c_lz wined3d-Copy_Resource_Typeless xaudio2-get_al_format
Freeze happens.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #26 from Shmerl shtetldik@gmail.com --- Wine 2.14 with:
dark ground patch and:
ntdll-Grow_Virtual_Heap wined3d-buffer_create wined3d-sample_c_lz xaudio2-get_al_format
No freeze!
So the culprit is wined3d-Copy_Resource_Typeless and its dependencies. I'll also produce a trace now with one that freezes and has GLX_OML_sync_control disabled.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #27 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
An apitrace which can be used to reproduce the freeze would be useful (if possible). In order to get a usable trace you may need to disable GLX_OML_sync_control in winex11.drv because apitrace doesn't support this extension.
See the trace here: https://ufile.io/i6czx
It's using Wine 2.14 with these patches: dark ground patch and:
ntdll-Grow_Virtual_Heap wined3d-buffer_create wined3d-sample_c_lz wined3d-Copy_Resource_Typeless xaudio2-get_al_format
And commented out portion that checks for GLX_OML_sync_control.
However, while it freezes the system when the game is run on its own in the above configuration, when it's being traced, the freeze doesn't happen.
Anyway, this will probably be of interest to Mesa / amdgpu developers, since as I said above, the freeze is gone when you skip this patchset: wined3d-Copy_Resource_Typeless
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #28 from Shmerl shtetldik@gmail.com --- Actually, I still get a freeze, even in the good configuration. This time it happened around Devil's Pit in Velen. I'll check if it's reproducible. The one which was reproducible before (in the Hanged Man Tree video sequence) is gone though, as I wrote above.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #29 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
An apitrace which can be used to reproduce the freeze would be useful (if possible). In order to get a usable trace you may need to disable GLX_OML_sync_control in winex11.drv because apitrace doesn't support this extension.
I uploaded another trace: https://ufile.io/9z5yc
It's a problematic area (Devil's Pit) which hangs the game even when the Velen intro works. It doesn't hang during when traced, but hangs quite reliably without it when you just turn camera around. Also, due to very intensive load, it's hard to record the trace - everything moves very slowly.
I compressed it with pixz, so you can decompress it faster as well (pixz -d). It's compatible with regular xz if anything.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #30 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
An apitrace which can be used to reproduce the freeze would be useful
Did this trace provide any info about potential crash?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #31 from Shmerl shtetldik@gmail.com --- The problem still happen with kernel 4.13:
penGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10 / DRM 3.18.0 / 4.13.0-rc5-amd64, LLVM 5.0.0) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.3.0-devel (git-f24cf82d6d)
I'm using latest Wine master with needed patches.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #32 from Shmerl shtetldik@gmail.com --- Created attachment 59004 --> https://bugs.winehq.org/attachment.cgi?id=59004 Save file near freeze area (Devil's Pit, Velen)
Just turn around a bit, especially looking at direction of the sun seems to trigger the freeze.
https://bugs.winehq.org/show_bug.cgi?id=43273
darkskyabove darkskyabove@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |darkskyabove@gmx.com
--- Comment #33 from darkskyabove darkskyabove@gmx.com --- (In reply to Shmerl from comment #32)
Created attachment 59004 [details] Save file near freeze area (Devil's Pit, Velen)
Just turn around a bit, especially looking at direction of the sun seems to trigger the freeze.
Loaded your savefile. Could not reproduce freeze w/Nvidia 384.59-5 (FX-4300, GTX 960, Arch Linux 4.12.8-2, wine-staging 2.15-1 +csmt no added patches).
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #34 from Shmerl shtetldik@gmail.com --- (In reply to darkskyabove from comment #33)
Loaded your savefile. Could not reproduce freeze w/Nvidia 384.59-5 (FX-4300, GTX 960, Arch Linux 4.12.8-2, wine-staging 2.15-1 +csmt no added patches).
Nvidia blob doesn't have the freeze, that was pointed out that it's Mesa specific bug.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #35 from darkskyabove darkskyabove@gmx.com --- (In reply to Shmerl from comment #34)
(In reply to darkskyabove from comment #33)
Loaded your savefile. Could not reproduce freeze w/Nvidia 384.59-5 (FX-4300, GTX 960, Arch Linux 4.12.8-2, wine-staging 2.15-1 +csmt no added patches).
Nvidia blob doesn't have the freeze, that was pointed out that it's Mesa specific bug.
Just adding info. Wasn't 100% sure that Mesa, CPU, or wine version was culprit. FYI going forward: wine-staging 2.15 results in chunky slowdowns, without fixing render issues, compared to 2.14. That's an investigation for a different bug(s).
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #36 from Shmerl shtetldik@gmail.com --- (In reply to darkskyabove from comment #35)
FYI going forward: wine-staging 2.15 results in chunky slowdowns, without fixing render issues, compared to 2.14. That's an investigation for a different bug(s).
Yes, please open another bug.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #37 from Shmerl shtetldik@gmail.com --- (In reply to darkskyabove from comment #35)
That's an investigation for a different bug(s).
There is also bug #42592 that's focused on performance.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #38 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
An apitrace which can be used to reproduce the freeze would be useful (if possible).
Hi Józef. Did you manage to reproduce the crash?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #39 from Shmerl shtetldik@gmail.com --- For the reference, I just tested it with Linux 4.13.0 using amdgpu display code branch from AMD. Unfortunately the freeze still happens with it.
https://bugs.winehq.org/show_bug.cgi?id=43273
Daniel Oom oom.daniel@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |oom.daniel@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #40 from murks@tuxfamily.org --- It seems the issue has been identified. It seems to be a bug in wine: https://bugs.freedesktop.org/show_bug.cgi?id=101731#c64
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #41 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #20)
An apitrace which can be used to reproduce the freeze would be useful
Józef: Samuel Pitoiset identified the issue, and provided a hack workaround for Mesa (it require building custom Mesa for it). However it's a bug in Wine itself. See his explanation in the link Murks posted right above.
https://bugs.winehq.org/show_bug.cgi?id=43273
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW Component|-unknown |directx-d3d
--- Comment #42 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Shmerl from comment #41)
Józef: Samuel Pitoiset identified the issue, and provided a hack workaround for Mesa (it require building custom Mesa for it). However it's a bug in Wine itself. See his explanation in the link Murks posted right above.
I'll try to prepare a fix soon.
https://bugs.winehq.org/show_bug.cgi?id=43273
aidan@jmad.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aidan@jmad.org
https://bugs.winehq.org/show_bug.cgi?id=43273
darkskyabove darkskyabove@gmx.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|darkskyabove@gmx.com |
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #43 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 59283 --> https://bugs.winehq.org/attachment.cgi?id=59283 Hack
Please try if the attached diff fixes the problem. The attached patch also includes a fix for bug 43239.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #44 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #43)
Created attachment 59283 [details] Hack
Please try if the attached diff fixes the problem. The attached patch also includes a fix for bug 43239.
I'll try it shortly. Since it includes the dark ground fix, it should be used instead of "generate mips" staging patch (i.e. this one https://github.com/wine-compholio/wine-staging/blob/master/patches/wined3d-G... )?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #45 from Shmerl shtetldik@gmail.com --- Actually that mips patch depends on the one that helped with dark ground, i.e. https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-I...
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #46 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #43)
Please try if the attached diff fixes the problem. The attached patch also includes a fix for bug 43239.
I just tested it, and can confirm that this patch prevents the freeze.
https://bugs.winehq.org/show_bug.cgi?id=43273
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #47 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #43)
Created attachment 59283 [details] Hack
Please try if the attached diff fixes the problem. The attached patch also includes a fix for bug 43239.
Can you please split this patch from the dark ground one?
The problem is with water effects. wined3d-GenerateMips staging patch fixes water (makes it look nice, without those black spots all around). But it's implementing dark ground patch implicitly as well, since it's pulling in wined3d-Interpolation_Modifiers.
See: * https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-I... * https://github.com/wine-compholio/wine-staging/tree/master/patches/wined3d-G...
So now currently to have nice water and no freeze, it would need some refactoring.
Or do you recommend staging patches to be refactored to include your new fixes for the freeze and dark ground?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #48 from Michael Müller michael@fds-team.de --- I have already prepared a patch for Staging, but I didn't add it yet because it can cause problems when the application sets a pixel shader. The code basically changes the output to match the stream output buffer format instead of the next shader stage (i.e. pixel shader) when rasterization is disabled. This is theoretically not a problem, because the pixel shader is never invoked in such a case and the output is therefore only relevant for the stream buffer.
The problem is that the OpenGL driver is not aware that the pixel shader is never going to be used when linking the program. It will therefore complain about the interface mismatch between the geometry shader output and the pixel shader input. The binary NVIDIA driver doesn't care about this at all, but at least on Intel I got a program link error. I didn't have time to do a full Wine build on this old machine, but reproduced it using a small sample program. Maybe I am overlooking something, but I couldn't see any code path that explicitly disables pixel shaders.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #49 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Michael Müller from comment #48)
The problem is that the OpenGL driver is not aware that the pixel shader is never going to be used when linking the program. It will therefore complain about the interface mismatch between the geometry shader output and the pixel shader input. The binary NVIDIA driver doesn't care about this at all, but at least on Intel I got a program link error. I didn't have time to do a full Wine build on this old machine, but reproduced it using a small sample program. Maybe I am overlooking something, but I couldn't see any code path that explicitly disables pixel shaders.
Yeah, that's the main reason why I called it a hack.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #50 from Józef Kucia joseph.kucia@gmail.com --- Created attachment 59333 --> https://bugs.winehq.org/attachment.cgi?id=59333 Patch
Could you try if this patch is enough to avoid the system freezes in Witcher?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #51 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #50)
Created attachment 59333 [details] Patch
Could you try if this patch is enough to avoid the system freezes in Witcher?
No, unfortunately that fix doesn't prevent the freeze. Applied staging patches besides the hack:
wined3d-buffer_create wined3d-sample_c_lz wined3d-GenerateMips d3d11-Deferred_Context xaudio2-get_al_format
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #52 from Shmerl shtetldik@gmail.com --- Created attachment 59387 --> https://bugs.winehq.org/attachment.cgi?id=59387 Varyings freeze patched, based on Mesa hack
Can anyone try this patch please? I used the idea from Samuel Pitoiset's hack, which injects one varying, if there are zero detected ( https://bugs.freedesktop.org/attachment.cgi?id=134356 ). So, same hack, but applied in Wine. At least it should allow using stock Mesa without building the custom one.
https://bugs.winehq.org/show_bug.cgi?id=43273
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #59387|Varyings freeze patched, |Varyings freeze patch, description|based on Mesa hack |based on Mesa hack
https://bugs.winehq.org/show_bug.cgi?id=43273
Hubert Rohrer hubizero@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hubizero@gmail.com
--- Comment #53 from Hubert Rohrer hubizero@gmail.com --- (In reply to Shmerl from comment #52)
Created attachment 59387 [details] Varyings freeze patch, based on Mesa hack
Can anyone try this patch please? I used the idea from Samuel Pitoiset's hack, which injects one varying, if there are zero detected ( https://bugs.freedesktop.org/attachment.cgi?id=134356 ). So, same hack, but applied in Wine. At least it should allow using stock Mesa without building the custom one.
I can confirm that your patch prevents the freeze.
Tested with mesa 17.2.1(stock) (AMD R9 380).
https://bugs.winehq.org/show_bug.cgi?id=43273
Lukas Jirkovsky l.jirkovsky@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |l.jirkovsky@gmail.com
--- Comment #54 from Lukas Jirkovsky l.jirkovsky@gmail.com --- I can confirm that:
attachment 59283 - works attachment 59333 - doesn't work attachment 59387 - works
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #55 from Shmerl shtetldik@gmail.com --- (In reply to Lukas Jirkovsky from comment #54)
I can confirm that:
attachment 59283 [details] - works attachment 59333 [details] - doesn't work attachment 59387 [details] - works
The point of the third patch, is to allow using it with patches from staging like Mips patch for example, which is needed for properly rendered water.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #56 from Shmerl shtetldik@gmail.com --- Looks like latest updates to Wine brought freeze back even with workaround patch.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #57 from Shmerl shtetldik@gmail.com --- Reverting commit 0832b5cded389096dcf74ac93367ae4ee4b8d35b and applying the workaround patch, prevents the freeze.
See https://source.winehq.org/git/wine.git/commitdiff/0832b5cded389096dcf74ac933...
Somehow that call to append_transform_feedback_skip_components inserts a varying that still falls through to the freeze condition (and workaround isn't applied since at least some varyings are present).
Józef Kucia: Can you please investigate?
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #58 from Shmerl shtetldik@gmail.com --- Looks like patches for fixing this are in progress already: https://source.winehq.org/patches/data/138358
https://bugs.winehq.org/show_bug.cgi?id=43273
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |b9464cfdc250a521b4f0823e425 | |2cec36361896c Resolution|--- |FIXED
--- Comment #59 from Józef Kucia joseph.kucia@gmail.com --- Should be fixed by commit b9464cfdc250a521b4f0823e4252cec36361896c.
Please retest.
https://bugs.winehq.org/show_bug.cgi?id=43273
--- Comment #60 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #59)
Should be fixed by commit b9464cfdc250a521b4f0823e4252cec36361896c.
Please retest.
I can confirm that it fixes the freeze. Thanks!
https://bugs.winehq.org/show_bug.cgi?id=43273
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #61 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.21.