timkurvers / valheim-macos

Build-your-own Valheim build for macOS
MIT License
270 stars 14 forks source link

Doesn't seem to work on MacOS Sonoma #40

Closed WhyJAVAidk closed 1 year ago

WhyJAVAidk commented 1 year ago

I know it's a beta OS but I wanted to try if there is any performance differences between Ventura and Sonoma but couldn't get it run on Sonoma. Did a clean install but it is the same the game opens the logo shows but crashes right after. Also tried running on crossover and GPTK but the performance seems very very bad.

timkurvers commented 1 year ago

I haven't personally tried it on Sonoma but would expect it to work.

Are you sure Steam is running? There may be more information in the ~/Library/Logs/IronGate/Valheim/Player.log file.

WhyJAVAidk commented 1 year ago

Im running steam in the background and having this terminal output

Screenshot 2023-09-03 at 11 41 44

I will include the log here Player.log

WhyJAVAidk commented 1 year ago

Ok I did figure it out if someone who has the same problem as me can do it too. I did a fresh install on unity editor (Unity-2020.3.45f1.pkg) for Mac and it got the game working.

timkurvers commented 1 year ago

Judging by the log, the Steam application ID was missing:

09/03/2023 11:40:14: Failed to find APPID 09/03/2023 11:40:14: Using steam APPID:0 09/03/2023 11:40:14: Invalid APPID

This is normally placed automatically into the game package, so not entirely sure where that went wrong.

Glad you got it to work in the end! 🎉

geekykayaker commented 1 year ago

I'm seeing the same thing, I've tried running:

git clean -dfx
./build.sh

Which should reinstall everything right? Or did you download the package from the Unity website and install manaully?

timkurvers commented 1 year ago

I wonder if Unity extraction can fail under some very specific circumstances.

Could you try renaming vendor/Unity-2020.3.45f1 to something else and then re-run the script. It should re-extract the files. If you suspect the Unity download to be corrupt, try renaming the .pkg file, too.

geekykayaker commented 1 year ago

The git clean wipes the whole folder out, so I would have thought that would be enough?

timkurvers commented 1 year ago

Ah right, sorry, did not register the flags passed to git clean.

Is there anything of interest in the build script output? Errors from pkgutil or otherwise?

geekykayaker commented 1 year ago

Not that I've noticed. I've just re-kicked the install, so I'll keep an eye out.

geekykayaker commented 1 year ago

Hmmm... Nothing out of ordinary in log at all.

timkurvers commented 1 year ago

If the game is erroring out with Invalid APPID, could you check build/Valheim.app/Contents/Info.plist whether SteamAppId is correctly in there?

geekykayaker commented 1 year ago

Yup.

34     <dict>
 35       <key>SteamAppId</key>
 36       <string>892970</string>
 37     </dict>

I'm wondering if this is some Somona bug, I'm seeing this in the system "Console" app:

Two equal instances have unequal identities. <type=Application identifier=application.unity.IronGate.Valheim-macOS-Custom.109772233.109772248 AUID=501> and <type=Application identifier=application.unity.IronGate.Valheim-macOS-Custom.109772233.109772248>
timkurvers commented 1 year ago

Hm, curious indeed. Anything interesting in extended attributes on the app itself, or the executable?

xattr build/Valheim.app
xattr build/Valheim.app/Contents/MacOS/Valheim
geekykayaker commented 1 year ago

Hmmm, nothing for either of those...

timkurvers commented 1 year ago

Could you try executing the binary directly as follows from the terminal:

./build/Valheim.app/Contents/MacOS/Valheim -logfile /dev/stdout

I doubt the game will launch properly (Steam will likely fail to initialize) but worth a shot to see whether macOS is preventing it from launching, and what type of log output you may get.

geekykayaker commented 1 year ago

Ok, so the game launches the same as it does without the logfile option, and quits at the same point.

This is the first error I get

NullReferenceException: The WorldGenerator instance was null
  at Heightmap.Generate () [0x0001a] in <515edd01a8ff4d22b13da559af22489c>:0 
  at Heightmap.Regenerate () [0x00007] in <515edd01a8ff4d22b13da559af22489c>:0 
  at Heightmap.OnEnable () [0x00029] in <515edd01a8ff4d22b13da559af22489c>:0 

Then I get some of these:

NullReferenceException: Object reference not set to an instance of an object
  at Localization.GetBoundKeyString (System.String bindingName, System.Boolean emptyStringOnMissing) [0x00005] in <1cc5e200d8fe4d129ecc905a7d16b102>:0 
  at Localization.Translate (System.String word) [0x0003a] in <1cc5e200d8fe4d129ecc905a7d16b102>:0 
  at Localization.Localize (System.String text) [0x0001e] in <1cc5e200d8fe4d129ecc905a7d16b102>:0 
  at Localization.Localize (UnityEngine.Transform root) [0x00024] in <1cc5e200d8fe4d129ecc905a7d16b102>:0 
  at Localize.Start () [0x0000b] in <1cc5e200d8fe4d129ecc905a7d16b102>:0 
timkurvers commented 1 year ago

Okay, then I think the messages in the console about identity inequality may be unrelated.

Does it launch properly with:

SteamAppId=892970 ./build/Valheim.app/Contents/MacOS/Valheim -logfile /dev/stdout

If so, there's something amiss with the app-bundle 🤔

If it still doesn't launch, can you see any Steam-related output in the log?

geekykayaker commented 1 year ago
09/14/2023 14:23:26: Using environment steamid 892970
09/14/2023 14:23:26: Using steam APPID:892970
[S_API FAIL] SteamAPI_Init() failed; ipcserver init failed .
[S_API] SteamAPI_Init(): SteamAPI_IsSteamRunning() did not locate a running instance of Steam.
[S_API] SteamAPI_Init(): Could not determine Steam client install directory.
[Steamworks.NET] SteamAPI_Init() failed. Refer to Valve's documentation or the comment above this line for more information.
timkurvers commented 1 year ago

Can you double-check that Steam is running (the macOS client) and you are signed in with an account that owns Valheim?

geekykayaker commented 1 year ago

Damn, is this whole thing because I've not been running Steam... I'm sure I've tried it with Steam before. Hang on

On Thu, 14 Sept 2023 at 14:22, Tim Kurvers @.***> wrote:

Okay, then I think the messages in the console about identity inequality may be unrelated.

Does it launch properly with:

SteamAppId=892970 ./build/Valheim.app/Contents/MacOS/Valheim -logfile /dev/stdout

If so, there's something amiss with the app-bundle 🤔

If it still doesn't launch, can you see any Steam-related output in the log?

— Reply to this email directly, view it on GitHub https://github.com/timkurvers/valheim-macos/issues/40#issuecomment-1719442410, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE6LTPNE2BQC62IILLA7KKDX2MAHVANCNFSM6AAAAAA4JFIC2Y . You are receiving this because you commented.Message ID: @.***>

geekykayaker commented 1 year ago

Oh FFS, it's fine now, sorry for the huge waste of time. I think the original issue must have been some problem with stale files, and I just hadn't realised I was no longer running steam in the background when I did the git clean....

timkurvers commented 1 year ago

No worries, glad it's working 🥳

I'll go ahead and close this issue, but if either of you were to encounter any Sonoma specific issues, please reply or open an issue 🙏

geekykayaker commented 1 year ago

Thanks so much, appreciate all the help!