Skull & Bones crashes on launch on nvidia gpus
Closed this issue · 20 comments
Software information
Skull and Bones (2853730)
Cross-post of this proton compat report ValveSoftware/Proton#8018 since the game is using dx12 so i assume vkd3d is causing the crash
The game crashes right after launch just after showing a black screen for 2 seconds.
This appear to be an problem specific to nvidia gpus since protondb has a report of it working on an amd gpu (but not on steam) and the game is working "fine" (performances aren't great) on Steam Deck
This behaviour seems to be similar to Star Wars Outlaws' crash #2092 and since these are both Ubisoft games, i can easily bet it's the same issue (although they aren't using the same engine Ubisoft Anvil vs Snowdrop)
System information
- GPU: 2080
- Driver: nvidia-open 560.35.03
- Wine version: proton experimental
- VKD3D-Proton version: 6f4f9d0 (assuming i'm looking at the correct branch in proton's github)
Log files
Gave #2096 a try but it doesn't seem to help (assuming i built it correctly)
steam-2853730.log
Since it's reported as fixing the crash of outlaws, i guess this crash isn't the same cause
Since a protondb report mentions proton 8.0-5 as fixing things i also gave it a try but it seems like i'm not as lucky, the only thing that improves is the intro showing up for a few seconds
Fwiw I tried the demo, I get similar logs as @Lifeismana. Game tries to open a window after the initial loading banner, then crashes. I'm not sure if it's vkd3d-proton that's causing the crash, to my untrained eye I don't see anything obvious.
Apparently the game might run with proton 8 but with mixed results, some says it needs to be in fullscreen.
Also tried with dxvk-nvapi disabled, no difference.
Proton 9
vkd3d-proton a2a7c02
NVIDIA-SMI version : 550.40.71
NVML version : 550.40
DRIVER version : 550.40.71
CUDA Version : 12.4
my current random theory is that the error isn't linked to vkd3d and instead is caused by the game doing some incorrect access for their "LightingDevices" config since the config file at /steamapps/compatdata/2853730/pfx/drive_c/users/steamuser/Documents/Skull And Bones/SkullAndBones.ini
has a config about that at the end of the file & i have an msi motherboard but that kinda seems unlikely since it appears to be an nvidia gpu only problem
An other thing i gave a try was to disable my integrated gpu but same as the rest, it didn't fix anything
I have no idea, on Windows I don't even think I saw that window popup like in Linux.
On Windows I got a battleeye installation notification, didn't see that in Linux. Perhaps it's because it's already installed.
@Lifeismana game sort of works with proton 8............
I can't get it to use the full screen area tho'
(something got borked with the prefix so I couldn't try it proton 8 with a newer vkd3d-proton so I don't know if it's a vkd3d-proton regression or not)
@HansKristian-Work It's a regression in vkd3d-proton, seems to work fine with 2.11.1
We'll need someone to bisect then.
Fwiw, for me proton 8 doesn't fix the crash at launch, the only difference is that i can see the game in the top left corner of the window before it crashes (maybe i need to change something in the setting to make work?)
@Lifeismana if you can, try a more recent proton and make a backup of vkd3d in both lib and lib32 and replace it with 2.11.1 (proton-<version)/files/lib/wine/ and proton-<version)/files/lib64/wine/)
@HansKristian-Work yeah, between 2.11.1 and 2.12 :(
i should be able to bisect it.
but starting from proton's bleeding-edge branch (aka b73d5b0) i'm already getting a new behavior, game doesn't launch and is stuck on the splash screen
steam-2853730.log
game seems to be compiling the shader fine, so it's somehow launched which makes me wonder what's causing that, the game's latest update or vkd3d or proton's bleeding edge branch 🤔 (last time i tried bleeding edge it worked fine)
(edit: fwiw, i'm also getting the same issue when using the steam compiled version with the bleeding edge branch)
edit: nvm, i don't think this has anything to do with vkd3d, seems like my linux install is doing odd things
Ok, so....... it's this commit 0eb04f8
Disabling the extension with VKD3D_DISABLE_EXTENSIONS=VK_NV_low_latency2 makes the game run on newer versions too.
Nice. Got the same commit here too on the RTX 3070.
With my unrelated issue fixed, i can confirm, disabling VK_NV_low_latency2 fixes that crash
@HansKristian-Work FYI
Are there any overlays enabled? Might just be the Ubisoft thing hooking Vulkan functions in broken ways again.
is there any way to force disable ubisoft's overlay ? (it's indeed there)
edit: there is, uplay ui just isn't great
just tested, disabling the overlay in ubisoft's settings doesn't fix the crash with VK_NV_low_latency2 enabled
Disabling the overlay did not help, I did it through the ubisoft connect settings.
Update:
Proton Experimental works fine here, if you disable the lowlatency extension
ENV vars set:
WINEDLLOVERRIDES="libglesv2.dll=d" # for ubicrap connect
PROTON_ENABLE_NVAPI=1 # probably not needed but I had it set previously
VKD3D_DISABLE_EXTENSIONS=VK_NV_low_latency2 # needed for the game to run
WINE_CPU_TOPOLOGY="16:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15" # probably not needed either but it was set
Driver: 550.40.71
GPU: RTX 4070
Got a bit lost in the conversation, I saw it works for you now @Lifeismana
The question now is why it crashes. I guess a quirk is needed to disable the extension if it's unfixable.
running the game via steam, the only thing needed is setting this as launch option VKD3D_DISABLE_EXTENSIONS=VK_NV_low_latency2 %command%
#2125 might work around it.