Godot: GLES2 and default environment (ProceduralSky) cause a crash on some hardware

Created on 29 Aug 2018  路  36Comments  路  Source: godotengine/godot

Godot version:
v3.1.alpha

OS/device including version:
Windows 10
Intel HD Graphics - OpenGL ES 2.0

Issue description:
When I create a new project and edit it, the explorer freezes and then Godot closes.

Steps to reproduce:
Create a New Project and edit it.

Workaround:
Go to the project directory, open the file called _project.godot_ and remove this line:

[rendering]

environment/default_environment="res://default_env.tres"
bug high priority rendering

Most helpful comment

with default_env.tres I could reproduce the crash at start with my iPhone 4s 100%.
but not anymore. :)

All 36 comments

Can you run it from a terminal and paste the output (there should be error messages)?

There it is

OpenGL debugging not supported!
OpenGL ES 2.0 Renderer: Intel(R) HD Graphics
Editing project: C:/Users/Usuario/Documents/GodotProjects/Crash (C:::Users::Usuario::Documents::GodotProjects::Crash)
OpenGL debugging not supported!
OpenGL ES 2.0 Renderer: Intel(R) HD Graphics
WARNING: _get: Property not found: _global_script_class_icons
     At: core/project_settings.cpp:194

What version of Intel HD graphics do you have? Are your drivers up to date?

@akien-mga I can confirm that @arnoldochavez problem existed on an old testing laptop I have and his solution worked. The drivers are up to date according to Intel (Version: 15.22.58.2993)

@karroffel Seems to be an issue with some non-supported default environment stuff on GLES2 for ~2010-ish "Intel HD Graphics" IGPs (no number, those are before Intel started branding them 2000, 3000, etc.).

@Zimakili has those specs (https://github.com/godotengine/godot/issues/20588#issuecomment-417763413) so that's 5th gen "Arrandale"/0046 with barely OpenGL 2.1 support: https://en.wikipedia.org/wiki/List_of_Intel_graphics_processing_units#Fifth_generation

Not sure for @arnoldochavez, could you give precise specs about GPU and CPU?

For my work office PC with "Intel HD Graphics 4400" changing default environment background mode to custom color solves the crash problem.

Sorry for the late response @akien-mga, there are the specs:

Report Date: 9/3/2018
Report Time[hr:mm:ss]: 21:8:45
Driver Version: 8.15.10.2900
Operating System: (6.2.9200)
Default Language: English (United States)
DirectX* Version: 10.1
Physical Memory: 5941 MB
Minimum Graphics Memory: 32 MB
Maximum Graphics Memory: 1696 MB
Graphics Memory in Use: 230 MB
Processor: Intel64 Family 6 Model 37 Stepping 5
Processor Speed: 2667 MHz
Vendor ID: 8086
Device ID: 0046
Device Revision: 02

HP Elitebook 2560p, core i5, 4Gb RAM, Graphic HD 3000

The same happened to me. The Godot 3.1 start fine, but the graphic card crash when try to start a new proyect or any proyect.

Now I solved comenting the line:

[rendering]
environment/default_environment="res://default_env.tres"

in the file called project.godot.

I think this issue is a duplicate of #20588, since it was opened after that.
There is also another duplicate: #21643

If you remove the environment/default_environment="res://default_env.tres" Godot 2D will work just fine, but Godot 3D will stop working currectly, the camera 3D will ignore the enviroment color/light etc, and shows only a black background (in the back of the sprites meshes etc), i find this very strange, because this never happended in Godot 2.1 :/, i tested this with a new compilation (mastre branch) of Godot 3.1
image

Editing title as it seems specific to ProceduralSky used in the default environment. Editing the environment to use something else should help.

Exported android app freezes at splash screen (Samsung Galaxy J5 and J3) or white screen with some artifacts is shown (Nvidia Tegra K1 tablet). It seems to be related to ProceduralSky applied in environment (when custom color is used android app runs fine). (#22656)

From @AlexRixhardson in https://github.com/godotengine/godot/issues/24043#issuecomment-443313482, also having a related crash on Android:

Even though removing sky from the default environment doesn't help in my case, I found out that if I delete the default environment, and then create a new environment, everything still works. Adding sky to the brand new environment causes the game to start crashing again.

So I guess removing sky from the default environment that is automatically added to the project still keeps something behind, and that causes the game to crash. Creating brand new environment without the sky however works.

Also in Samsung R528/ Intel G45. And YES, i know use old graphic card.

Create a New Project. Then rename as "-default_env.tres" in project folder. Open a New Project in Godot and again rename "default_env.tres".

And this:
error

A ton of duplicates being reported, as well as, why do we load default_env.tres in 2D projects?

This is probably fixed now, but just in case give it a test again..

with default_env.tres I could reproduce the crash at start with my iPhone 4s 100%.
but not anymore. :)

I have a crash with the environment too.
v3.1.alpha 5
OS Win 7, AMD Radeon hd 6370m

Just downloaded the beta and I can confirm it now works fine!

On Radeon 6630M (and Dell's official drivers), I am having this crash in beta 1.

Reopening as it's still not fixed for some hardware.

I will add that, unfortunately, it seems to depend not only on hardware, but also on drivers (for the last year or so, I ran unofficial drivers and did NOT have the issue, but now that I got the computer back from repairs with a new card, I am back to official Dell drivers and I do have the issue now)

I tried this on a very old Sony Vaio with an hd 6370m and latest drivers (which are quite ancient) and it works fine both with GLES2 and GLES3. I honestly have no idea what else I can do.

All the things I mentioned in #24962 + When I run Godot 3.1 beta 2
I get this
OpenGL ES 3.0 Renderer: ATI Mobility Radeon HD 4300 Series
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Directional shadow framebuffer status invalid
At: drivers/gles3/rasterizer_scene_gles3.cpp:4990

and when I run Godot 3.0.6
I get this
OpenGL ES 3.0 Renderer: ATI Mobility Radeon HD 4300 Series
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4893
ERROR: initialize: Directional shadow framebuffer status invalid
At: drivers/gles3/rasterizer_scene_gles3.cpp:4918

When I run Godot 2.1.5 console is blank.
I am telling this so that it can help in future.
Thank you.

@Vikram1323: I get the same errors on my Radeon 6630M currently.

P.S. Those are the drivers I am running: https://www.dell.com/support/home/pl/pl/rc1078552/drivers/driversdetails?driverid=8v6kh

Yes I know, ancient, but this laptop is a switchable graphics laptop so trying to update drivers completely breaks the switchability and/or introduces BSOD at startup.

This issue is about GLES2, not GLES3 driver issues.

@akien-mga: They coincide though, maybe they're related?

What coincides? @Vikram1323's error log above just means that the drivers can't start GLES3, it has nothing to do with GLES2 and default environment.

I posted that error because those who can run Godot properly and switch GLES are not having this error, only those who are having this problem get this error.
I can create a project in both 3.0.6 and 3.1 version with GLES3.
When I create a project in Godot 3.1 beta 2 will show this after initial error and I can see project inside Godot engine.

Editing project: C:/Users/Vikram/Documents/GodotBeta/1 (C:::Users::Vikram::Docum
ents::GodotBeta::1)
OpenGL ES 3.0 Renderer: ATI Mobility Radeon HD 4300 Series
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Condition ' status != 0x8CD5 ' is true. Continuing..:
At: drivers/gles3/rasterizer_scene_gles3.cpp:4965
ERROR: initialize: Directional shadow framebuffer status invalid
At: drivers/gles3/rasterizer_scene_gles3.cpp:4990

  • daemon not running; starting now at tcp:5037
  • daemon started successfully

P.S: And yes I also think that they both coincide.

I can create a new issue explaining everything and make a video because it is all related I guess. Just tell me what should I do because I love Godot Engine and I hate this error/ issue/ problem/ bug/ etc etc etc.......

@akien-mga I think this bug became a mix up of things, the title mentions:

GLES2 and default environment (ProceduralSky) cause a crash on some hardware

I actually did fix this bug and should no longer be a problem on mobile.

However, all I see afterwards are reports that GLES3 driver does not work on old-radeons. I think this is an entirely different issue. I would like to know from such people (including @Zireael07, @Akira1San and @Vikram1323) if this works in GLES2 or the issue is exclusively GLES3 only.

I switch to a desktop pc and can no longer test with the laptop.

@reduz My issue (#24962) got closed because it is same as this issue. So I (newbie) thought maybe this is the place to post it.
My question is:
How safe is it to use Godot for people who are getting these errors because we cannot switch between GLES version without editing project.godot or default_env.tres

After editing project.godot and then switching from GLES3 to GLES2 I got this

OpenGL ES 2.0 Renderer: ATI Mobility Radeon HD 4300 Series
ERROR: initialize: Directional shadow framebuffer status invalid
At: drivers/gles2/rasterizer_scene_gles2.cpp:3196

  • daemon not running; starting now at tcp:5037
  • daemon started successfully

And my project is running. I hope this helps.
Thank you for your reply and Godot Engine.

I cannot use GLES2 (crashes) with default_env.tres, AND I get the errors on GLES3.
If I delete default_env.tres, I can use GLES2 fine.

As there is some confusion on this issue between GLES3 and GLES2 issues, and the original issue was fixed for many users, I propose to move the remaining cases (@Zireael07, @Akira1San) to @Vikram1323's new issue: #25482.

Was this page helpful?
0 / 5 - 0 ratings