ValveSoftware / Dota-2

Tracker for issues specific to Linux and Mac in the Reborn client. If you have a general issue or non-system-specific feature request please go to dev.dota2.com
470 stars 38 forks source link

Dota 2 not starting on Apple pre-Metal hardware #1886

Open DrBodgeIt opened 3 years ago

DrBodgeIt commented 3 years ago

Your system information

Hi GistHub.

I tried to start Dota 2 on a 2008 (i know, old AF) mac running El Capitan (Specs; Processor 3.06 GHz Intel Core 2 Duo. Memory 4 GB 800 MHz DDR2 SDRAM. Graphics ATI Radeon HD 2600 Pro 256 MB).

The game doesnt start and i get a message saying updating configuration, which closes after maybe a second, the game then fails to start, rinse and repeat.

I tried opting in and out of beta, updating drivers, verified game files, restarted, and when i try using Terminal with the command detailed on the first line below, i get the following answer; which honestly i can't understand. Can anyone help?

macbooks-iMac:~ macbook$ ~/Library/Application\ Support/Steam/steamapps/common/dota\ 2\ beta/game/dota.sh Using breakpad crash handler [S_API] SteamAPI_Init(): Loaded '/Users/macbook/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/steamclient.dylib' OK. Setting breakpad minidump AppID = 570 Forcing breakpad minidump interfaces to load Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit found breakpad via in process memory: '/Users/macbook/Library/Application Support/Steam/Steam.AppBundle/Steam/Contents/MacOS/Frameworks/Breakpad.framework/Versions/A/Resources' Installing breakpad crash handler Uploading pending dumps Uploaded 1 pending dumps Looking up breakpad interfaces from steamclient Calling BreakpadMiniDumpSystemInit SteamInternal_SetMinidumpSteamID: Caching Steam ID: 76561198117139040 [API loaded yes] SteamInternal_SetMinidumpSteamID: Setting Steam ID: 76561198117139040 SteamID: 76561198117139040, universe Public Setting breakpad minidump AppID = 373300 2021-02-03 21:18:20.898 dota2[1097:33693] An uncaught exception was raised 2021-02-03 21:18:20.898 dota2[1097:33693] -[NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray 2021-02-03 21:18:20.899 dota2[1097:33693] ( 0 CoreFoundation 0x00007fff94a41452 exceptionPreprocess + 178 1 libobjc.A.dylib 0x00007fff8b53b73c objc_exception_throw + 48 2 CoreFoundation 0x00007fff94a611d5 -[__NSArray0 objectAtIndex:] + 101 3 libMoltenVK.dylib 0x0000000088e01b17 mvkMTLResourceOptions + 14679 4 libMoltenVK.dylib 0x000000008917ee27 _ZN3mvk19SPIRVToMSLConverter7convertERNS_33SPIRVToMSLConversionConfigurationEbbb + 3210519 5 ??? 0x00007fff64c8910b 0x0 + 140734884253963 6 ??? 0x00007fff64c89284 0x0 + 140734884254340 7 ??? 0x00007fff64c858bd 0x0 + 140734884239549 8 ??? 0x00007fff64c85852 0x0 + 140734884239442 9 ??? 0x00007fff64c85743 0x0 + 140734884239171 10 ??? 0x00007fff64c859b3 0x0 + 140734884239795 11 ??? 0x00007fff64c7aeb0 0x0 + 140734884196016 12 ??? 0x00007fff64c82308 0x0 + 140734884225800 13 libdyld.dylib 0x00007fff93fed79c dlopen + 59 14 libtier0.dylib 0x0000000004967688 Plat_LoadModuleRaw + 88 15 libtier0.dylib 0x00000000049674bf Plat_LoadModule + 335 16 libengine2.dylib 0x0000000004390f28 Source2Main + 957048 17 libengine2.dylib 0x0000000004390bf4 Source2Main + 956228 18 libengine2.dylib 0x00000000043907c5 Source2Main + 955157 19 libengine2.dylib 0x00000000042a3bd6 BinaryProperties_GetValue + 395430 20 libengine2.dylib 0x00000000042a7586 Source2Main + 214 21 dota2 0x0000000003fdadf0 dota2 + 15856 22 dota2 0x0000000003fdad66 dota2 + 15718 23 libdyld.dylib 0x00007fff93fee5ad start + 1 24 ??? 0x0000000000000001 0x0 + 1 ) 2021-02-03 21:18:20.899 dota2[1097:33693] Terminating app due to uncaught exception 'NSRangeException', reason: ' -[__NSArray0 objectAtIndex:]: index 0 beyond bounds for empty NSArray' First throw call stack: ( 0 CoreFoundation 0x00007fff94a41452 exceptionPreprocess + 178 1 libobjc.A.dylib 0x00007fff8b53b73c objc_exception_throw + 48 2 CoreFoundation 0x00007fff94a611d5 -[NSArray0 objectAtIndex:] + 101 3 libMoltenVK.dylib 0x0000000088e01b17 mvkMTLResourceOptions + 14679 4 libMoltenVK.dylib 0x000000008917ee27 _ZN3mvk19SPIRVToMSLConverter7convertERNS_33SPIRVToMSLConversionConfigurationEbbb + 3210519 5 ??? 0x00007fff64c8910b 0x0 + 140734884253963 6 ??? 0x00007fff64c89284 0x0 + 140734884254340 7 ??? 0x00007fff64c858bd 0x0 + 140734884239549 8 ??? 0x00007fff64c85852 0x0 + 140734884239442 9 ??? 0x00007fff64c85743 0x0 + 140734884239171 10 ??? 0x00007fff64c859b3 0x0 + 140734884239795 11 ??? 0x00007fff64c7aeb0 0x0 + 140734884196016 12 ??? 0x00007fff64c82308 0x0 + 140734884225800 13 libdyld.dylib 0x00007fff93fed79c dlopen + 59 14 libtier0.dylib 0x0000000004967688 Plat_LoadModuleRaw + 88 15 libtier0.dylib 0x00000000049674bf Plat_LoadModule + 335 16 libengine2.dylib 0x0000000004390f28 Source2Main + 957048 17 libengine2.dylib 0x0000000004390bf4 Source2Main + 956228 18 libengine2.dylib 0x00000000043907c5 Source2Main + 955157 19 libengine2.dylib 0x00000000042a3bd6 BinaryProperties_GetValue + 395430 20 libengine2.dylib 0x00000000042a7586 Source2Main + 214 21 dota2 0x0000000003fdadf0 dota2 + 15856 22 dota2 0x0000000003fdad66 dota2 + 15718 23 libdyld.dylib 0x00007fff93fee5ad start + 1 24 ??? 0x0000000000000001 0x0 + 1 ) libc++abi.dylib: terminating with uncaught exception of type NSException

kisak-valve commented 3 years ago

Hello @DrBodgeIt, an ATI Radeon HD 2600 Pro has no chance of supporting Metal or Vulkan via MoltenVK. Can you test if adding -gl to the game's launch options and see if it gets further? That should tell Dota 2 to use the OpenGL render path.

DrBodgeIt commented 3 years ago

Hi, jeez that was a quick response, thank you. Ok, how do i add -gl to the launch options?

kisak-valve commented 3 years ago

In Steam, go to the Library section, right click on the game (or select the game and click on the gear icon in the right) -> Properties... -> launch options should be visible with a box to write in.

DrBodgeIt commented 3 years ago

Great Scott, you've got me in! Thank you so much! Kisak-valve you're a champion, not only have you helped me game like a noob with my mates in lockdown (and gain some much needed sanity) but completely leveled up my faith in the internet and the kindness of strangers. It's a wonderful world, how can I thank you?

MatheusBinicheski commented 3 years ago

THANKSSSSSSS YOU SO MUCHHHHHH WORKS LIKE A CHARMMMMMM!!!

danginsburg commented 3 years ago

Dota is supposed to automatically fallback to OpenGL if Vulkan/MoltenVK initialization fails, but unfortunately it looks like it is crashing before it can do that. This appears to be a crash bug that happens with MoltenVK initialization on ATI Radeon HD 2600.

mnooblet commented 3 years ago

same here.. just tried to help a friend get this runing and found this issue... works with the -gl flag

ty