http://bugs.winehq.org/show_bug.cgi?id=58422
Bug ID: 58422 Summary: Soldier of Fortune II crashes on start Product: Wine Version: 10.9 Hardware: x86-64 URL: https://www.moddb.com/games/soldier-of-fortune-ii/down loads/soldier-of-fortune-2-demo-version OS: Linux Status: NEW Keywords: download, regression Severity: normal Priority: P2 Component: opengl Assignee: wine-bugs@winehq.org Reporter: gyebro69@gmail.com CC: rbernon@codeweavers.com Regression SHA1: 17b86a90037004bda1eac142238f21a56b9bfd77 Distribution: ---
Created attachment 78844 --> http://bugs.winehq.org/attachment.cgi?id=78844 terminal output
This is one of the games affected by bug #25362 so I have to launch the game using the workaround '__GL_ExtensionStringVersion=17700 wine SOF2.exe'.
Since Wine-10.9 the game crashes early on start regardless of that workaround.
Reverting commit 17b86a90037004bda1eac142238f21a56b9bfd77 opengl32: Move legacy extensions fixup from winex11. fixes the crash for me.
Can be reproduced with the demo version.
sp_demo.exe md5sum: 25aae86e835747174523861d40facec1
Still present in Wine-10.11.
OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: NVIDIA GeForce GTX 1660 SUPER/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 575.64 X.Org X Server 1.21.1.18 XFCE 4.20
http://bugs.winehq.org/show_bug.cgi?id=58422
--- Comment #1 from Rémi Bernon rbernon@codeweavers.com --- I don't see any difference in the reported GL_EXTENSIONS string before/after the change, with/without these environment variables. Only difference is that the extensions are now reported in glGetStringi as they should.
I don't know why this regressed but I think you can use an earlier version instead of 17700 and that it should fix the problem?
http://bugs.winehq.org/show_bug.cgi?id=58422
--- Comment #2 from Rémi Bernon rbernon@codeweavers.com --- Alternatively to these vendor-specific environment variables, I think we could have something like this to fix the original bug, where the new registry key could be used to enable only hand-picked GL extensions used by these games: https://gitlab.winehq.org/wine/wine/-/merge_requests/8473
http://bugs.winehq.org/show_bug.cgi?id=58422
--- Comment #3 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Rémi Bernon from comment #1)
I don't see any difference in the reported GL_EXTENSIONS string before/after the change, with/without these environment variables. Only difference is that the extensions are now reported in glGetStringi as they should.
I don't know why this regressed but I think you can use an earlier version instead of 17700 and that it should fix the problem?
I tried SoF II with 16900 but that didn't help either.
I should have noted that I tried other games from my GOG library that are known to be affected by bug #25362 but none of them regressed after commit 17b86a90. They do start properly when using the '__GL_ExtensionStringVersion=' workaround. Such games are Return to Castle Wolfenstein, Kingpin, Star Wars: Jedi Academy, Star Wars: Jedi Outcast. Seems only Soldier of Fortune II is affected by this commit.
Another game, Neverwinter Nights Diamond Edition which never required the Nvidia workaround to start, also crashes after commit 17b86a90 and reverting the commit fixes the crash.
How does your patch from comment #2 actually work? I created a new application profile for the game executable (SOF2.exe) in winecfg, then created manually the regkey OpenGL under HKCU>Wine>AppDefaults>SoF2.exe with the key EnabledExtensions.
How should I know which OpenGl extensions should be enabled for a specific game?