-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTML5 exports fail to run on macOS (CanvasShaderGLES3: Program linking failed) #68980
Comments
Which browser(s) did you test? Can you test multiple browsers if you've only tried one? |
I tested on Brave, Safari, and Chrome. Each had the same error. |
As a side note, I tried building using my friend's windows laptop and got the same error from the site. That was built with Godot 4.0.beta3 however, not beta 5. Both seem to have the same issue. If you want a live example of my game failing (Not a simple project), you can go here: The game with load and then stall for a good 30 seconds to a minute before throwing the error. |
The only related errors I get running this sample scene are due to it using GPUParticles which weren't implemented yet in Beta3 but they are in Beta 5. The fact that the error message you pointed to above is an error only with linking the Shader makes me think that the issue is also related to GPUParticles. Can you please check an example scene without GPUParticles and confirm whether you get the same error message? Apologies in advance, I don't have a macOS devices with which to test this |
@clayjohn Alright, just tested with my test project above. If that does resolve the GPUParticles, then this is a macOS build issue. |
Some additional feedback for this: This seems to simply be an issue with macOS not being able to run my html5 game. Any thoughts? I hope my added details are helpful. |
macOS has different graphics drivers compared to Windows, and there is no native OpenGL support (WebGL uses OpenGL behind the scenes). Apple still provides OpenGL 4.1 support by translating OpenGL to Metal, but this comes with its own bugs and limitations. |
That sounds like an inconclusive “We have no way to fix this”. But that can’t be right. What are our options? |
AFAIK this only happens on M1 and M2 systems. The older intel based Macs still attempt to run over ordinary OpenGL and the drivers are indeed very buggy.
For starters, someone who can reproduce the bug needs to investigate further and determine what shader is failing to link (e.g. by process of elimination), then we need to identify what exactly is causing that shader to fail to link and figure out a workaround. |
@clayjohn I know that the particles cause it to fail as mentioned above, but building the basic game in my first post also causes macOS to crash with tons of stuff printed out. Here are the logs for one set of errors, if they are helpful. In this case it's the canvas rasterization...? There's a line number in there for a cpp file. I can also take a video if you'd like. |
I'm facing a similar issue on Godot 3.5-stable. on a Macbook pro M1 with GLES3
GLES2 works on every combination, unfortunately my use case needs GLES3 since I'm depending on HDR. |
Godot 4.0 beta 7 doesn't work on Macbook pro Intel. |
Still occurring on Beta 8. This issue seems to do nothing unless you attempt to access the debug console, in which case it crashes Firefox and Chrome, and freezes Safari. Prior to that just an endless spinning load icon. I have an M1 MacBook Pro (Late 2020). |
Godot version
4.0.beta5
System information
MacOS Monterey 12.2.1
Issue description
Building any godot application for web fails to load with the following error:
Steps to reproduce
Create any project using Godot 4.0 beta 5 official.
Add a button and link it to a print just to test things.
Run the project once to assign a root.
Build for html.
Deploy using some server. Itch.io is the easiest, just be sure to enable the SharedBufferArray.
Try to run the game. It will block after loading, and then crash with lots of errors, the above being the first.
Minimal reproduction project
Godot4WebExportFail.zip
The text was updated successfully, but these errors were encountered: