[2019.3.7f1] Crash on Galaxy S 10 because of Vukan libGLES_mali

Hello.

We are using Unity 2019.3.7f1 and we already raised a bug about this:

We are experiencing constant crashes on our Galaxy S10 device, when using Vulkan as the primary Graphic API and OpenGLES as the only fallback.

5669092--590677--upload_2020-4-4_8-56-6.png

This happens randomly while playing our game,.and so far it appears to be constnantly reproducable on this device, but we experienced more of the same, during a beta test as well.

The error reported by Firebase Crashlytics is the following (and again, it’s appearing just on Galaxy S 10 if using Vulkan):


5669092--590683--upload_2020-4-4_8-58-52.png

The error doesn’t appear anymore if Vulkan is removed from the Graphics API list.

Can you support us on this please?

Hi!
Can you please submit a bug report?
Thanks!

@aleksandrk As I said in my first line: we already raised a bug about this.

Can you (or anyone else) support us on this, in the meantime, please?

I think what he was really asking for is the bug report Case number, so he can take a look at it. If you post the Case number he might be able to help.

In the mean time, please don’t use Vulkan for Android with Unity.

Android is already a minefield full of gotchas that might make your game less stable (partially because of Unity dragging their feet, partially because Android is inherently a mess) and Vulkan is clearly not a priority for Unity and it has been actually getting less stable (and slower!) as time goes on.

Do you have any proof of this? :slight_smile:

…or this? Would be nice to have bug reports if you see performance regressions or stability issues.

Do you have proof of the opposite? In my eyes, the onus is on Unity to convince me that they care about Vulkan and that it’s a feature I should be using.

But anyway, here’s my “proof” :

  • Vulkan is not included when using “Auto Graphics API”, which tells me that Unity does not consider it as ready (and if it was a priority, I think 3+ years since it was introduced is enough time for it to be solid)

  • There are numerous threads on here that report having crashes and bad performance that go away as soon as they switch back to ES 3.0. I haven’t really seen the opposite much.

  • Personally, we were using Vulkan happily a couple of years ago, then as we upgraded Unity versions, suddenly performance got worse, then it stopped working at all (on the same device), which made us consider Unity as not having Vulkan support.

(and I haven’t seen anything in the release notes since that would make me think that things have changed)

And since we gave up on Vulkan, I will not spend my time to send bug reports for something I now care as much as Unity does.


After I said all that, I understand that Vulkan support in Android drivers is probably all over the place (as was ES 3.0 support when it was new-ish), and reliably supporting Vulkan might be many times more complex than, say, iOS Metal support (which has been pretty solid for years), but it also seems to me, and the sparsity of Vulkan mentions in release notes supports this, that Unity is also dragging its feet and if Vulkan was on high priority, we should have much much better support.


PS: And to give Unity the benefit of the doubt:

If Vulkan is indeed a priority for Unity and Unity has top men working on improving Vulkan support day and night for 3+ years and this is the state it’s in…

Then there’s something inherently and irredeemably wrong with either Vulkan or Unity, or both.

The case number is 1233748.

1 Like

Well… It’s not included to minimise the risk of breaking something for people upgrading their projects. If you create a new project, Android has Auto Graphics API disabled, and Vulkan and GLES3 are in the API list.

This is a mix of a newer graphics API for Unity and people trying it on various combinations of HW and drivers. In general our tests show that Vulkan is slightly slower than GLES3 when GPU bound on somewhat older drivers, and faster when it’s not.

I don’t think that’s true for 2018.4 (maybe that changed in 2019?).

And that’s the problem with Vulkan with Unity currently.

On newer devices we hit 60fps with ES3.0, so no point in Vulkan. On older devices where we care more about performance, ES3.0 is faster. So there is no practical benefit for using Vulkan, while there definitely is less stability. At which point my advice is to not use Vulkan.

I will reiterate though, that I’m not so sure about that drivers part. In older versions of Unity, when Vulkan was introduced (Unity 5.6 I believe?), on our test device at the time (a Samsung Galaxy S6), Vulkan had a minor but clear performance benefit compared to ES3.0. Then at some point (not sure which Unity version, towards the end of 2017.x maybe?), Vulkan became slower and I don’t know what to make of this.

This issue seems to be the same as:

Mods please merge if it seems fit

Yes, that’s for 2019.3.

Yes, it was introduced in Unity 5.6.
Just a guess about the source of Vulkan performance difference between 5.6 and now (at least partially): correctness.

1 Like

Any news on this issue, then?

No.
The case says that you didn’t provide a project to verify this on, and QA haven’t been able to reproduce this on other projects.