The Testament of Sherlock Holmes crashes with DXVK but not wined3d
Software information
- Game: The Testament of Sherlock Holmes (32-bit GOG Release)
- Settings: All at max at 4K@60Hz (this is a pretty old game so it's trivial)
- Antialiasing: 4x (or 2x, I can't remember)
- Anisoptric Filtering: x8
System information
- GPU: RX 7800 XT
- Driver: Mesa 25.0.1 (radv)
- Wine version: 10.3 (vanilla)
- DXVK version: 2.6
Apitrace file(s)
Log files
(Ignore the naming scheme of the filename: it's Wine 10.3) Wine-3_dxvk-trace.log
Note: When attempting to do this API trace the game moved super slow (not sure if that's intended/important?), and the game wouldn't crash (via wined3d in this process) like it would if I just used DXVK normally:
The log throws a mention of a failed assert regarding vkCreateGraphicsPipelines in dlls/winevulkan/loader_thunks.c, line 3190 and some mentions of not being able to map memory somehow
Outside of this apitrace process (or rather, prior, actually), attempting to use wined3d instead works: the issue that DXVK couldn't overcome was that starting a new game from the mainmenu causes a crash before any real gameplay can actually start.
Some lines of interest from the log
16512.467:0020:0024:err:virtual:allocate_virtual_memory out of memory for allocation, base (nil) size 00390000
...
err: Mapping non-persisted file failed: 8, Mapped memory: 13956480
err: D3D9: InitTexture: map failed
16513.192:0020:0024:warn:debugstr:OutputDebugStringA "2025-03-21 02-26-28 SysError | [CMU:789.929.984] L:6178 Failed allocate texture [chr_watson_outdoor_body-n2-high]: Microsoft\xae Direct3D\xae does not have enough display memory to perform the operation\r\n"
...
16513.976:0020:0154:err:msvcrt:_wassert (L"!status && \"vkCreateGraphicsPipelines\"",L"/var/tmp/portage/app-emulation/wine-vanilla-10.3-r1/work/wine-10.3/dlls/winevulkan/loader_thunks.c",3190)
Trace replays fine here, this is probably one of those games that require Large Address Awareness to even work properly (which, in turn, needs either Proton or a patched wine build, or a patched game executable).
Oh, I hadn't considered that 🤔 (Or, rather, I didn't know that could even be a problem) After patching the executable, I can confirm that the game does go into gameplay now with DXVK (also, playing the game too long without LAA and with wined3d, prior, eventually caused a freeze when saving the game at one point)
Although, there's some odd behavior with alt-tabbing: the pause menu music incorrectly loops on an interval, and the window is "sticky" and tries to force its attention... And attempting to use gamescope to work around the alt-tab issue causes the game to just not launch (wine starts doing something but the gamescope window never gets populated for some reason)
On a separate unrelated note: when starting a new game, specifically it seems (doesn't happen if loading an existing save from after the initial tutorial - although it can periodically be seen again later in gameplay conversations but as less pronounced), a white line borders the bottom of the screen in a rather distracting way
@ThisNekoGuy I've given the game a go, and while I also had to apply an LAA patch to prevent crashing, I can not reproduce any of the other problems you've mentioned. Alt+tabbing works fine and doesn't cause any issues with the game, nor do I see any white borders like the ones you're mentioning. Are these still a problem for you on latest dxvk / Wine?