Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Force OpenGL ES 3.0 causes startup crash on S3

Discussion in 'Android' started by m4a44, Sep 4, 2014.

  1. m4a44

    m4a44

    Joined:
    Mar 13, 2013
    Posts:
    45
    So, after A LOT of playing around, I have finally figured out that selecting the Graphics Level option "Automatic" or "Force OpenGL ES 3.0" has been producing this Unity error:

    12-31 20:53:18.554: E/Unity(27186): [EGL] Unable to create context!
    12-31 20:53:18.554: E/Unity(27186):
    12-31 20:53:18.554: E/Unity(27186): (Filename: Line: 238)
    12-31 20:53:18.554: E/Unity(27186): [EGL] Error:: EGL_BAD_ATTRIBUTE: An unrecognized attribute or attribute value was passed in the attribute list.
    12-31 20:53:18.554: E/Unity(27186):
    12-31 20:53:18.554: E/Unity(27186): (Filename: ./PlatformDependent/AndroidPlayer/Source/ContextGLES.cpp Line: 238)
    12-31 20:53:18.584: I/ActivityManager(729): Process com.Company.ProductName (pid 27186) (adj 0) has died.

    Only on my Samsung Galaxy S3 (SGH-I747M) does this happen. I am wondering why this is happening and if I should just keep the graphics level to "Force OpenGL ES 2.0" for all android builds without any negative side effects.

    I have also tried this with a blank slate project, and it still crashes on "Automatic" (I will assume it uses 3.0). I have a feeling that this could happen with a few different phones and want the best settings possible...
     
    Last edited: Sep 4, 2014
  2. junglemason

    junglemason

    Joined:
    Dec 30, 2010
    Posts:
    69
    I was using Automatic (Unity 4.5.2f1) and was getting reports of insta-crashes (no splash screen) from S3 users as well. Thank you for posting this! Choosing Force OpenGL ES 2.0 fixed that crash for me! I just hope it doesn't cause new issues on other devices. More Beta testing to ensue...

    We also have problems with HTC DNA's, some Galaxy Note 3's, RAZR devices, and others. I'll report back if this fixes the issue on those as well.

    Update 1: this change worked for HTC Droid DNA.
     
    Last edited: Sep 4, 2014
  3. bitter

    bitter

    Unity Technologies

    Joined:
    Jan 11, 2012
    Posts:
    530
    @m4a44, what version of android is that device running?
     
  4. junglemason

    junglemason

    Joined:
    Dec 30, 2010
    Posts:
    69
    Changing to Force OpenGL ES 2.0 seems to have caused the same crash problem with other devices now. I think I may need to use Automatic. Should I file a bug report from within Unity and send my project? Seems like this is related to device fragmentation more than to any specific Unity project.
     
    Last edited: Sep 5, 2014
  5. screenname_taken

    screenname_taken

    Joined:
    Apr 8, 2013
    Posts:
    663
    If you are referring to Samsung's S3, then that is using a Mali 400. It's not compatible with OpenGL ES 3.0, only 2.0.
     
  6. warchild14

    warchild14

    Joined:
    Apr 5, 2014
    Posts:
    6
    but if the thing is automatic it should work, right?
    forcing to 2.0 will probably cause problem on other devices...

    dunno what dooooo.

    I'm getting crash from all type of Xperia (Xperia V, Xperia T) and from Samsung Galaxy W


    Xperia Z2 seems to work.

    @m4a44
    did you tried force 2.0? got any issues?
     
  7. m4a44

    m4a44

    Joined:
    Mar 13, 2013
    Posts:
    45
    @bitter Sorry, never got your notification. It should've been 4.1 or 4.2. The issue is that the OpenGL ES setting "Automatic" selects 3.0 on the S3 which apparently doesn't work. Is that a Unity check problem, or a phone flag issue where it's not giving the right compatibility?

    @warchild14 2.0 works fine, but it is an inconvenience that "Automatic" doesn't set it to 2.0 on my S3. You have to manually set it to 2.0 which then changes it for everything else if you don't do a separate build...
     
  8. warchild14

    warchild14

    Joined:
    Apr 5, 2014
    Posts:
    6
    tsc. this is a problem.

    there is a way to manually detect the device type (not OS) and change it programmatically instead relying on Unity automatic sense?
    This way we can, I don't know, create a detect list on 'trouble devices' in the appdelegate and change it without needing many builds.

    nah, the app would just crash without having time to change...tho. damn.

    and now there is this ART thing released on 4.4

    I'm completely lost on what to do. haha :~~~
     
  9. RyanC

    RyanC

    Joined:
    Aug 17, 2012
    Posts:
    2
    Is there any further news on this bug? This bug is responsible for > 66% of our Google Play bug reports. Samsung Galaxy S3 doesn't work with 'Automatic' Graphic Level setting.
     
    jtrinc likes this.
  10. iEpic

    iEpic

    Joined:
    Sep 29, 2013
    Posts:
    119
    Same problem
     
  11. infosekr

    infosekr

    Joined:
    Jul 12, 2013
    Posts:
    46
    Just some extra info for people (tested with Unity 5.2.2p3):

    - Setting the graphics level to OpenGLES2 Only causes startup crashes on the Nexus 9, Shield tablet, and Transformer.
    - Setting the graphics level to OpenGLES2+3 still has a startup crash on the Shield (couldn't get data from other devices).
    - Setting the graphics level to OpenGLES3+2 fixes the crash on the Shield (and presumably the others as well). Have reports that it crashes on the Samsung Galaxy Tab3 lite, and Galaxy Grand Prime though (which previously worked with OpenGLES2 Only).

    If anyone can fill in the current state of Automatic that would be appreciated.
     
    DarkCooker and MaestroMMT like this.
  12. Januzz

    Januzz

    Joined:
    Nov 11, 2014
    Posts:
    1
    I have exactly the same problem as @infosekr. Does someone have more info on this? Any workarounds?
     
    MaestroMMT likes this.