I tried to export from different environments Windows 8 and Ubuntu 15 and running on various emulators as well as galaxy tablet, even exported a scratch project with a single node in it with no code to be sure it's not about that, the build is successful but the apps keep crashing immediately trying to open it. Is it just me? It can't be me, has anyone done it with no issue on 3.0.2?
Not pro in Android debugging but adb logcat says something about can't find directory and if there be a label or sprite in the project would say something like can't load the canvas plugin as well, not sure if those errors are relevant to this or not though.
All configs are correct such as editor & template version match, JDK 8.
Am i missing something or it's a bug?
We need more specifics like: the list of android devices you've had this issue, a minimal reproduction project or steps to reproduce to be of much help on this issue for you.
Emulators: Pixel_XL - API 22 / Nexus_5X API 27
ABI: x86
Environment: Windows 8 x64 / Ubuntu 15 x64
CPU: Intel i7
Physical Device: Samsung Galaxy A - Android 4.4.4
Java: OpenJDK9 / OracleJDK 8
Project as i said does not matter as issue persists even with empty project, but you can try with a simple node and a label or empty project.
Anything specific you need please ask.
Godot 3.0.x requires OpenGL ES 3.0 for mobile devices.
but Samsung Galaxy A uses PowerVR SGX530 which supports gles 2.0, not 3.0
and for the emulators, according to this doc, https://android-developers.googleblog.com/2017/05/android-studio-3-0-canary1.html
To use OpenGL ES 3.0 with the Android Emulator, your development machine needs a host GPU graphics card that supports OpenGL 3.2 or higher on Microsoft庐 Windows庐 or Linux
can you test it with more recent device?
Thank you @volzhs yes i just figured it out as i tried to rebuild and debug the app with Android Studio :
W/GodotView:` creating OpenGL ES 3.0 context :
E/EGL_emulation: eglCreateContext: EGL_BAD_CONFIG: no ES 3 support
E/EGL_emulation: tid 3254: eglCreateContext(1373): error 0x3005 (EGL_BAD_CONFIG)
E/GodotView: After eglCreateContext: EGL error: 0x3005
E/AndroidRuntime: FATAL EXCEPTION: GLThread 182
Process: org.godotengine.n, PID: 3234
java.lang.RuntimeException: createContext failed: EGL_SUCCESS
at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1192)
at android.opengl.GLSurfaceView$EglHelper.throwEglException(GLSurfaceView.java:1183)
at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1033)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1400)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)
I can test it with recent device but even if that goes away it would be pointless, certainly i need my game to be compatible with most of devices. Is there any workaround for that? or i need to move on from godot to another engine?
Seems like they are after bringing back ES 2 on Godot 3.1 as of https://godotengine.org/article/abandoning-gles3-vulkan-and-gles2
Until then if anyone has a workaround for that i'll appreciate sharing
@Timberland-7 I'm afraid there is no workaround for this issue :disappointed: . We need to wait for 3.1.
I also waiting for it since I only have OpenGL ES 2 devices to test game I made.
[ Update ] Tested on Galaxy A5 which supports ES 3.0, tested with empty project as well as Godot's "Multitouch View Demo", phone only shows black screen and sometimes crash randomly
I guess there are various bugs/issues with Godot 3 beside the OpenGL case.
@Timberland-7 Galaxy A5 have an Adreno gpu, these do not fully support GLES3 and 3D fails with Godot for that reason, so if your immediate target is mobile you should use Godot 2.1 or develop in 3.0 while waiting for 3.1 if you can.
@eon-s Thank you for pointing that out, so in general ES3 would only mean Galaxy S7,8,9 indeed.
Switching to 2.1 would cause a lots of overdoing as syntax are mostly different so i guess i'll continue the development, wait for 3.1 and to hope that everything be fine as i already had the game developed in another engine but last minute decided to rebuild it in Godot and spent weeks to learn the engine.
@Tim-MCC Is this solved?
There is working GLES2 for Android now, so this should be solved, closing.
Most helpful comment
There is working GLES2 for Android now, so this should be solved, closing.