Dota-2-Vulkan icon indicating copy to clipboard operation
Dota-2-Vulkan copied to clipboard

Dota 2 doesn't start after the last update (Pudge persona)

Open headlesscyborg opened this issue 4 years ago • 2 comments

Your system information

  • System information from steam (Steam -> Help -> System Information) in a gist: https://gist.github.com/headlesscyborg/5db49c366a9650ac70ada164f09880a8
  • Have you checked for system updates?: yes
  • Are you using the latest stable video driver available for your system?: yes
  • Have you verified the game files?: yes

Please describe your issue in as much detail as possible:

Hello, Dota 2 was working perfectly until today, after the most recent (Pudge persona) update I can't start the game anymore. It tries to start, Steam status goes to "in-game" for a few seconds that it drops back to "online" and nothing happens.

When launched from terminal it says:

/mnt/crucial_ext4/SteamLibrary/steamapps/common/dota 2 beta/game/dota.sh: line 104: 74882 Segmentation fault (core dumped) ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@" crash_20200821074946_1.dmp[74899]: Finished uploading minidump (out-of-process): success = yes crash_20200821074946_1.dmp[74899]: response: Discarded=1 crash_20200821074946_1.dmp[74899]: file ''/tmp/dumps/crash_20200821074946_1.dmp'', upload yes: ''Discarded=1''

I've tried both OpenGL and Vulkan renderers.

Complete terminal output: https://gist.github.com/headlesscyborg/261fc529243425f80db534c3476f3019

Dump mentioned in the log (/tmp/dumps/crash_20200821074946_1.dmp): crash_20200821074946_1.zip

Steps for reproducing this issue:

  1. Update Dota 2 via Steam
  2. Launch Dota 2

EDIT:

I've tried a few more things.

  • Switching to another Steam account RESULT: Game doesn't crash but doesn't start either, just hangs, dota2 process 5MB RAM usage

  • Launching the game on another computer (Ubuntu 20.04, GTX 1050 Ti) RESULT: works

  • Launching the game on another computer (openSUSE Tumbleweed, Intel HD 4400) RESULT: works

  • Removing ~./local/share/Steam, letting it reinstall, mounting Steam library drive and launchibg the game RESULT: no difference

  • Launching the game directly without Steam (./dota2 and ./dota.sh) RESULT: no difference, same error

  • Reverting system updates (Arch Linux Archive) to 15th August, rebooting and launching the game RESULT: no difference

  • Disabling Steam runtime RESULT: no difference

  • Disabling MangoHUD RESULT: no difference

  • Launching Dota Underlords RESULT: same problem /mnt/crucial_ext4/SteamLibrary/steamapps/common/Underlords/game/underlords.sh: line 104: 4007 Segmentation fault (core dumped) ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@" crash_20200821112217_1.dmp[4022]: Finished uploading minidump (out-of-process): success = yes crash_20200821112217_1.dmp[4022]: response: Discarded=1 crash_20200821112217_1.dmp[4022]: file ''/tmp/dumps/crash_20200821112217_1.dmp'', upload yes: ''Discarded=1''

  • Downloading and launching "Dota 2 test" (the test/beta client, appid 205790) RESULT: this one works, makes me believe that something is indeed wrong with the stable client

  • Moving game files to another drive (~/.local/share/steam instead of /mnt/...) RESULT: no difference

Also it looks like this user is having the same error but is able to start the game https://github.com/ValveSoftware/Dota-2/issues/1813

headlesscyborg avatar Aug 21 '20 06:08 headlesscyborg

So finally after trying random things I found the cause and even a solution.

As a VR user I remember there were some issues on dual GPU laptops with Steam detecting just the Intel Vulkan ICD loader and ignoring the Nvidia one. It was this issue and this comment posted by @kisak-valve https://github.com/ValveSoftware/SteamVR-for-Linux/issues/355#issuecomment-635919607. I tried the same command that once helped me make my HTC Vive work - sudo mv /usr/share/vulkan/icd.d/intel_icd.x86_64.json /usr/share/vulkan/icd.d/intel_icd.x86_64.json.disabled.

And suddenly Dota 2 and Dota Underlords both work fine. So it was probably a Vulkan issue, I know I mentioned in the case that I tried OpenGL rendered as well but I found out I was using "-opengl" launch parameter instead of just "-gl".

I'll leave the case open because there clearly is an issue somewhere.

EDIT: I also have a theory why the game worked on the 1050 Ti laptop mentioned in the case.

My 1660 Ti machine is a laptop that uses Nvidia Prime to utilize the dedicated card (aftected by the issue) My 1050 Ti machine is a laptop that uses Nvidia Prime Offload to utilize the dedicated card. (not affected by the issue) My HD 4400 machine has no dedicated card. (not affected by the issue)

I think to reproduce this issue, one would have to do it on a machine with Intel+Nvidia (Optimus) setup powered by Nvidia Prime / always on because Intel-only and Prime Render Offload machines use the Intel ICD loader while Nvidia Prime uses the Nvidia ICD loader but that's just a theory of mine.

headlesscyborg avatar Aug 21 '20 10:08 headlesscyborg

For reference, the attached minidump is a SIGSEGV in libVkLayer_MESA_device_select.so, which hints that this is a video driver issue.

kisak-valve avatar Aug 21 '20 11:08 kisak-valve