protonscr

Left 4 Dead 2 Crashes Immediately

dxvkclosed d3d9native
doitsujin/dxvk#5264 · opened 2025-10-11 by mehmetcb02 · updated 2025-12-15 · 9 comments · github
Mmehmetcb02 2025-10-11 github

Left 4 Dead 2 instantly crashes after launching the game. I only use "-vulkan" launch option. It wasn't an issue 3 or 4 months ago.

Software information

Left 4 Dead 2

System information

  • DXVK version: 2.0
  • Operating System: EndeavourOS
  • KDE Plasma Version: 6.4.5
  • KDE Frameworks Version: 6.18.0
  • Qt Version: 6.10.0
  • Kernel Version: 6.17.1-arch1-1 (64-bit)
  • Graphics Platform: Wayland
  • Processors: 12 × AMD Ryzen 5 4600H with Radeon Graphics
  • Graphics Processor 2: AMD Radeon Graphics
  • GPU: NVIDIA GeForce GTX 1650 Ti
  • Driver: 580.95.5
  • Wine version: N/A
  • DXVK version: 2.0

DXVK log:
hl2_linux_d3d9.log

l4d2_crash.zip

BBlisto91 2025-10-11 github

It doesn't crash without the -vulkan option?

Mmehmetcb02 2025-10-11 github

No, it doesn't crash without the option.

BBlisto91 2025-10-11 github

We don't usually consider old versions of dxvk supported so it would be interesting to see if using a newer release changes anything here. Though note that the usual exclaimer about messing with anti cheat enabled multiplayer games apply here.
In that case it would probably be better to make an issue at https://github.com/ValveSoftware/Source-1-Games requesting a dxvk update.

Mmehmetcb02 2025-10-11 github

I tried doing that but couldn't get the game to use the newer version. At first I placed the d3d9.dll into the root folder which contained left4dead2.exe and removed the option, game launched but using Opengl. Used the option again and game crashed after 5 seconds of black screen.After looking through the files I saw "dxvk_d3d9.dll" in the bin folder of the game so I renamed the new dll to that and replaced it with that, but still it used the old version of DXVK and crashed.

here is the steam console output:

steam.log

BBlisto91 2025-10-11 github

For the native version you have to replace the .so file not the .dll. I tried doing that locally but it seems the game refuses to launch for me when I do that with anything newer than the 2.3 release. (Note that those newer releases contain 3 files per API where two of them are just symlinks so don't just overwrite the one)
The Proton version doesn't have trouble though so I am not sure what is up with that. Maybe something in the runtime doesn't agree.

Mmehmetcb02 2025-10-11 github

Can you elaborate on how to do that?

BBlisto91 2025-10-11 github

Apologies for the confusion above. I was being hit by a case of potato brain. Forgot newer dxvk native releases need a WSI chosen explicitly via DXVK_WSI_DRIVER and the game doesn't do that for us here as it ships 2.0.

If you download dxvk-native-2.7.1-steamrt-sniper.tar.gz from the 2.7.1 release then you can extract libdxvk_d3d9.so, libdxvk_d3d9.so.0 and libdxvk_d3d9.so.0.20701 from the lib32 folder in to Left 4 Dead 2/bin/. In the launch options for the game you would then have to set DXVK_WSI_DRIVER=SDL2 %command% -vulkan.

Edit: Alternatively instead of 3 files you can rename libdxvk_d3d9.so.0.20701 to libdxvk_d3d9.so and just replace the single file the game ships.

Edit 2: A dxvk hud env for launch options had snuck in. Removed

Mmehmetcb02 2025-10-11 github

with version 2.7.1, game launched normally and I even played online for a bit with no issues. So could it be something with the newer drivers and old version of DXVK clashing?

I also created an issue at Source-1-Games: https://github.com/ValveSoftware/Source-1-Games/issues/7605

BBlisto91 2025-10-11 github

So could it be something with the newer drivers and old version of DXVK clashing?

Maybe, but i can't say for certain. Maybe a bug on our side has been fixed in the mean time or some troubled code have been reworked so it no longer hits the issue.

Launch options

Launch lines

DLLs