https://bugs.winehq.org/show_bug.cgi?id=56380
Bug ID: 56380 Summary: Rocket League crashes with Wine 9.3 after BakkesMod (trainer app) injects into the game Product: Wine Version: 9.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winevulkan Assignee: wine-bugs@winehq.org Reporter: oguilherme@protonmail.com Distribution: ---
Created attachment 76126 --> https://bugs.winehq.org/attachment.cgi?id=76126 Wine 9.3 output (where Rocket League crashes if BakkesMod is running)
As of Wine 9.3, I can not use BakkesMod[1] (a Rocket League[2] trainer ), to inject into the game anymore.
git bisect indicates commit bb872831deb48382e4733979e00243e5122385d0 is the culprit.
Without BakkesMod running, the game runs just fine.
---
Steps to reproduce:
1. Launch BakkesMod 2. Launch Rocket League 3. Wait 4. Rocket League crashes
---
System information:
Wine v9.3 NVIDIA driver 470.239.06 (GPU: NVIDIA GTX 660) DXVK 1.10.3 BakkesMod v190 (Injector version 31) Rocket League (from Epic, version BC2_Update48+441123)
---
Ref:
[1] https://github.com/bakkesmodorg/BakkesModInjectorCpp [2] https://store.epicgames.com/en-US/p/rocket-league
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #1 from Guilherme S. oguilherme@protonmail.com --- Created attachment 76127 --> https://bugs.winehq.org/attachment.cgi?id=76127 Wine 9.2 output (Rocket League + BakkesMod works)
https://bugs.winehq.org/show_bug.cgi?id=56380
Guilherme S. oguilherme@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |ArchLinux Regression SHA1| |bb872831deb48382e4733979e00 | |243e5122385d0
https://bugs.winehq.org/show_bug.cgi?id=56380
Zeb Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #2 from Rémi Bernon rbernon@codeweavers.com --- Would you mind attaching a log with +vulkan in each case? I don't really understand how that commit could change anything, especially also as this mod doesn't have any reference to that function in its source.
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #3 from Guilherme S. oguilherme@protonmail.com --- Created attachment 76129 --> https://bugs.winehq.org/attachment.cgi?id=76129 WINEDEBUG=+vulkan for 9.2 and 9.3
Would you mind attaching a log with +vulkan in each case?
No problem. Done!
also as this mod doesn't have any reference to that function in its source.
If I remember correctly, the mod's SDK [1] makes heavy use of ImGui [2] for its plugin system, and I do have a lot of plugins installed, so it's probably coming from there?
[1] https://github.com/bakkesmodorg/BakkesModSDK [2] https://github.com/ocornut/imgui
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #4 from Rémi Bernon rbernon@codeweavers.com --- Fwiw I still don't see what is going wrong here. I was unable to reproduce it myself, after installing Rocket League in Steam for Windows then installing the mod downloaded from https://www.bakkesmod.com/download.php. The mod worked fine for me and opened its overlay when pressing F2 in game.
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #5 from Guilherme S. oguilherme@protonmail.com --- Could it maybe be because I'm using DXVK 1.10.3[1]? I'm unable to test with DXVK 2.x, because my GPU driver doesn't support Vulkan 1.3... =/
With Wine 9.3, there's this stuff in Rocket League's "Launch.log" (found in ~/Documents/My Games/Rocket League/TAGame/Logs), right after Bakkes is loaded:
[...] [0025.50] Log:
BakkesMod loaded
[0025.93] FTECritical: [GFx] Changed active tutorial from 'null' to 'NONE'. Tutorial active? 'false', New checkpoint active? 'false' [0025.93] FTEVerbose: Checkpoint 'None' attempted completion while the FTE isn't active! [0026.08] Log: Flushing async loaders. [0027.19] Log: Flushed async loaders. [0027.20] Log: Octree Warning (AddPrimitive): StaticMeshActor_SMC_39 (Owner: BG_EuroStadium_Dusk.TheWorld:PersistentLevel.MeshCollector1) Outside World. [0027.20] Log: Octree Warning (AddPrimitive): StaticMeshActor_SMC_121 (Owner: BG_EuroStadium_Dusk.TheWorld:PersistentLevel.MeshCollector1) Outside World. [0027.71] XPGatedPlaylists: Not currently in a party. [0027.71] DevOnline: EOSSDK-LogEOSGameClips: No suitable h264 encoder found [0027.71] DevOnline: EOSSDK-LogEOSGameClips: Recording not supported. [0027.71] DevOnline: EOSSDK-LogEOSGameClips: Recording availability changed from 'Pending' to 'Not Supported'. [0027.71] EOSGameClips: EOSGameClips: Availability changed from Pending to NotAvailable. [0028.14] DevOnline: EOSSDK-LogEOSGameClips: Stop recording requested but recording is not available. [0029.63] Critical: appError called: The Direct3D 11 device that was being used has been removed. Please restart the game.> [0029.63] Critical: Windows GetLastError: File not found. (0) [0049.37] Log: === Critical error: === The Direct3D 11 device that was being used has been removed. Please restart the game.
Address = 0xff473de7 (filename not found) [in C:\windows\system32\kernelbase.dll]
And the file ends there. And here's the same file, but with Wine 9.2:
[...] [0027.10] Log:
BakkesMod loaded
[0027.54] FTECritical: [GFx] Changed active tutorial from 'null' to 'NONE'. Tutorial active? 'false', New checkpoint active? 'false' [0027.54] FTEVerbose: Checkpoint 'None' attempted completion while the FTE isn't active! [0027.68] Log: Flushing async loaders. [0028.90] Log: Flushed async loaders. [0028.90] Log: Octree Warning (AddPrimitive): StaticMeshActor_SMC_39 (Owner: BG_EuroStadium_Dusk.TheWorld:PersistentLevel.MeshCollector1) Outside World. [0028.90] Log: Octree Warning (AddPrimitive): StaticMeshActor_SMC_121 (Owner: BG_EuroStadium_Dusk.TheWorld:PersistentLevel.MeshCollector1) Outside World. [0029.44] XPGatedPlaylists: Not currently in a party. [0029.44] DevOnline: EOSSDK-LogEOSGameClips: No suitable h264 encoder found [0029.44] DevOnline: EOSSDK-LogEOSGameClips: Recording not supported. [0029.44] DevOnline: EOSSDK-LogEOSGameClips: Recording availability changed from 'Pending' to 'Not Supported'. [0029.44] EOSGameClips: EOSGameClips: Availability changed from Pending to NotAvailable. [0029.90] DevOnline: EOSSDK-LogEOSGameClips: Stop recording requested but recording is not available. [0030.19] DevOnline: WebRequest_X_1 RECV: 304 [0030.19] DevOnline: WebRequest_X_2 RECV: 304 [0030.19] DevOnline: WebRequest_X_3 RECV: 304 [0030.28] DevOnline: EOSSDK-LogEOSAnalytics: EOS SDK Analytics disabled for route [1]. [0030.71] DevOnline: EOSSDK-LogEOSEcom: Purchase flow is disabled due to overlay setup failure (EOS_NotConfigured). [0030.71] DevOnline: EOSSDK-LogEOSUI: Social overlay is disabled due to overlay setup failure (EOS_UnexpectedError). [0031.15] Log: Flushing async loaders. [0031.35] Log: Flushed async loaders. [0032.95] EngagementEvents: Active Engagement Event: Type = 0 Start Time = 1708621200 End Time = 1709604000 [0032.95] EngagementEvents: UpdateEventsCurrentTime NextEventTime = 1709604000 [0033.79] Legacy: State Set [...]
And the file just continues, with no errors.
Let me know if you have any ideas I could try to debug this further.
Thanks.
[1] https://github.com/doitsujin/dxvk/releases/tag/v1.10.3
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #6 from Rémi Bernon rbernon@codeweavers.com --- Created attachment 76166 --> https://bugs.winehq.org/attachment.cgi?id=76166 patch with traces before bb872831deb48382e4733979e00243e5122385d0
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #7 from Rémi Bernon rbernon@codeweavers.com --- Created attachment 76167 --> https://bugs.winehq.org/attachment.cgi?id=76167 patch with traces for 9.3
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #8 from Rémi Bernon rbernon@codeweavers.com --- I attached two patches with traces, one for the commit before the breaking one, and the other one that should apply on 9.3.
I you can, could you make a build with both and post a +vulkan trace again? Thanks
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #9 from Guilherme S. oguilherme@protonmail.com --- Created attachment 76168 --> https://bugs.winehq.org/attachment.cgi?id=76168 NEW logs with WINEDEBUG=+vulkan
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #10 from Rémi Bernon rbernon@codeweavers.com --- Created attachment 76169 --> https://bugs.winehq.org/attachment.cgi?id=76169 possible workaround
Does this help maybe?
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #11 from Guilherme S. oguilherme@protonmail.com --- That patch fixes the crash! Thank you very much!
https://bugs.winehq.org/show_bug.cgi?id=56380
--- Comment #12 from Rémi Bernon rbernon@codeweavers.com --- Thanks for testing! I may need a bit more time to consider the implications of the fix, before sending it upstream. It may also be related to how DXVK used vulkan surfaces as I couldn't reproduce it myself.
For the record, the issue is that this change also lost some vulkan surface invalidation that winex11 was doing when new surfaces were created on a window which had some surfaces already. Later vkGetPhysicalDeviceSurfaceCapabilitiesKHR calls on the invalidated surface succeeded when they previously returned VK_ERROR_SURFACE_LOST_KHR.
This is not straightforward to fix however because of how we use vulkan to implement D3D. I believe, though that will perhaps need a better confirmation, that Windows allows concurrent APIs to be used on the same window, which will break if we only allow a single vulkan surface at a time.
https://bugs.winehq.org/show_bug.cgi?id=56380
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |infyquest@gmail.com Fixed by SHA1| |69f81188831526874e91f0c4037 | |dc33850ad41ad Resolution|--- |FIXED
--- Comment #13 from Vijay Kamuju infyquest@gmail.com --- Fix is merged in upstream - https://source.winehq.org/git/wine.git/commit/69f81188831526874e91f0c4037dc3...
https://bugs.winehq.org/show_bug.cgi?id=56380
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 9.5.