https://bugs.winehq.org/show_bug.cgi?id=42347
Bug ID: 42347 Summary: The Witcher 3 starting menu is distorted [radeonsi] Product: Wine Version: 2.0-rc6 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 57113 --> https://bugs.winehq.org/attachment.cgi?id=57113 Witcher 3 main menu distortion (no CSMT)
I'm testing The Witcher 3 (GOG/1.31) with recent Wine staging 2.0 (CSMT disabled), using AMD RX 480 and latest Mesa devel:
OpenGL renderer string: Gallium 0.4 on AMD POLARIS10 (DRM 3.8.0 / 4.9.0-1-amd64, LLVM 3.9.1) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.0-devel (git-2ab2be092d) OpenGL core profile shading language version string: 4.50
Users of Nvidia blob report that they don't have this issue in the starting menu which appears correct to them, so menu distortion looks radenosi specific.
I opened a Mesa bug here: https://bugs.freedesktop.org/show_bug.cgi?id=99444 However, Mesa developers closed it, noting, that it must be caused by Wine using NV_register_combiners without checking if it's supported by the driver. See details in the linked bug.
An relevant portion of the API trace log (filtered):
120612: message: major api error 2: GL_INVALID_ENUM in glActiveTexture(texture=GL_COMBINER0_NV) 120612 @1 glActiveTexture(texture = GL_COMBINER0_NV) 120619: message: major api error 2: GL_INVALID_ENUM in glActiveTexture(texture=GL_COMBINER1_NV) 120619 @1 glActiveTexture(texture = GL_COMBINER1_NV) 120626: message: major api error 2: GL_INVALID_ENUM in glActiveTexture(texture=GL_COMBINER2_NV) 120626 @1 glActiveTexture(texture = GL_COMBINER2_NV) ...
https://bugs.winehq.org/show_bug.cgi?id=42347
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|2.0-rc6 |2.0
https://bugs.winehq.org/show_bug.cgi?id=42347
darkbasic darkbasic@linuxsystems.it changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |darkbasic@linuxsystems.it
--- Comment #1 from darkbasic darkbasic@linuxsystems.it --- Not surprised at all, they think that only Nvidia exists.
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #2 from Henri Verbeet hverbeet@gmail.com --- (In reply to darkbasic from comment #1)
Not surprised at all, they think that only Nvidia exists.
Wine is a Free Software project, and Free Software drivers are its primary target. Wined3d developers use both the r600g and radeonsi drivers, and I personally have over a hundred commits in Mesa.
That doesn't mean there aren't any bugs in either Wine or Mesa, but comments like yours are extremely unhelpful and counterproductive.
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #3 from Shmerl shtetldik@gmail.com --- I just tested it with wine-staging 2.1.0, with CSMT enabled. The corruption in the start menu is gone! Without the CSMT, it still has corruptions.
https://bugs.winehq.org/show_bug.cgi?id=42347
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #4 from Józef Kucia joseph.kucia@gmail.com --- (In reply to Shmerl from comment #3)
I just tested it with wine-staging 2.1.0, with CSMT enabled. The corruption in the start menu is gone! Without the CSMT, it still has corruptions.
Based on the attached screenshot and the fact that CSMT fixes the issue, the problem seems to be related to using multiple GL contexts. Does StrictDrawOrdering fix the problem?
You can enable StrictDrawOrdering in registry (https://wiki.winehq.org/Useful_Registry_Keys).
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #5 from Shmerl shtetldik@gmail.com --- (In reply to Józef Kucia from comment #4)
Based on the attached screenshot and the fact that CSMT fixes the issue, the problem seems to be related to using multiple GL contexts. Does StrictDrawOrdering fix the problem?
Yes, I just tested it with StrictDrawOrdering enabled, and this issue doesn't occur.
https://bugs.winehq.org/show_bug.cgi?id=42347
Ivan Set s.i.v.892@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |s.i.v.892@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=42347
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #6 from winetest@luukku.com --- Latest wine changelog had "Multi-threaded command stream in Direct3D." Is this fixed in wine 2.6?
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #7 from Shmerl shtetldik@gmail.com --- (In reply to winetest from comment #6)
Latest wine changelog had "Multi-threaded command stream in Direct3D." Is this fixed in wine 2.6?
It works in Wine 2.6 with CSMT enabled, and broken when it's not. To run TW3 in Wine 2.6 you still need at least a couple of patch sets from staging though:
ntdll-Grow_Virtual_Heap and wined3d-buffer_create
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #8 from winetest@luukku.com --- (In reply to Shmerl from comment #7)
(In reply to winetest from comment #6)
Latest wine changelog had "Multi-threaded command stream in Direct3D." Is this fixed in wine 2.6?
It works in Wine 2.6 with CSMT enabled, and broken when it's not. To run TW3 in Wine 2.6 you still need at least a couple of patch sets from staging though:
ntdll-Grow_Virtual_Heap and wined3d-buffer_create
Can this bug then be solved since enabling CSMT fixes this? Or do we have to wait until it's enabled by default? Or wait for some other solution?
ntdll-Grow_Virtual_Heap is bug 39885, but how do I find the other patch?
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #9 from Shmerl shtetldik@gmail.com --- I think it can be probably closed. The buffer pool patch is found here:
https://github.com/wine-compholio/wine-staging/blob/master/patches/wined3d-b...
It improves performance. See bug #42592.
https://bugs.winehq.org/show_bug.cgi?id=42347
Shmerl shtetldik@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #10 from Shmerl shtetldik@gmail.com --- Using CSMT fixes this issue.
https://bugs.winehq.org/show_bug.cgi?id=42347
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.7.
https://bugs.winehq.org/show_bug.cgi?id=42347
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #12 from Fabian Maurer dark.shadow4@web.de --- Shouldn't this be marked "STAGED" instead? After all, the bug is still present in vanilla wine.
https://bugs.winehq.org/show_bug.cgi?id=42347
--- Comment #13 from Shmerl shtetldik@gmail.com --- It's not present, if you enable CSMT.