tomthecarrot / arcore-for-all

Google ARCore (dev preview 1) for "unsupported" Android devices
GNU General Public License v3.0
1.04k stars 145 forks source link

LG G2 Results (Not working) #13

Open dellisd opened 7 years ago

dellisd commented 7 years ago

When launched, Tango Core crashes, followed by HelloAR itself

08-31 19:18:27.671 10832-10832/? E/AndroidRuntime: FATAL EXCEPTION: main
                                                   Process: com.google.tango, PID: 10832
                                                   java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.google.tango-1/base.apk"],nativeLibraryDirectories=[/data/app/com.google.tango-1/lib/arm, /system/fake-libs, /data/app/com.google.tango-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]] couldn't find "libtango_hal.so"
                                                       at java.lang.Runtime.loadLibrary0(Runtime.java:984)
                                                       at java.lang.System.loadLibrary(System.java:1562)
                                                       at com.google.atap.tango.TangoVirtualHalService.<clinit>(TangoVirtualHalService.java:41)
                                                       at java.lang.Class.newInstance(Native Method)
                                                       at android.app.ActivityThread.handleCreateService(ActivityThread.java:3198)
                                                       at android.app.ActivityThread.-wrap5(ActivityThread.java)
                                                       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1586)
                                                       at android.os.Handler.dispatchMessage(Handler.java:102)
                                                       at android.os.Looper.loop(Looper.java:154)
                                                       at android.app.ActivityThread.main(ActivityThread.java:6186)
                                                       at java.lang.reflect.Method.invoke(Native Method)
                                                       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:889)
                                                       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779)

Doesn't look like it'll help much, but here's the log from HelloAR. Maybe Vulkan related?

08-31 19:23:26.956 11872-11879/? E/art: Failed sending reply to debugger: Broken pipe
08-31 19:23:26.956 11872-11879/? I/art: Debugger is no longer active
08-31 19:23:26.956 11872-11879/? I/art: Starting a blocking GC Instrumentation
08-31 19:23:27.091 11872-11889/? I/Adreno-EGL: <qeglDrvAPI_eglInitialize:379>: EGL 1.4 QUALCOMM build: Nondeterministic_AU_msm8974_LA.BF.1.1.3_RB1__release_AU (I389a668de0)
                                               OpenGL ES Shader Compiler Version: E031.28.00.04
                                               Build Date: 10/24/15 Sat
                                               Local Branch: mybranch15621148
                                               Remote Branch: quic/LA.BF.1.1.3_rb1.3
                                               Local Patches: NONE
                                               Reconstruct Branch: NOTHING
08-31 19:23:27.096 11872-11889/? I/OpenGLRenderer: Initialized EGL, version 1.4
08-31 19:23:27.097 11872-11889/? D/OpenGLRenderer: Swap behavior 1
08-31 19:23:27.162 11872-11888/? I/TangoClientLibLoader: Pure Java path, not loading libtango_client_api.so at all.
08-31 19:23:27.167 11872-11888/? D/ApplicationLoaders: ignored Vulkan layer search path /data/app/com.google.tango-1/lib/arm:/system/fake-libs:/data/app/com.google.tango-1/base.apk!/lib/armeabi-v7a for namespace 0xb69e1090
08-31 19:23:27.178 11872-11888/? I/ndk_camera: Starting native camera system initialization.
08-31 19:23:27.179 11872-11888/? I/ndk_camera: Zero cameras detected. Camera system initialization complete
08-31 19:23:27.179 11872-11888/? W/tango_camera_native_jni: Camera system initilized.
08-31 19:23:27.179 11872-11888/? E/tango_camera_native: 0 is not a valid camera index.
08-31 19:23:27.179 11872-11888/? E/tango_camera_native: 1 is not a valid camera index.
08-31 19:23:27.179 11872-11888/? E/tango_camera_native: 2 is not a valid camera index.
08-31 19:23:27.179 11872-11888/? E/tango_camera_native: 3 is not a valid camera index.
08-31 19:23:27.183 11872-11888/? I/tango_camera_native_jni: Attaching texture_window 0x98af3808
08-31 19:23:27.183 11872-11888/? D/TangoVhs: about to bind as vhs
08-31 19:23:27.195 11872-11888/? D/TangoVhs: finished bind as vhs
08-31 19:23:27.248 11872-11888/? I/Unity: SystemInfo CPU = ARMv7 VFPv3 NEON, Cores = 4, Memory = 1855mb
08-31 19:23:27.248 11872-11888/? I/Unity: SystemInfo ARM big.LITTLE configuration: 4 big (mask: 15), 0 little (mask: 0)
08-31 19:23:27.250 11872-11888/? I/Unity: ApplicationInfo com.paramsen.helloar version 1.0 build e7f43c1d-c4c7-4842-b29d-65925f9bbb01
08-31 19:23:27.431 11872-11888/? E/Unity: Unable to find AudioPluginMsHRTF
08-31 19:23:27.433 11872-11888/? E/Unity: Unable to find libaudioplugingvrunity
08-31 19:23:27.439 11872-11888/? E/Unity: Unable to find AudioPluginOculusSpatializer
08-31 19:23:27.441 11872-11888/? E/Unity: Unable to find audioplugingvrunity
08-31 19:23:27.443 11872-11888/? E/Unity: Unable to find unitygar
08-31 19:23:27.443 11872-11888/? E/Unity: Unable to find libAudioPluginOculusSpatializer
08-31 19:23:27.445 11872-11888/? E/Unity: Unable to find libtango_3d_reconstruction_api
08-31 19:23:27.456 11872-11888/? W/Adreno-EGL: <qeglDrvAPI_eglCreateContext:2469>: EGL_BAD_MATCH
08-31 19:23:27.457 11872-11888/? W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
08-31 19:23:27.457 11872-11888/? W/Adreno-EGL: <qeglDrvAPI_eglGetConfigAttrib:607>: EGL_BAD_ATTRIBUTE
08-31 19:23:27.540 11872-11888/? D/Unity:  GL_AMD_compressed_ATC_texture GL_AMD_performance_monitor GL_AMD_program_binary_Z400 GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_robustness GL_EXT_texture_format_BGRA8888 GL_EXT_texture_type_2_10_10_10_REV GL_NV_fence GL_OES_compressed_ETC1_RGB8_texture GL_OES_depth_texture GL_OES_depth24 GL_OES_EGL_image GL_OES_EGL_sync GL_OES_EGL_image_external GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_fragment_precision_high GL_OES_get_program_binary GL_OES_packed_depth_stencil GL_OES_depth_texture_cube_map GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_texture_3D GL_OES_texture_float GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_half_float GL_OES_vertex_type_10_10_10_2 GL_OES_vertex_array_object GL_QCOM_alpha_test GL_QCOM_binning_control GL_QCOM_driver_control GL_QCOM_perfmon_global_mode GL_QCOM_extended_get GL_QCOM_extended_get2 GL_QCOM_tiled_rendering GL_QCOM_writeonly_rendering GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT
08-31 19:23:27.540 11872-11888/? D/Unity: _texture_sRGB_decode GL_EXT_texture_filter_anisotropic GL_EXT_multisampled_render_to_texture GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_EXT_disjoint_timer_query
08-31 19:23:27.593 11872-11888/? I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
08-31 19:23:27.594 11872-11888/? W/AudioTrack: notificationFrames=-10 clamped to the range -1 to -8
08-31 19:23:27.596 11872-11888/? D/AudioTrack: Client defaulted notificationFrames to 192 for frameCount 1536
08-31 19:23:28.107 11872-11888/com.paramsen.helloar V/MediaRouter: Adding route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=null types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
08-31 19:23:28.110 11872-11888/com.paramsen.helloar V/MediaRouter: Updating audio routes: AudioRoutesInfo{ type=SPEAKER }
08-31 19:23:28.112 11872-11888/com.paramsen.helloar V/MediaRouter: Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=null types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO  groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
08-31 19:23:30.298 11872-11888/com.paramsen.helloar I/Unity: Handle to Tango Unity 3DR shim library is non-NULL
08-31 19:23:30.367 11872-11931/com.paramsen.helloar D/NetworkSecurityConfig: No Network Security Config specified, using platform default
08-31 19:23:30.374 11872-11931/com.paramsen.helloar W/System: ClassLoader referenced unknown path: /system/framework/tcmclient.jar
08-31 19:23:30.467 11872-11888/com.paramsen.helloar A/tango: jni_helper.cc:19 'vm' Must be non NULL
08-31 19:23:30.468 11872-11888/com.paramsen.helloar A/libc: Fatal signal 6 (SIGABRT), code -6 in tid 11888 (UnityMain)

                                                            [ 08-31 19:23:30.468   214:  214 W/         ]
                                                            debuggerd: handling request: pid=11872 uid=10107 gid=10107 tid=11888
tomthecarrot commented 7 years ago

Thanks for your report. I added it to the research document to try to isolate the issue. Let's collect more info and try more modifications.

szugyi commented 7 years ago

Unfortunately I had the same result with LG G3.

szugyi commented 7 years ago

I think the root of these kind of issues is the lack of support of 32bit processors. After opening the arcore-preview.apk I have noticed that the lib folder contains both an arm64-v8a and a armeabi-v7a folders, but the armeabi-v7a has only 1 file while the other has 9 of them, one of them being the libtango_hal.so.

tomthecarrot commented 7 years ago

@szugyi That's an interesting point. I added the processor architectures for each phone to the device research doc. There doesn't seem to be a meaningful correlation between processor architecture and support, beyond the fact that no 32-bit phone we have tested as a community has worked (which you alluded to in your last comment).

It's a beneficial discovery though, so thank you for adding it here! I'll add a 64-bit processor as a prerequisite to the README so new users know.