Looks like d3d9.allowDoNotWait = False fixes it (I'll leave the "why" part to you) - haven't been able to get it to lock at all on map view to city view transition with it set to False, and it starts randomly locking up again when I remove the override.
I'd welcome more testing (would be nice for someone who has the game to replicate what I'm seeing), but if that doesn't happen, please consider adding it in a permanent app profile for the game.
Can confirm on R9 380 mesa git.
Made a PR
Can confirm on R9 380 mesa git.
I was actually hoping someone would confirm this on AMD last year when I reported the issue (and the fix), but better late than never. Thanks for testing this and for the PR!
@WinterSnowfall Can you quickly try something? I'm running into something weird with this issue.
Can you try to use this version with the game without the conf option and see if it still happens?
It's the 1.10.1 version that comes along with steam proton 7.0-2rc, which for some reason i cannot reproduce it with. Only the versions i download from the github i can reproduce the the issue with.
I'm running into something weird with this issue.
I'm not sure what's going on here either, but I am seeing the same thing. Can't get the game to lock up on transition with the proton version you provided, however with the release version of dxvk (taken from this github) it locks up immediately...
For more info see discussion in PR https://github.com/doitsujin/dxvk/pull/2610
TLDR:
Game has the issue when dxvk from this github, or compiled after the instructions here, is used. d3d9.allowDoNotWait = False seems to fix this.
The dxvk files that are bundled with proton (tested 7.0-2rc) seem to work just fine without the config option.
The game hangs (background music still plays and the "loading" ship wheel still turns, yet the city view never renders on screen) while transitioning from map view to city view. Occasionally I have been able to get a city view after multiple tries, but hangs are the standard behavior. WineD3D works just fine. I've captured a trace with 3 transitions, but annoyingly it worked just fine (without any hangs) on replay with DXVK. I was able to reproduce the hangs both on an Nvidia card and an Intel iGPU. They only show up when using DXVK.
Here's a screen capture.
Initially I suspected a memory allocation issue and tried enabling LAA and setting various d3d9 memory limits without any results.
Hopefully you can figure out what's going on here, since I'm out of ideas.
Also, as far as I can tell, this is not a regression since I noticed the same problem a while ago with DXVK 1.8.1, but did not have the time to look into it until now.
Software information
Port Royale 3
System information
Apitrace file(s)
PortRoyale3.trace.tar.xz
Log files