Jump to content

Mac users: Does the net7 build work for you?


Tyron

Recommended Posts

  • Tyron pinned this topic

Which version of .net7 should we get? I tried installing it with brew and I get this error:

schmitta@TM vintagestory.app % ./Vintagestory                                       
Failed to load /opt/homebrew/Cellar/dotnet/7.0.100/libexec/host/fxr/7.0.0/libhostfxr.dylib, error: dlopen(/opt/homebrew/Cellar/dotnet/7.0.100/libexec/host/fxr/7.0.0/libhostfxr.dylib, 0x0001): tried: '/opt/homebrew/Cellar/dotnet/7.0.100/libexec/host/fxr/7.0.0/libhostfxr.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/opt/homebrew/Cellar/dotnet/7.0.100/libexec/host/fxr/7.0.0/libhostfxr.dylib' (no such file), '/opt/homebrew/Cellar/dotnet/7.0.100/libexec/host/fxr/7.0.0/libhostfxr.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))
The library libhostfxr.dylib was found, but loading it from /opt/homebrew/Cellar/dotnet/7.0.100/libexec/host/fxr/7.0.0/libhostfxr.dylib failed
  - Installing .NET prerequisites might help resolve this problem.
     https://go.microsoft.com/fwlink/?linkid=2063366

It seems I need the x86 version, but of which runtime (core or just runtime)?

After installing ".NET 7.0 Runtime (v7.0.8) - macOS x64", I have this error instead:

schmitta@TM vintagestory.app % ./Vintagestory                         
29.6.2023 19:59:43 [Client Notification] Client logger started.
29.6.2023 19:59:43 [Client Notification] Game Version: .net7 Experimental build - v1.18.6 (Unstable)
29.6.2023 19:59:44 [Client Debug] Creating game window with window mode Fullscreen
ALError at 'Start': Invalid Value
29.6.2023 19:59:45 [Client Notification] OpenAL Initialized. Available Mono/Stereo Sources: /
29.6.2023 19:59:45 [Client Notification] CPU Cores: 8
29.6.2023 19:59:45 [Client Notification] Available RAM: 24576 MB
29.6.2023 19:59:45 [Client Notification] Graphics Card Vendor: Apple
29.6.2023 19:59:45 [Client Notification] Graphics Card Version: 4.1 Metal - 83.1
29.6.2023 19:59:45 [Client Notification] Graphics Card Renderer: Apple M2
29.6.2023 19:59:45 [Client Notification] Graphics Card ShadingLanguageVersion: 4.10
29.6.2023 19:59:45 [Client Notification] GL.MaxVertexUniformComponents: 4096
29.6.2023 19:59:45 [Client Notification] GL.MaxUniformBlockSize: 65536
29.6.2023 19:59:45 [Client Fatal] Game Version: .net7 Experimental build - v1.18.6 (Unstable)
6/29/2023 7:59:45 PM: Critical error occurred
Loaded Mods: 
System.DllNotFoundException: Unable to load shared library 'libcairo.so.2' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: 
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib' (no such file)
dlopen(libcairo.so.2.dylib, 0x0001): tried: 'libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibcairo.so.2.dylib' (no such file), '/usr/lib/libcairo.so.2.dylib' (no such file, not in dyld cache), 'libcairo.so.2.dylib' (no such file), '/usr/local/lib/libcairo.so.2.dylib' (no such file), '/usr/lib/libcairo.so.2.dylib' (no such file, not in dyld cache)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib' (no such file)
dlopen(liblibcairo.so.2.dylib, 0x0001): tried: 'liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSliblibcairo.so.2.dylib' (no such file), '/usr/lib/liblibcairo.so.2.dylib' (no such file, not in dyld cache), 'liblibcairo.so.2.dylib' (no such file), '/usr/local/lib/liblibcairo.so.2.dylib' (no such file), '/usr/lib/liblibcairo.so.2.dylib' (no such file, not in dyld cache)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2' (no such file)
dlopen(libcairo.so.2, 0x0001): tried: 'libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibcairo.so.2' (no such file), '/usr/lib/libcairo.so.2' (no such file, not in dyld cache), 'libcairo.so.2' (no such file), '/usr/local/lib/libcairo.so.2' (no such file), '/usr/lib/libcairo.so.2' (no such file, not in dyld cache)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2' (no such file)
dlopen(liblibcairo.so.2, 0x0001): tried: 'liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OSliblibcairo.so.2' (no such file), '/usr/lib/liblibcairo.so.2' (no such file, not in dyld cache), 'liblibcairo.so.2' (no such file), '/usr/local/lib/liblibcairo.so.2' (no such file), '/usr/lib/liblibcairo.so.2' (no such file, not in dyld cache)

   at System.Runtime.InteropServices.NativeLibrary.LoadByName(String libraryName, QCallAssembly callingAssembly, Boolean hasDllImportSearchPathFlag, UInt32 dllImportSearchPathFlag, Boolean throwOnError)
   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryByName(String libraryName, Assembly assembly, Nullable`1 searchPath, Boolean throwOnError)
   at Cairo.CairoAPI.DllImportResolver(String libraryName, Assembly assembly, Nullable`1 searchPath) in C:\Users\Tyron\Documents\vintagestory\game-net7\Cairo\wrapper\Cairo.cs:line 65
   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryCallbackStub(String libraryName, Assembly assembly, Boolean hasDllImportSearchPathFlags, UInt32 dllImportSearchPathFlags)
   at Cairo.NativeMethods.cairo_version_string()
   at Cairo.CairoAPI.get_VersionString() in C:\Users\Tyron\Documents\vintagestory\game-net7\Cairo\wrapper\Cairo.cs:line 56
   at Vintagestory.Client.NoObf.ClientPlatformWindows.LogAndTestHardwareInfos() in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 153
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientProgram.cs:line 287
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientProgram.cs:line 127
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Crash written to file at "/Users/schmitta/.config/VintagestoryDataNet7/Logs/client-crash.txt"

Game Version: .net7 Experimental build - v1.18.6 (Unstable)
6/29/2023 7:59:45 PM: Critical error occurred
Loaded Mods: 
System.DllNotFoundException: Unable to load shared library 'libcairo.so.2' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: 
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2.dylib' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2.dylib' (no such file)
dlopen(libcairo.so.2.dylib, 0x0001): tried: 'libcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibcairo.so.2.dylib' (no such file), '/usr/lib/libcairo.so.2.dylib' (no such file, not in dyld cache), 'libcairo.so.2.dylib' (no such file), '/usr/local/lib/libcairo.so.2.dylib' (no such file), '/usr/lib/libcairo.so.2.dylib' (no such file, not in dyld cache)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2.dylib' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2.dylib' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2.dylib' (no such file)
dlopen(liblibcairo.so.2.dylib, 0x0001): tried: 'liblibcairo.so.2.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSliblibcairo.so.2.dylib' (no such file), '/usr/lib/liblibcairo.so.2.dylib' (no such file, not in dyld cache), 'liblibcairo.so.2.dylib' (no such file), '/usr/local/lib/liblibcairo.so.2.dylib' (no such file), '/usr/lib/liblibcairo.so.2.dylib' (no such file, not in dyld cache)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/libcairo.so.2' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/libcairo.so.2' (no such file)
dlopen(libcairo.so.2, 0x0001): tried: 'libcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibcairo.so.2' (no such file), '/usr/lib/libcairo.so.2' (no such file, not in dyld cache), 'libcairo.so.2' (no such file), '/usr/local/lib/libcairo.so.2' (no such file), '/usr/lib/libcairo.so.2' (no such file, not in dyld cache)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/liblibcairo.so.2' (no such file)
dlopen(/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2, 0x0001): tried: '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2' (no such file), '/usr/local/share/dotnet/x64/shared/Microsoft.NETCore.App/7.0.8/liblibcairo.so.2' (no such file)
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/Lib/liblibcairo.so.2' (no such file)
dlopen(liblibcairo.so.2, 0x0001): tried: 'liblibcairo.so.2' (no such file), '/System/Volumes/Preboot/Cryptexes/OSliblibcairo.so.2' (no such file), '/usr/lib/liblibcairo.so.2' (no such file, not in dyld cache), 'liblibcairo.so.2' (no such file), '/usr/local/lib/liblibcairo.so.2' (no such file), '/usr/lib/liblibcairo.so.2' (no such file, not in dyld cache)

   at System.Runtime.InteropServices.NativeLibrary.LoadByName(String libraryName, QCallAssembly callingAssembly, Boolean hasDllImportSearchPathFlag, UInt32 dllImportSearchPathFlag, Boolean throwOnError)
   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryByName(String libraryName, Assembly assembly, Nullable`1 searchPath, Boolean throwOnError)
   at Cairo.CairoAPI.DllImportResolver(String libraryName, Assembly assembly, Nullable`1 searchPath) in C:\Users\Tyron\Documents\vintagestory\game-net7\Cairo\wrapper\Cairo.cs:line 65
   at System.Runtime.InteropServices.NativeLibrary.LoadLibraryCallbackStub(String libraryName, Assembly assembly, Boolean hasDllImportSearchPathFlags, UInt32 dllImportSearchPathFlags)
   at Cairo.NativeMethods.cairo_version_string()
   at Cairo.CairoAPI.get_VersionString() in C:\Users\Tyron\Documents\vintagestory\game-net7\Cairo\wrapper\Cairo.cs:line 56
   at Vintagestory.Client.NoObf.ClientPlatformWindows.LogAndTestHardwareInfos() in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 153
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientProgram.cs:line 287
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass9_0.<.ctor>b__1() in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientProgram.cs:line 127
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\Tyron\Documents\vintagestory\game-net7\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 93
Crash written to file at "/Users/schmitta/.config/VintagestoryDataNet7/Logs/client-crash.txt"

29.6.2023 19:59:45 [Client Notification] Exiting game now. Server running=False. Exit reason: Game crashed

Do I need to install the SDK (SDK 7.0.305)?

Link to comment
Share on other sites

By the way, I have cairo installed with homebrew (this is in /opt/homebrew):

schmitta@TM homebrew % find . -name 'libcairo*'
./lib/libcairo.a
./lib/libcairo.2.dylib
./lib/libcairo-gobject.2.dylib
./lib/libcairo.dylib
./lib/libcairo-script-interpreter.dylib
./lib/libcairo-script-interpreter.2.dylib
./lib/libcairo-gobject.dylib
./lib/libcairo-gobject.a
./lib/libcairo-script-interpreter.a
./Cellar/cairo/1.16.0_5/lib/libcairo.a
./Cellar/cairo/1.16.0_5/lib/libcairo.2.dylib
./Cellar/cairo/1.16.0_5/lib/libcairo-gobject.2.dylib
./Cellar/cairo/1.16.0_5/lib/libcairo.dylib
./Cellar/cairo/1.16.0_5/lib/libcairo-script-interpreter.dylib
./Cellar/cairo/1.16.0_5/lib/cairo/libcairo-trace.so
./Cellar/cairo/1.16.0_5/lib/cairo/libcairo-trace.a
./Cellar/cairo/1.16.0_5/lib/libcairo-script-interpreter.2.dylib
./Cellar/cairo/1.16.0_5/lib/libcairo-gobject.dylib
./Cellar/cairo/1.16.0_5/lib/libcairo-gobject.a
./Cellar/cairo/1.16.0_5/lib/libcairo-script-interpreter.a

but I do not know how to add a search path for these libraries when launching VintageStory.

Link to comment
Share on other sites

Thanks for reporting, looks like the same issue as @Kurzweil had

Can you (for now) maybe try simply renaming `libcairo.2.dylib` as `libcairo.so.2.dylib` and put a copy in the Vintagestory folder or the /Lib folder?    Basically it seems like libcairo is currently set up to look for the wrong library file name, seems to be looking for a Linux-style name.  We are working on finding the root cause of this.  It would be interesting meanwhile to know if this quick fix works?

Sorry to ask you guys to test like this, but right now none of the VS development team has a recent Mac to try things on (we should work on that too, lol!)

Edited by radfast
Link to comment
Share on other sites

We're making progress on this, found the cause, might have a new MacOS NET7 build to try in the next 1-2 days.  We still think the current one can maybe work with that quick fix I mentioned (definitely interested to see what happens if you try!)  We are so close to getting it working perfectly :)

 

Edited by radfast
Link to comment
Share on other sites

Unfortunately the homebrew cairo I have is arm, not x86:

dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib, 0x0001): tried: '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (no such file), '/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64'))

To build an x86 version, I followed advice from https://gist.github.com/progrium/b286cd8c82ce0825b2eb3b0b3a0720a0:

arch -x86_64 zsh
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
eval "$(/usr/local/bin/brew shellenv)"
brew install cairo
cp /usr/local/lib/libcairo.2.dylib libcairo.so.2.dylib

With that I’m able to launch the game and login, but the mouse does not work (I cannot click anywhere). Also, the game ran in the bottom left quadrant of the screen (but I’m using an external display in addition to the mac’s display, so it’s probably not helping). I had to ctrl-c out of the game, here is what I had on the terminal:

schmitta@TM vintagestory.app % ./Vintagestory                                                              
29.6.2023 22:08:14 [Client Notification] Client logger started.
29.6.2023 22:08:14 [Client Notification] Game Version: .net7 Experimental build - v1.18.6 (Unstable)
29.6.2023 22:08:15 [Client Debug] Creating game window with window mode Fullscreen
ALError at 'Start': Invalid Value
29.6.2023 22:08:16 [Client Notification] OpenAL Initialized. Available Mono/Stereo Sources: /
29.6.2023 22:08:16 [Client Notification] CPU Cores: 8
29.6.2023 22:08:16 [Client Notification] Available RAM: 24576 MB
29.6.2023 22:08:16 [Client Notification] Graphics Card Vendor: Apple
29.6.2023 22:08:16 [Client Notification] Graphics Card Version: 4.1 Metal - 83.1
29.6.2023 22:08:16 [Client Notification] Graphics Card Renderer: Apple M2
29.6.2023 22:08:16 [Client Notification] Graphics Card ShadingLanguageVersion: 4.10
29.6.2023 22:08:16 [Client Notification] GL.MaxVertexUniformComponents: 4096
29.6.2023 22:08:16 [Client Notification] GL.MaxUniformBlockSize: 65536
29.6.2023 22:08:16 [Client Notification] Cairo Graphics Version: 1.16.0
29.6.2023 22:08:16 [Client Notification] OpenAL Version: 1.1
29.6.2023 22:08:16 [Client Notification] C# Framework: .net 7.0.8
29.6.2023 22:08:17 [Client Notification] Start discovering assets
29.6.2023 22:08:17 [Client Notification] (Re-)loaded frame buffers
29.6.2023 22:08:17 [Client Notification] Found 22 base assets in category lang
29.6.2023 22:08:17 [Client Notification] Found 0 base assets in category patches
29.6.2023 22:08:17 [Client Notification] Found 22 base assets in category config
29.6.2023 22:08:17 [Client Notification] Found 0 base assets in category worldproperties
29.6.2023 22:08:17 [Client Notification] Found 46 base assets in category sounds
29.6.2023 22:08:17 [Client Notification] Found 97 base assets in category shapes
29.6.2023 22:08:17 [Client Notification] Found 72 base assets in category shaders
29.6.2023 22:08:17 [Client Notification] Found 16 base assets in category shaderincludes
29.6.2023 22:08:17 [Client Notification] Found 131 base assets in category textures
29.6.2023 22:08:17 [Client Notification] Found 4 base assets in category music
29.6.2023 22:08:17 [Client Notification] Found 0 base assets in category dialog
29.6.2023 22:08:17 [Client Notification] Found 410 base assets in total
29.6.2023 22:08:17 [Client Notification] Loading sounds
29.6.2023 22:08:17 [Client Notification] Sounds loaded
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass .
29.6.2023 22:08:17 [Client Notification] Window probably resized, recalculating dialog bounds and recomposing gameloadingscreen...
29.6.2023 22:08:17 [Client Notification] Begin loading shaders
29.6.2023 22:08:17 [Client Notification] Load shaders now
29.6.2023 22:08:17 [Client Notification] Loading shaders...
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass standard.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass particlescube.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass particlesquad.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass sky.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass nightsky.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass woittest.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass transparentcompose.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass debugdepthbuffer.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass helditem.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass chunkopaque.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass chunkliquid.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass decals.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass final.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass gui.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass blur.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass chunktransparent.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass findbright.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass chunktopsoil.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass godrays.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass autocamera.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass blockhighlights.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass wireframe.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass entityanimated.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass luma.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass blit.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass particlesquad2d.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass shadowmapentityanimated.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass shadowmapgeneric.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass texture2texture.
29.6.2023 22:08:17 [Client Error] Link error in shader program for pass celestialobject: ERROR: Input of fragment shader 'fragPosition' not written by vertex shader
ERROR: Input of fragment shader 'gnormal' not written by vertex shader
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass guitopsoil.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass colorgrade.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass guigear.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass ssao.
29.6.2023 22:08:17 [Client Notification] Loaded Shaderprogramm for render pass bilateralblur.
29.6.2023 22:08:17 [Client Notification] Cached session key is invalid, require login
UNSUPPORTED (log once): POSSIBLE ISSUE: unit 0 GLD_TEXTURE_INDEX_2D is unloadable and bound to sampler type (Float) - using zero texture because texture unloadable
29.6.2023 22:11:22 [Client Debug] Server login response: invalid, reason: invalidemailorpassword
29.6.2023 22:11:22 [Client Debug] Server login response: invalid, reason: invalidemailorpassword
29.6.2023 22:12:16 [Client Debug] Server login response: invalid, reason: invalidemailorpassword
29.6.2023 22:12:16 [Client Debug] Server login response: invalid, reason: invalidemailorpassword
29.6.2023 22:13:07 [Client Debug] Server login response: valid, reason: 
29.6.2023 22:13:07 [Client Debug] Server login response: valid, reason: 
29.6.2023 22:13:07 [Client Notification] Will search the following paths for mods:
29.6.2023 22:13:07 [Client Notification]     /Users/schmitta/Documents/Inbox/vintagestory.app/Mods
29.6.2023 22:13:07 [Client Notification]     /Users/schmitta/.config/VintagestoryDataNet7/Mods
^C29.6.2023 22:14:02 [Client Notification] Exiting game now. Server running=False. Exit reason: SIGTERM or SIGINT received
29.6.2023 22:14:02 [Client Debug] After gamewindow.Run()

(and yes, it took me five tries to input my password, it’s generated and I could not copy and paste it…)

A future try is to install x86 dotnet with brew and see if I can use it, but not tonight

Link to comment
Share on other sites

Hooray! I managed to run the game on my MacBook Pro with Apple silicon (13", M1 SoC, Mac OS X 13 Ventura). And it looks like it even works with touchpad really well.

Spoiler

I am a monster, I know

My step by step solution.

  1. Download the game from here. Open Terminal and cd into the game folder
    cd ~/Downloads/vintagestory.app/
  2. Download an installer for x64 .NET Runtime from here . I used 7.0.2 because it was the version game was asking for. Do not use arm64
  3. Install .NET runtime
    arch -x86_64 sudo installer -pkg dotnet-runtime-7.0.2-osx-x64.pkg -target /
  4. Install Homebrew for x64 (as described here)

  5. Install lib cairo

    axbrew install cairo
  6. Copy (symlink) the library into the game folder, basicaly inside 'vintagestory.app'

    ln -s /usr/local/homebrew/lib/libcairo.2.dylib libcairo.so.2.dylib
  7. Run the game
    arch -x86_64 ./Vintagestory
  8. Have fun!

Alan Schmitt, your way to install Homebrew is also valid, but I prefer not to exec scripts from internet

I will continue testing tomorrow. Probably will try a mouse!

Edited by Bohdan Vasylyshyn
Link to comment
Share on other sites

Awesome, thank you for the feedback and the growing knowledge base for how to make this work.  Really awesome that you have it working on Apple silicon.

We can look at distributing a version of libcairo.2.dylib with the OSX build in future - ideally we want a release which works well on all types of Mac.  Thinking about how to do that.  I'm assuming Homebrew produces different executables on different hardware?

Mouse non-responsiveness - with Mono it used to be necessary to add sh to Input Monitoring (sh was used to run the game).  Now maybe you have to add arch?  More generally there have previously been issues with the non-default mouse, seems that OpenTK is able to communicate only with the first-installed mouse - so maybe try disconnecting all mice except the one you want to use, when the Mac is first started.

Window size / monitor issues - you can try adjusting in Settings from the Vintage Story main menu if you can read the GUI, otherwise try editing the clientsettings.json file before even starting the game.  In .NET7 we use GLFW (OpenTK's version of it) to create and manage the game window.  This has a few flaws.  If there is anything specific bothering you please tell us about it in a bit more depth, and we can perhaps include a fix in the game's code or open an issue with OpenTK.

 

 

Link to comment
Share on other sites

I experimented a bit more with this. I can start the game with both the pkg .NET and the x86 brew version.

For the window issue, I can play the game fine without the external screen connected (I created a world and started the tutorial to check). However, with the external screen connected as an extended display, the game only takes a fourth of the screen (which may be the size of the laptop screen…) and the rest is black. In this case, the mouse does not work (in the sense that the cursor moves and is shown, but the clicks do not register).

When on the laptop screen only, I played with the settings and something interesting happens when I unset the full screen option: the interface then takes only part of the screen (I guess a fourth as well) and the mouse clicks no longer work. If I tab to enable full screen again, then the interface takes the whole screen and clicks register once more.

  • Like 2
Link to comment
Share on other sites

I played with it some more and it works great on internal display. I did try to remove my x86 brew installation, and it broke the game as it could not find some other libraries:

System.DllNotFoundException: Unable to load shared library 'libcairo.so.2' or one of its dependencies. In order to help diagnose loading problems, consider setting the DYLD_PRINT_LIBRARIES environment variable: 
dlopen(/Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib, 0x0001): Library not loaded: /usr/local/opt/pixman/lib/libpixman-1.0.dylib
  Referenced from: <12A30DC8-B113-3949-9C2D-6D3204BDED24> /Users/schmitta/Documents/Inbox/vintagestory.app/libcairo.so.2.dylib
  Reason: tried: '/usr/local/opt/pixman/lib/libpixman-1.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/pixman/lib/libpixman-1.0.dylib' (no such file), '/usr/local/opt/pixman/lib/libpixman-1.0.dylib' (no such file), '/usr/local/lib/libpixman-1.0.dylib' (no such file), '/usr/lib/libpixman-1.0.dylib' (no such file, not in dyld cache)

So one may need some dependencies of cairo as well.

Link to comment
Share on other sites

  • 2 weeks later...
Spoiler
On 29.06.2023 at 23:41, Bohdan Vasylyshyn said:

Ура! Мне удалось запустить игру на моем MacBook Pro с Apple Silicon (13 дюймов, M1 SoC, Mac OS X 13 Ventura). И похоже, что она очень хорошо работает даже с тачпадом.

  Показать скрытое содержимое

Я монстр, я знаю

Мое пошаговое решение.

  1. Скачайте игру отсюда . Откройте Терминал и зайдите в папку с игрой
  2. Загрузите установщик для x64 .NET Runtime отсюда . Я использовал 7.0.2, потому что это была та версия, которую требовала игра. Не используйте arm64
  3. Установить среду выполнения .NET
  4. Установите Homebrew для x64 (как описано здесь )

  5. Установить библиотеку каир

  6. Скопируйте (симлинк) библиотеку в папку с игрой, в основном внутри 'vintagestory.app'

  7. Запустить игру
  8. Веселиться!

Алан Шмитт, ваш способ установки Homebrew тоже подходит, но я предпочитаю не запускать скрипты из интернета.

Завтра продолжу тест. Наверное попробую мышь!

 

I used this tutorial and was able to run the game on my m1 air. Unfortunately I could not do anything about the screen, which took up 1/4 of the display regardless of full screen mode settings/screen size, but even so, the keystrokes were registered on the full screen. No problems with bluetooth mice either. I'll leave my log here, maybe it will be useful to someone.

Spoiler

image.thumb.png.d5f3671e86f7a22d16ce65b99a0968ca.png

клиент-main.txt

Link to comment
Share on other sites

Works like a charm on my 2020 M1 MacBook Air aside from very rare crashes here and there, I have to play on Medium~Low settings though to achieve 60fps since the game runs on Rosetta so it gets my Mac quite hot, it's perfect aside from the Rosetta part which I hope to see changed soon because .NET 7 has native macOS ARM64 support.

Link to comment
Share on other sites

On 7/13/2023 at 9:42 AM, OutcastZeroOne said:

Im probably beyond help here seeing as I am on an old 2013 MacPro but it just instantly crashes on me. I installed net7.0.306

client-crash.txt 26.73 kB · 1 download

Something like this should fix your issue on an Intel Mac:

1. Install Homebrew: https://brew.sh

2. Install cairo: 

brew install cairo

3. Link cairo:

cd /Applications/vintagestory.app
ln -s /usr/local/homebrew/lib/libcairo.2.dylib libcairo.so.2.dylib

 

  • Like 1
Link to comment
Share on other sites

I’ve tried all of the suggestions in this thread and was not able to get the game to even launch. The .net4 works. 

Has the VS team taken a look at the new game porting tools provided by the Apple devs for porting the game in the past couple months?

 

https://9to5mac.com/2023/06/06/macos-sonoma-port-windows-games-mac/

 

These tools were released extremely recently. As in: since WWDC 2023 in the past month or two.

Hypotheticallty, this should allow the VS team to port the game in minutes from an x86 build using these new tools. It’s been shown to work for many modern titles, though I am not extremely versed in it quite yet. I would be happy to delve deeper to see if more is required; from what I have seen, there are people on youtube sharing their experience porting games using these tools without any issue, and the intention seems to be for developers to quickly establish a mac port with little effort. 

 

I thought I would include this in case it can help; please feel free to inquire more

Edited by dotyerts
Link to comment
Share on other sites

18 hours ago, dotyerts said:

I’ve tried all of the suggestions in this thread and was not able to get the game to even launch. The .net4 works. 

Has the VS team taken a look at the new game porting tools provided by the Apple devs for porting the game in the past couple months?

 

https://9to5mac.com/2023/06/06/macos-sonoma-port-windows-games-mac/

 

These tools were released extremely recently. As in: since WWDC 2023 in the past month or two.

Hypotheticallty, this should allow the VS team to port the game in minutes from an x86 build using these new tools. It’s been shown to work for many modern titles, though I am not extremely versed in it quite yet. I would be happy to delve deeper to see if more is required; from what I have seen, there are people on youtube sharing their experience porting games using these tools without any issue, and the intention seems to be for developers to quickly establish a mac port with little effort. 

 

I thought I would include this in case it can help; please feel free to inquire more

I'm glad you thought about this but GPTK doesn't help port games from x86 -> ARM, it helps developers port DirectX shaders to Metal shaders, also, it's more-so intended just to get a quick look at how your game would run on macOS without touching anything.

Edited by nabrious
more clarification
  • Sad 1
Link to comment
Share on other sites

  • Tyron unpinned this topic
  • 3 weeks later...

Hi Tyron,

I'm on Macbook Pro M1 Ventura 13.5. I tried everything above to force Vintagestory 1.18.8 to find the libcairo.2.dylib. 

Please find the the crash log attached.

However 1.18.7 is working fine with the annoying key-repeat. WSAD and space and touchpad left and right clicks getting stuck in autorepeat. Clicking the button again turns it off, but sometimes you have to click several times. Btw its really annoying. Mono imput is truned on.

Would love to see this game running smoothly on MAC.

client-crash.txt

Link to comment
Share on other sites

  • 4 weeks later...
On 7/11/2023 at 5:25 PM, Oubi256 said:
  Hide contents

 

I used this tutorial and was able to run the game on my m1 air. Unfortunately I could not do anything about the screen, which took up 1/4 of the display regardless of full screen mode settings/screen size, but even so, the keystrokes were registered on the full screen. No problems with bluetooth mice either. I'll leave my log here, maybe it will be useful to someone.

  Hide contents

image.thumb.png.d5f3671e86f7a22d16ce65b99a0968ca.png

клиент-main.txt

I'm seeing the same issue on my wife's computer. I tried following the instructions here:

And they... did something. I can go from using 1/4 of the screen to using 1/2 in windowed mode, but if I go fullscreen it goes back to using 1/4 of the screen, but the mouse ranges over the full screen and the actual interface responds to where the buttons *should* be, not where they are actually drawn (e.g. if I carefully mouse over correct area in the blacked out upper right quadrant of the screen the tooltip will appear over the gamma setting in the lower left -- there's a a factor of 2 off between the rendering and the UI).

Unfortunetely I have 0 knowledge of any Cyrilic language so I have no idea what your logs are indicating : /

Anyone seen a similar issue or had any luck fixing it? Things are working great on my M1 machine, but this mid-2015 MacBook Pro is struggling (FYI, running Big Sur 11.7.8)
 

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.