Zenfone 5 & UE4

Games that are made with Unreal Engine 4 crashes on splash screen since I uploaded my Zenfone 5 from KitKat to Lollipop. With my phone, I can play UE3 and Unity 5 made games well. But I can’t play games that are made with UE4. Tappy Chicken, which is a 2D game is same. Considering this phone is still popular in many countries, I think a bug-fix for this phone is neccesary. I think, considering it can work well with UE3, it can also work with UE4. Maybe a little fix may clear this bug?

[Here is the test video for Tappy Chicken, Sun Temple and Epic Citadel.][1]

Thank you.

Hey ,

Thank you for all of the information provided. Could you please provide me with the Monitor.bat . You should be able to find Monitor.bat at the following filepath, or one similar: C:\android-sdk-windows\tools

Looking forward to hearing back from you, thanks!

[link text][1] Here is the log file that is created while Sun Temple with Unreal Engine 4.10 has been executed.

[) (52.2 KB)

, did you try any of the helpful tips that were included in this [post][1]? The crash you’re having looks like it’s a GPU crash. Unfortunately, we do not have the Zenfone 5 to test on, we can only test on similar devices and we haven’t seen this issue yet. Are you upgraded to the newest version of Android released on this device?

Thanks!

Game crash on Android Lollipop - Programming & Scripting - Epic Developer Community Forums

I looked that page. That said that returning at the first line of the “void InitDebugContext() {…}” in the OpenGLDevice.cpp solved the problem. I edited that file via notepad in this way:

void InitDebugContext()

{

return; // I ADDED THIS

Then I packaged the game again, but result is same with SunTemple & UE 4.10.
Same level works properly on my LG L70 with KitKat and Samsung Galaxy A7 with Lollipop.

Yes I upgraded my device software. Before I have been updated my software from Kitkat to Lollipop, it was working fine. This is the latest version on the Zenfone 5 A501CG’s official firmware page.

Model number: ASUS_T00J
Software information: WW_3.24.40.78_20151001

Did you also look at Babcock’s response? He’s our Android developer who has given tips on this thread as well. Could you please provide me with the updated ?

Thank you!

GitHub sources is needed for that solution. Now I’m downloading GitHub source and Visual Studio 2015. I will write the result here.

Please let me know once you’ve done so. Thanks.

  1. I set up Visual Studio 2013
  2. I downloaded GitHub Source
  3. I added return; line to the begining of InitDebugContext() in OpenGLDevice.cpp
  4. I builded the engine
  5. I tried to package SunTemple again
  6. Builder crashed. I added empty C++ code to the project than it builded and packaged successfully. This is the solution on the internet, I don’t know why.
  7. I packaged SunTemple
  8. Now it works fine on Zenfone 5 Lollipop :slight_smile:

I am busy right now so I can’t send the in this time, if you want it please reply. I will send as soon as possible.

Since you have resolved your issue, I will not need the . If you run into this issue again, please let us know and provide the then.

Good luck!

Are you going to fix this on the next version of the engine? If you disable InitDebugContext for Zenfone 5, the problem will be solved. Can you please assign a bug code for this issue? Thanks.

I believe the problem is with glDebugMessageControlKHR in InitDebugContext(). For 4.11 we are now checking for GL_RENDERER to contain Rogue Han (one of the PowerVR chips) to disable this, but I may need to make it even more generic. The ZenPhone 5 has a fairly standard PowerVR 544, but it is likely the driver changed in Lollipop which is why you started having trouble.

Your log doesn’t contain all the debug information I’d need to see what the GPU family returned by the driver is so I cannot see the version number.

If you could test reenabling InitDebugContext() but add the following to AndroidOpenGL.cpp in FPlatformOpenGLDevice::LoadEXT():

	if( !FAndroidMisc::GetGPUFamily().Contains(TEXT("PowerVR")) )
	{
		glDebugMessageControlKHR = (PFNGLDEBUGMESSAGECONTROLKHRPROC)((void*)eglGetProcAddress("glDebugMessageControlKHR"));
	}

So glDebugMessageControlKHR is not set (left NULL) if PowerVR, this might be the change I’ll need to make in 4.11 to be safe. Please let me know and I’ll see about getting it in for 4.11.

UE-24501 has been entered to track this issue. , please let us know your outcome from the steps provided above.

Thank you!

Hi , as you said, I reenabled InitDebugContext then I added your code to the beginning of FPlatformOpenGLDevice::LoadEXT():

But it crashed in the same way before I had disabled InitDebugContext.

Monitor.bat log is in this link:

You did make sure glDebugMessageControlKHR is only inside the if? Okay, then there may be another call in InitDebugContext the driver doesn’t like.

I don’t have a Zenfone 5 so it would be very helpful if you could add some logging in InitDebugContext() before and after each of the gl calls so we can see which call it is crashing on… just need to do something like this:

FPlatformMisc::LowLevelOutputDebugString(TEXT(“Calling glDebugMessageCallbackARB 1”));

FPlatformMisc::LowLevelOutputDebugString(TEXT(“Called glDebugMessageCallbackARB 1”));

with a unique number on each so we can see how far it gets.

Ah sorry I misunderstood you. Now I covered glDebugMessageControlKHR with the if statement that you gave. I will try again rebuilding by combining both of your suggestions and give you the results as soon as possible.

edit:

I covered glDebugMessageControlKHR line with if statement in AndroidOpenGL.cpp, then it worked fine. I tested with SunTemple and it looks OK.

FPlatformOpenGLDevice::LoadEXT() → Covered with if statement - Pastebin.com

InitDebugContext() → InitDebugContext - Pastebin.com

Monitor.bat log → New Debug Log - Pastebin.com

Thank you, this is what I was expecting. I’ll get this into 4.11.

Hey ,

Could you verify whether or not this issue has been corrected in 4.11 Preview 3? It’s not advised to create games in preview versions of the engine however, if it’s fixed in the preview that means it made it in for 4.11 whenever it does release.

Please let me know!

I tested it on 4.11 preview 1 and it worked.

Here is the log of Sun Temple that was packaged with 4.11 p1: http://pastebin.com/ah6NyrTH
I thought that fixing a bug with support of only one is a little bit hard so I sent the log to make you sure.

Also, I will test it on 4.11 p3 as soon as possible.

Hi ,
Now I can verify that this issue has been corrected in 4.11 Preview 4. I tested it with 4.11 Preview 4 Vehicle template on Zenfone 5 A501CG and it is okay.
Here is the log: Unreal Engine 4.11 Preview 4 - Zenfone A501CG - Vehicle Test - Pastebin.com