Comments (10)
It fails to launch on M1/M2 based Macs because the application binary is universal (x86_64 and arm64) but the bundled libwebrtc_native.osx.release.64.dylib
library is x86_64 only.
You can force it to run under Rosetta, by selecting the app icon in the Finder, pressing Cmd-I to open the inspector and then checking the "Open using Rosetta" checkbox. After that it will run properly.
Such a cool project! Thanks for making it :)
from tabletop-club.
I believe the command line tool lipo
can combine two separate x86_64 and arm64 binaries into one universal one. Something like this should work: lipo foo_intel.dylib foo_arm.dylib -output foo_universal.dylib -create
from tabletop-club.
Yeah, I currently do not own certificates for Windows or macOS - but it is still possible to run the game on macOS by right-clicking the application and clicking "Open" (this may need to be done twice the first time around, and it should be possible even with the quarantine flag). Let me know if this works for you!
from tabletop-club.
Unfortunately the Problem remains, even when removing the flag and adding an exception, as far as I can tell. The error changes to "Tabletop Club quit unexpectedly", but the Report I get is identical to that posted by OP.
If I find the time I'll compile the Godot fork and try to take a look what the issue might be.
from tabletop-club.
Darn. Yeah, any help with getting the standalone macOS build working on other machines would be appreciated 👍 For those on macOS I recommend playing the game through the Itch app for the time being until this is fixed.
from tabletop-club.
I have a mid 2014 Macbook pro with Big Sur. It opens and runs fine when you right-click and choose open. I would assume this problem only occurs with newer apple products then.
from tabletop-club.
It fails to launch on M1/M2 based Macs because the application binary is universal (x86_64 and arm64) but the bundled
libwebrtc_native.osx.release.64.dylib
library is x86_64 only.
Ahh, that explains why the game works on older systems, but not newer ones!
Looking at the official webrtc-native
library, it does look like there is an arm64 version of the library, but it is in a separate file:
[gd_resource type="GDNativeLibrary" format=2]
[resource]
singleton = true
reloadable = false
entry/OSX.64 = "res://webrtc/lib/libwebrtc_native.osx.release.64.dylib"
entry/OSX.arm64 = "res://webrtc/lib/libwebrtc_native.osx.release.arm64.dylib"
Since the main binary is universal, here's my initial solutions from nicest to not nicest:
- Include both the x86_64 and arm64 libraries as separate files in the universal build, and have the binary pick the correct one at runtime.
- Create a universal library containing both x86_64 and arm64 architectures, and include that instead. Would mean having to compile the library from scratch.
- Create separate macOS builds of the game for x86_64 and arm64. Not ideal, would like to avoid if at all possible.
I'll do some research on how to solve this in the near future, I can't be the only one who's had this problem surely?
from tabletop-club.
I've been tinkering with this today - I initially attempted to merge the two dynamic libraries together, but failed when I realised there is no second library 🤦 Even though the .tres
file references an arm64 library, only the x86_64 one exists: libwebrtc_native.osx.release.64.dylib
.
So I attempted to build it from source on my MacBook, and lo and behold, I can't get it to even compile for x86_64, let alone arm64 😭 There's several issues with building the original WebRTC library in the same branch that the rest of the platforms use.
However, that's all for version 0.5 of the library (the current stable version) - at the time of writing, there is a v1.0.0-rc1 release that includes both x86_64 and arm64 libraries for both Godot 4 and 3. I was planning to use it for v0.2.0 of the game since it will use Godot 3.5.2, but I may attempt to use it for v0.1.x to get this error fixed, even if it says Godot 3.4.x is not officially supported.
Will keep you all updated on this 👍 I'm really hoping I can get the game working on ARM sooner rather than later...
from tabletop-club.
No such luck with the v1.0.0-rc1 build... the library loads fine on macOS (after correcting a spelling error), and it sends offers, answers and candidates to my Linux machine, but it just... doesn't establish the connection:
Joining game with room code IVDG...
Connecting to master server at 'wss://tabletop-club.duckdns.org:9080' with room code 'IVDG'...
Connected to the room as peer 236816019.
Peer 1 has connected.
Creating a connection for peer 1...
Joined room IVDG.
Received offer from peer 1.
Created answer for peer 1.
Received candidate from peer 1.
Received candidate from peer 1.
Received candidate from peer 1.
Unless someone can find a fix for this, I'm not sure if I am able to include an arm64 version of the WebRTC library until the game uses Godot 3.5 (which will be in v0.2.0) - until then, it looks like you can run the x86_64 version via Rosetta.
from tabletop-club.
Thanks for all of the information. Looking forward to v0.2.0!
from tabletop-club.
Related Issues (20)
- Cannot open Tabletop Club.app on MacOS HOT 1
- Master server cannot be accessed via an IPv6 address. HOT 1
- VR support HOT 1
- Spanish should have at least two variants (Spain and Latin American) HOT 3
- Assign shortcuts for scaling objects. HOT 1
- Allow easy object zoom for closer look. HOT 1
- Option to scale UI HOT 1
- Import Log doesn't display non-ASCII characters HOT 7
- Omit latter parts of too-long values in config.cfg HOT 1
- Installer for windows HOT 1
- Replace the default SpatialShader with one that allows additive albedo blending. HOT 1
- When hovering over an object, asset pack name doesn't show up if description is not empty
- Weird behaviour of objects after scaling HOT 1
- Raise the music volume range HOT 2
- Use “cuboids”, “cylinders”, “figures” instead of “cards”, “tokens”, “pieces” HOT 3
- Add a way to stop pre-made games from overwriting the current skybox. HOT 2
- Elimination on mouse-click when two same objects are clicked on continuously HOT 1
- Slide an object with mouse HOT 4
- Select from multiple available texture sets HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tabletop-club.