[Bug 55045] New: NFS Most Wanted has missing graphics with WineD3D in WoW64 mode
https://bugs.winehq.org/show_bug.cgi?id=55045 Bug ID: 55045 Summary: NFS Most Wanted has missing graphics with WineD3D in WoW64 mode Product: Wine Version: 8.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs(a)winehq.org Reporter: aidas957(a)gmail.com Distribution: ArchLinux Created attachment 74608 --> https://bugs.winehq.org/attachment.cgi?id=74608 NFS Most Wanted graphics corruption screenshot Hello, as you have seen in the title, Need for Speed Most Wanted has missing graphics when using WineD3D together with the new WoW64 mode (the old WoW64 mode works fine as expected) The first thing you'll notice is that the intro video is a black screen with a semi-broken cursor After that the start screen is completely black with some flickering (and then once the main menu loads the 3D scene looks fine but the 2D menu interface is missing completely except for some weird flickers) If I load the game in the old WoW64 mode, the issues disappear and the game looks correct Now for some system information: Kernel: 6.3.6-arch1 Graphics driver: Mesa 23.1.2 (with radeonsi driver being used) GPU: AMD Renoir (the GPU in my Ryzen 5 4600H) Window manager: KWin 5.27.5 (Wayland) I couldn't upload a log and a trace to the Bugzilla attachments due to file size limits, so here they are: WineD3D WoW64 apitrace (done from the Linux side): https://drive.google.com/file/d/1JkRbuoq9QLeQ8EsLvIVRnVvn4Ub1PthI/view Huge Wine log (with +d3d,+d3d9,-ver,-d3dx): https://drive.google.com/file/d/1731nk11aUqVrJHw42TbulQ9WkvmT7rTz/view Note: I had to apply this patch (https://gitlab.winehq.org/wine/wine/-/commit/13b9d7da6446ba6386be6c586c7d152...) to prevent the game from crashing (because WoW64 doesn't support the PERSISTENT_BIT flag yet) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 Zeb Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12(a)gmail.com --- Comment #1 from Zeb Figura <z.figura12(a)gmail.com> --- Does the game work if you hack out persistent mapping on an old-style wow64 build? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 serenity(a)floorchan.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |serenity(a)floorchan.org --- Comment #2 from serenity(a)floorchan.org --- (In reply to Zeb Figura from comment #1)
Does the game work if you hack out persistent mapping on an old-style wow64 build?
Hi, I did some testing on a build of wine 8.10 with mr3053 applied on wow64, and then mr3053 hacked up to always only offer opengl 4.3 instead on old wow64. Some notes: 1. Most, if not all Direct3D games are broken on new wow64, with similar issues(CSS(only displays a quit button), Deus Ex(renders a single digit number of polys on the screen), very basic directx7 tests fail even). 2. This issue is isolated to new wow64, and doesn't occur on old wow64. The hacked mr3053 build seems to run these games without graphical issues. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 --- Comment #3 from Aida JonikienÄ— <aidas957(a)gmail.com> --- It looks like this PR works around this issue: https://gitlab.winehq.org/wine/wine/-/merge_requests/3047 After looking in the apitrace again I now see that glGetBufferPointerv() returns a 32-bit pointer (and the memcpy() destination is also a 32-bit pointer) so that might be the main difference that's making the games work properly again (so maybe pointer conversion is messed up somewhere?) Weirdly Unigine Heaven (in native OpenGL mode) has no issues with 64-bit pointers despite being a 32-bit application in memcpy() and glGetBufferPointerv() calls (which are a part of the wow64_map_buffer() function) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 --- Comment #4 from Zeb Figura <z.figura12(a)gmail.com> --- I believe this was fixed by <https://source.winehq.org/git/wine.git/commitdiff/77981d45488d2d4458b90eee5e8acb7a17e84100>, right? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 --- Comment #5 from Aida JonikienÄ— <aidas957(a)gmail.com> --- It does fix the issue (with a huge performance downgrade though because I counted 3 FPS in the Most Wanted title screen) Hopefully the OpenGL performance issues can be fixed somehow (I think the best solution will be hooking mmap() if the OpenGL extension never gets released which is quite likely considering Khronos has basically moved to Vulkan) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 Zeb Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |77981d45488d2d4458b90eee5e8 | |acb7a17e84100 --- Comment #6 from Zeb Figura <z.figura12(a)gmail.com> --- (In reply to Aida JonikienÄ— from comment #5)
It does fix the issue (with a huge performance downgrade though because I counted 3 FPS in the Most Wanted title screen)
Marking fixed then. The performance issue is covered by bug 55981. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 Zeb Figura <z.figura12(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|d3d |opengl -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55045 Alexandre Julliard <julliard(a)winehq.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #7 from Alexandre Julliard <julliard(a)winehq.org> --- Closing bugs fixed in 9.0-rc1. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla