Unreal 4.10 p4 doesnt work on samsung tab 4

https://drive.google.com/file/d/0B_i9DeTr-pwrOHRSTDdfV24tZEU/view?usp=sharing full log file - first posted here - Unreal Engine 4.10 Preview - Announcements - Unreal Engine Forums

OK, from the log this is a Samsung SM-T230NU running Android 4.4.2. This model of Galaxy Tab 4 uses a Vivante GC1000 GPU. This is the reason it quits:

D/UE4 (23872): Assertion failed: Result == EGL_TRUE [File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.10\Engine\Source\Runtime\OpenGLDrv\Private\Android\AndroidEGL.cpp] [Line: 209]
D/UE4 (23872): ERROR: SetCurrentSharedContext eglMakeCurrent failed : 0x3002

This is usually due to the driver not supporting multithreading (UE4 uses a separate game and render thread). You can try disabling the render thread for this in AndroidMisc.cpp FAndroidMisc::AllowRenderThread():

if (FAndroidMisc::GetDeviceModel() == FString(TEXT("SM-T230NU")))
{
  return false;
}

<3<3<3<3 - is there anyway I can get a DriverSupportMultiThreading() I can put there? I have 150 1 star reviews from a wide array of devices, if this works compiling that list in will be a semi pain.

regardless tho, thanks for helping me on this - I know like 5 peeps that will go nuts if I can get it working on this device

that worked, I got it running in 4.9.2 - i hope a more elegant solution comes in later versions - THANK YOU

I am asking all of my users to tell me the device # so I can exclude them, however it seems the device id reported to me on google play doesnt line up with what I need to put in that if statement (i was about to load up 100x devices)

The value I gave you was for the model number. You can see this in Settings in the About Phone section.

To deal with Vivante GC1000 instead of by model number you can try:

if (FAndroidMisc::GetGPUFamily().StartsWith(TEXT("Vivante GC1000"))  && FAndroidMisc::GetGLVersion().StartsWith(TEXT("OpenGL ES 2.")))
{
	return false;
}

This should catch more devices but allow a newer driver (3.0+) to still use multithreading. It looks like a Galaxy Tab 3 also used this GPU:

http://www.vivantecorp.com/index.php/en/media-article/news/208-20130523-vivante-samsung-galaxy-tab-3.html

Thank you for the better solution.

FYI and I am sure you are awaare - Ive had a few of my users report their devices and while some are in this gpu family, a lot aren’t.

i.e Verizon Ellipsis 7 4G LTE with a PowerVR Series 5XT, AT&T Trek HD Tablet with a Adreno 306 gpu.

I don’t have full logs as these are from users I have limited contact with and it could be other issues I assume as well

It would be super awesome if we could globally disable multithreading through blueprints or project settings as well.

Disabling the rendering thread really shouldn’t be done for all devices; it will affect performance to do so globally. Also, creation of the threads is very early in the engine startup so blueprints could not control this (they are not ready until a level is loaded).

Unfortunately without logs it would be difficult to know what the cause is of a failure. It is likely they are failing in different ways.