When playing Assassins Creed IV using DXVK it crashes as soon as I get to the first future storyline scene (Directly after maneuvering the merchant's ship out of the bay at the beginning). The thing is that my whole system becomes unresponsive and I can't even change to a different tty. So I had to reset my PC and I wasn't able to retrieve any debug messages from wine. After trying a few times I was able kill AC and my X Server via ssh. But my log still stops way before the crash happens and doesn't contain any error messages.
Anyway I tried without dxvk and the game works wothout any problems. Although using wined3d it's pretty unplayable at ~5-10 fps. Whereas DXVK was easily able run with 60 FPS (capped at my monitor's refresh rate).
Which proves to me that the crash is at least DXVK related.
Assassins Creed IV: Black Flag
Unfortunately the game crashes about a second after going to fullscreen when started with apitrace (If I understood it correctly apitrace shouldn't be executed with DXVK?):
$ &> apitrace.txt WINEPREFIX=~/Games/uplay/ LD_LIBRARY_PATH="/home/user/.local/share/lutris/runners/wine/tkg-4.0-x86_64/lib:/home/user/.local/share/lutris/runners/wine/tkg-4.0-x86_64/lib64:/lib:/lib64:/usr/lib:/usr/lib64:/usr/lib32:/usr/lib64:/home/user/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/user/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:$LD_LIBRARY_PATH" WINEESYNC=1 WINEDLLOVERRIDES="xaudio2_7=n,b;nvapi,nvapi64=" DXVK_HUD=0 DRI_PRIME=0 ~/.local/share/lutris/runners/wine/tkg-4.0-x86_64/bin/wine ~/Dokumente/apitrace-msvc/x86/bin/apitrace.exe trace -a dxgi ~/"Games/uplay/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/games/Assassin's Creed IV Black Flag/AC4BFSP.exe"
However AC runs fine when started by the exact same command (just without apitrace):
$ WINEPREFIX=~/Games/uplay/ LD_LIBRARY_PATH="/home/cedric/.local/share/lutris/runners/wine/tkg-4.0-x86_64/lib:/home/user/.local/share/lutris/runners/wine/tkg-4.0-x86_64/lib64:/lib:/lib64:/usr/lib:/usr/lib64:/usr/lib32:/usr/lib64:/home/user/.local/share/lutris/runtime/Ubuntu-18.04-i686:/home/user/.local/share/lutris/runtime/Ubuntu-18.04-x86_64:$LD_LIBRARY_PATH" WINEESYNC=1 WINEDLLOVERRIDES="xaudio2_7=n,b;nvapi,nvapi64=" DXVK_HUD=0 DRI_PRIME=0 ~/.local/share/lutris/runners/wine/tkg-4.0-x86_64/bin/wine ~/"Games/uplay/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/games/Assassin's Creed IV Black Flag/AC4BFSP.exe"
Anyway here is the output of the apitrace crash: https://own.arrakiz.org/index.php/s/yJYdNy7zeqnzPnm (Just click download. The file is somehow too big for any kind of preview.)
I'm sorry that I couldn't provide more debugging info. I know that a trace would be vital for a diagnosis. But at this point I'm not sure what else to do. If you give me instructions I'm more than willing to give you more info though.
Try to use the NVIDIA stable driver. Also try to stop nvapi hack, or try older DXVK version. This video I recorded some time ago and the game was working fine:
https://www.youtube.com/watch?v=wBHBozPtk3A
I now switched to 415.27 stable, removed the nvapi overrides and deleted the DXVK cache. But to no avail. The game still crashes.
Edit:
And for the sake of completeness: apitrace still crashes at exactly the same point.
Removing the nvapi overrides and stop nvapi hack are two different things. Create dxvk.conf in your game directory where is the .exe file and put this in it:
dxgi.nvapiHack = False
Or try to report a NVIDIA card:
dxgi.customDeviceId = e366
dxgi.customVendorId = 100
Or try older DXVK version like 0.80 or so. You also may try to return the nvapi overrides.
The game doesn't really crash, it hangs your GPU.
I'm aware of this problem, but since it freezes the entire system it's extremely tedious to debug, and I haven't been able to make any progress when I tried. You could try using wined3d to get past that, I've given up on this issue a long time ago.
@mozo78 Ah, I didn't know that. Thanks for clarifying.
I tried all of your suggestions. Turning off nvapiHack, setting a custom device id, using an older version, reenabling overrides and all kinds of combinations of aforementioned stuff. But none of it worked.
@doitsujin Yeah, that's probably it. Shouldn't it be possible to debug this via ssh? Because I'm still able to use remote shells without any problems.
Regarding the wined3d suggestion: The game is absolutely unplayable with it. Even on lowest setting I get like 5-10 FPS. Of all games I played so far this one has the biggest difference between wined3d and dxvk. And unfortunately I can't just use wined3d to bridge "some problematic cut scene". I played on until I was in Havana and then switched back to DXVK. But the game hangs up at the loading screen. So there seems to be a lot of stuff.
Anyway thank you guys for your great work! I guess I have to deal with not being able to play that title. But if someone has any idea I'm still willing to provide more debug info.
@doitsujin Yeah, that's probably it. Shouldn't it be possible to debug this via ssh?
No. The thing is that I can't use any debugging tools like Renderdoc with a hung GPU, and this game is particularly annoying since getting a hang report that would at least show the offending shaders is next to impossible. So while it is possible to access the system via SSH, I cannot gain any information at all that would help debug this issue.
Try the buffer pool hack for better performance with wined3d. This doesn't help the debugging effort but it will allow you to enjoy the game, hopefully
Not much to go by but youtuber "Just Look at the Flowers" made a video of the game working: https://www.youtube.com/watch?v=ao5e34emyiA
Yes I posted a wrong link. Here is my video from 2018:
https://www.youtube.com/watch?v=HKXAR_i3eMU
And from Freedom Cry:
https://www.youtube.com/watch?v=P2VvcUlAvF8
I experience the same issue and it has worked for me before. Tried to go back with both dxvk and wine versions but couldnt find a working version again. neither did it help turn on/off esync or running with wine/wine64. Something else most have changed (uplay, the game itself, kernel, nvidia driver).
@Jrugia
The video is of the part that works for OP and me as well. it is "Directly after maneuvering the merchant's ship out of the bay at the beginning" it stop to work. Would be interesting to hear if that person has it working later in the game as well or only did a short test.
@mozo78
Did you have (and still have?) it working longer than what the OP described when you played? "Directly after maneuvering the merchant's ship out of the bay at the beginning"
I don't know. I tried it when I recorded the video a year ago. I can try it again if you want.
@mozo78
If you have time and the will, please do. Would be interesting to see if it works for anyone right now.
Having the same problem. I can sometimes play with amdvlk and radv. Some scenes are crashing always with dxvk, some only sometimes. Looks like some race condition to me.
BUT when it crashes it always crashes at load time, never had a crash while playing. It esp. often crashes when cut-scenes are loaded.
At least adding the "amdgpu.gpu_recovery=1" kernel parameter let me switch tty to kill it (after some waiting).
I could try to create some stacktrace and/or logs, but it sounds like that doesn't really help, @doitsujin ?
@mozo78
If you have time and the will, please do. Would be interesting to see if it works for anyone right now.
The game is up and running. Please tell me where exactly the game make the problem and recon with the fact that my english isn't as good as it should, so try to be clearer :)
My savefiles if it helps (place it at "prefix"/drive_c/Program Files (x86)/Ubisoft/Ubisoft Game Launcher/), both first and second save slot should show the crash/hang directly when loaded. And work when run with wined3d.
Note: Realized that the top directory is probably wrong in the tar (user specific). But should be easy to figure out where the files goes by looking at the structure.
@mozo78
The issue occurs after completing the first memory sequence (reaching the ocean with the traders ship) and it is supposed to load the first scene from when you are in present time in the "memory center".
Yes it freezes my whole computer.
The game is running fine when setting the Fauturelevel to dx10.1. I was using a DXVK config-file and set d3d11.maxFeatureLevel = 10_1
after it I could play through those scenes mentioned
Can confirm, settings d3d11.maxFeatureLevel = 10_1 does it for me as well.
Thank you :)
Just another confirmation. Works with maxFeatureLevel = 10_1 with both amdvlk and radv.
( Just don't be stupid like me and use 10.1 instead of 10_1 ;) )
A good test is to exit the animagus if you played that far. That scene reliable hung my driver before.
The game works until starting the Abstergo Interlude 01 - Entering Abstergo mission. Then it hangs and can not continue without the dxvk.conf file. Tested with DXVK 1.0, latest wine-staging, my custom kernel 5.0-rc7, Padoka ppa, Debian testing/sid Xfce and RX 570. Thanks for the tip.
You could enable maxFeatureLevel = 10_1 by default for games that need its. Otherwise users need to enable it.
Shouldnt be needed is the thinking I believe.. It's a bug.
Should be seen as a magic workaround for now.
@debianxfce that is not a solution, I don't think I need to explain why.
@debianxfce that is not a solution, I don't think I need to explain why.
There are built in workarounds for these games.
https://github.com/doitsujin/dxvk/wiki/Configuration
Why not for other games?
@debianxfce This issue is not like those.
@tingvarsson You'd have to record the apitrace yourself because apparently save files are encrypted and tied to the players Uplay account.
What version of "mesa" are you using.
There were 2 bugs in one of the 19.x versions, that has since been fixed, that causes ACO to hang/crash.
@jcdutton My currently installed version of mesa is 19.0.2-1. I've just tested it and AC:BF still crashes without daschaffert's workaround.
Is it one of the affected versions? If yes, which version do you recommend testing as a comparison?
From my understanding the issue isn't exclusive to a particular driver or gpu vendor.
This no longer seems to happen, although the game sometimes hangs with certain graphics settings.
Most helpful comment
The game is running fine when setting the Fauturelevel to dx10.1. I was using a DXVK config-file and set d3d11.maxFeatureLevel = 10_1
after it I could play through those scenes mentioned