I am getting a black screen whenever I switch to any of the headset viewers in Unity. I am trying to create an AR app and am asking can you please help me debug it? more info below:
I have default settings for everything…
The gist is that I am trying to create a simple Augmented reality app for my phone and generic viewer headset. The app I create works fine in “handheld” mode.
I am using a galaxy S8 (android 9) and vuforia 8.3.8 (which it asks me to upgrade but i cant).
I am using Unity 2019.2.0f1 Personal
Whenever I export to Android Studio and look at the log info it says something about permissions (the only reason I export is because I don’t know how to view errors otherwise). I am prompted to allow use of the camera whenever I first run the app.
here are the logs I get:
$ adb push C:\Users\david\Documents\New Unity Project (9)\build\outputs\apk\debug\New Unity Project (9)-debug.apk /data/local/tmp/com.DefaultCompany.NewUnityProject9
$ adb shell pm install --full -t -r "/data/local/tmp/com.DefaultCompany.NewUnityProject9"
Success
APK installed in 6 s 426 ms
$ adb shell am start -n "com.DefaultCompany.NewUnityProject9/com.DefaultCompany.NewUnityProject9.UnityPlayerActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Client not ready yet..Waiting for process to come online
Connected to process 26001 on device samsung-sm_g950u-9887e031524a383553
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
E/Zygote: isWhitelistProcess - Process is Whitelisted
E/Zygote: accessInfo : 1
I/ewUnityProject: Late-enabling -Xcheck:jni
D/vndksupport: Loading /vendor/lib/egl/libEGL_adreno.so from current namespace instead of sphal namespace.
D/libEGL: loaded /vendor/lib/egl/libEGL_adreno.so
D/vndksupport: Loading /vendor/lib/egl/libGLESv1_CM_adreno.so from current namespace instead of sphal namespace.
D/libEGL: loaded /vendor/lib/egl/libGLESv1_CM_adreno.so
D/OpenGLRenderer: Skia GL Pipeline
I/DecorView: createDecorCaptionView >> DecorView@73a30fc[ ], isFloating: false, isApplication: true, hasWindowDecorCaption: false, hasWindowControllerCallback: true
D/vndksupport: Loading /vendor/lib/egl/libGLESv2_adreno.so from current namespace instead of sphal namespace.
D/libEGL: loaded /vendor/lib/egl/libGLESv2_adreno.so
D/EmergencyMode: [EmergencyManager] android createPackageContext successful
D/InputTransport: Input channel constructed: fd=62
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: setView = DecorView@73a30fc[UnityPlayerActivity] TM=true MM=false
V/InputMethodManager: Not IME target window, ignoring
D/SurfaceView: onWindowVisibilityChanged(0) true android.view.SurfaceView{8de0be7 VFE...... .F....I. 0,0-0,0} of ViewRootImpl@cee65a6[UnityPlayerActivity]
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: dispatchAttachedToWindow
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x7 surface={valid=true 3723911168} changed=true
D/SurfaceView: show() Surface(name=SurfaceView - com.DefaultCompany.NewUnityProject9/com.DefaultCompany.NewUnityProject9.UnityPlayerActivity@8de0be7@0[26001])/@0x9d5a394 android.view.SurfaceView{8de0be7 VFE...... .F....ID 0,0-2076,1080}
D/SurfaceView: surfaceCreated 1 #8 android.view.SurfaceView{8de0be7 VFE...... .F....ID 0,0-2076,1080}
D/SurfaceView: surfaceChanged (2076,1080) 1 #8 android.view.SurfaceView{8de0be7 VFE...... .F....ID 0,0-2076,1080}
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x3 surface={valid=true 3723911168} changed=false
D/vndksupport: Loading /vendor/lib/hw/android.hardware.graphics.mapper@2.0-impl.so from current namespace instead of sphal namespace.
D/vndksupport: Loading /vendor/lib/hw/gralloc.msm8998.so from current namespace instead of sphal namespace.
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager: prepareNavigationBarInfo() DecorView@73a30fc[UnityPlayerActivity]
getNavigationBarColor() -855310
D/InputMethodManager: prepareNavigationBarInfo() DecorView@73a30fc[UnityPlayerActivity]
getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.DefaultCompany.NewUnityProject9 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 2220, 1080) ci=Rect(0, 0 - 144, 0) vi=Rect(0, 72 - 144, 0) or=2
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: MSG_RESIZED_REPORT: frame=Rect(0, 0 - 2220, 1080) ci=Rect(0, 0 - 144, 0) vi=Rect(0, 0 - 144, 0) or=2
D/InputTransport: Input channel constructed: fd=63
D/InputMethodManager: prepareNavigationBarInfo() DecorView@73a30fc[UnityPlayerActivity]
D/InputMethodManager: getNavigationBarColor() -855310
V/InputMethodManager: Starting input: tba=com.DefaultCompany.NewUnityProject9 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
W/ewUnityProject: Accessing hidden method Ljava/lang/invoke/MethodHandles$Lookup;-><init>(Ljava/lang/Class;I)V (light greylist, reflection)
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
I/Unity: SystemInfo CPU = ARMv7 VFPv3 NEON, Cores = 8, Memory = 3347mb
SystemInfo ARM big.LITTLE configuration: 4 big (mask: 0xf0), 4 little (mask: 0xf)
I/Unity: ApplicationInfo com.DefaultCompany.NewUnityProject9 version 0.1 build f11dd2ca-f91f-42da-b4d2-4b501cae1f92
Built from '2019.2/staging' branch, Version '2019.2.0f1 (20c1667945cf)', Build type 'Release', Scripting Backend 'mono', CPU 'armeabi-v7a', Stripping 'Disabled'
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
D/SurfaceView: show() Surface(name=SurfaceView - com.DefaultCompany.NewUnityProject9/com.DefaultCompany.NewUnityProject9.UnityPlayerActivity@8de0be7@0[26001])/@0x9d5a394 android.view.SurfaceView{8de0be7 VFE...... .F....ID 0,0-2220,1080}
D/SurfaceView: surfaceChanged (2220,1080) 1 #5 android.view.SurfaceView{8de0be7 VFE...... .F....ID 0,0-2220,1080}
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: MSG_RESIZED: frame=Rect(0, 0 - 2220, 1080) ci=Rect(0, 0 - 144, 0) vi=Rect(0, 0 - 0, 0) or=2
E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted
I/chatty: uid=10350(com.DefaultCompany.NewUnityProject9) UnityMain identical 14 lines
E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted
I/Adreno: QUALCOMM build : 1c7d42c, If23bcb88b5
Build Date : 01/28/19
OpenGL ES Shader Compiler Version: EV031.25.03.01
Local Branch :
Remote Branch : refs/tags/AU_LINUX_ANDROID_LA.UM.7.4.R1.09.00.00.453.036
Remote Branch : NONE
Reconstruct Branch : NOTHING
Build Config : S L 6.0.7 AArch32
D/vndksupport: Loading /vendor/lib/hw/gralloc.msm8998.so from current namespace instead of sphal namespace.
I/Adreno: PFP: 0x005ff112, ME: 0x005ff066
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 0
D/Unity: GL_OES_EGL_image GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_vertex_half_float GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_compressed_ETC1_RGB8_texture GL_AMD_compressed_ATC_texture GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_hdr GL_OES_texture_compression_astc GL_OES_texture_npot GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_OES_texture_3D GL_EXT_color_buffer_float GL_EXT_color_buffer_half_float GL_QCOM_alpha_test GL_OES_depth24 GL_OES_packed_depth_stencil GL_OES_depth_texture GL_OES_depth_texture_cube_map GL_EXT_sRGB GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_EXT_texture_type_2_10_10_10_REV GL_EXT_texture_sRGB_decode GL_EXT_texture_format_sRGB_override GL_OES_element_index_uint GL_EXT_copy_image GL_EXT_geometry_shader GL_EXT_tessellation_shader GL_OES_texture_stencil8 GL_EXT_shader_io_blocks GL_OES_shader_image_atomic GL_OES_sample_variables GL_EXT_texture_border_clamp GL_EXT_EGL_i
mage_external_wrap_modes GL_EXT_multisampled_render_to_texture GL_EXT_multisampled_render_to_texture2 GL_OES_shader_multisample_interpolation GL_EXT_texture_cube_map_array GL_EXT_draw_buffers_indexed GL_EXT_gpu_shader5 GL_EXT_robustness GL_EXT_texture_buffer GL_EXT_shader_framebuffer_fetch GL_ARM_shader_framebuffer_fetch_depth_stencil GL_OES_texture_storage_multisample_2d_array GL_OES_sample_shading GL_OES_get_program_binary GL_EXT_debug_label GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_QCOM_tiled_rendering GL_ANDROID_extension_pack_es31a GL_EXT_primitive_bounding_box GL_OES_standard_derivatives GL_OES_vertex_array_object GL_EXT_disjoint_timer_query GL_KHR_debug GL_EXT_YUV_target GL_EXT_sRGB_write_control GL_EXT_texture_norm16 GL_EXT_discard_framebuffer GL_OES_surfaceless_context GL_OVR_multiview GL_OVR_multiview2 GL_EXT_texture_sRGB_R8 GL_KHR_no_error GL_EXT_debug_marker GL_OES_EGL_image_external_essl3 GL_OVR_multiview_multisampled_render_to_texture GL_EXT_buffer_storage GL_EXT
_external_buffer GL_EXT_blit_framebuffer_params GL_EXT_clip_cull_distance GL_EXT_protected_textures GL_EXT_shader_non_constant_global_initializers GL_QCOM_texture_foveated GL_QCOM_shader_framebuffer_fetch_noncoherent GL_EXT_memory_object GL_EXT_memory_object_fd GL_EXT_EGL_image_array GL_NV_shader_noperspective_interpolation GL_KHR_robust_buffer_access_behavior GL_EXT_EGL_image_storage GL_EXT_blend_func_extended GL_EXT_clip_control
W/ewUnityProject: Accessing hidden method Landroid/media/AudioSystem;->getPrimaryOutputSamplingRate()I (light greylist, JNI)
Accessing hidden method Landroid/media/AudioSystem;->getPrimaryOutputFrameCount()I (light greylist, JNI)
D/: PlayerBase::PlayerBase()
TrackPlayerBase::TrackPlayerBase()
I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
W/AudioTrack: notificationFrames=-21 clamped to the range -1 to -8
I/AudioTrack: AUDIO_OUTPUT_FLAG_FAST successful; frameCount 0 -> 1536
I/AudioTrack: updateAudioTranstionLength FadeIn[0] FadeOut[0] FadeInRing[0]
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
V/MediaRouter: Adding route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
V/MediaRouter: Selecting route: RouteInfo{ name=Phone, description=null, status=null, category=RouteCategory{ name=System types=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO groupable=false }, supportedTypes=ROUTE_TYPE_LIVE_AUDIO ROUTE_TYPE_LIVE_VIDEO , presentationDisplay=null }
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
I/Unity: Compiled for Android
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Initializing Vuforia Engine
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Vuforia Engine Version: 8.3.8
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Vuforia Engine Unity Extension Version: 8.3.8
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
Unity Editor Version: 2019.2.0f1
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
D/Vuforia: Initializing Vuforia...
I/System.out: Native library libVuforia.so loaded
I/CameraManagerGlobal: Connecting to camera service
D/VendorTagDescriptor: addVendorDescriptor: vendor tag id 3854507339 added
I/AR: Vuforia selected rendering API OpenGL ES 3.x
Vuforia SDK version 8.3.8
Vuforia SDK build 3646
I/AR: Matched precache profile for samsung, SM-G950U, Android 28, 800.1
D/NetworkSecurityConfig: No Network Security Config specified, using platform default
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
D/TcpOptimizer: TcpOptimizer-ON
E/Unity: OPENGL NATIVE PLUG-IN ERROR: GL_INVALID_ENUM: enum argument out of range
(Filename: ./Runtime/GfxDevice/opengles/GfxDeviceGLES.cpp Line: 348)
D/AR: RenderManager: Could not retrieve a valid GLSurfaceView in view hierarchy, therefore cannot set any render mode
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
(HTTPLog)-Static: isSBSettingEnabled false
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
I/Unity: Trackable aces3 NO_POSE -- UNKNOWN
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Vuforia Engine initialization successful
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
D/ViewRootImpl@cee65a6[UnityPlayerActivity]: Relayout returned: old=[0,0][2220,1080] new=[0,0][2220,1080] result=0x1 surface={valid=true 3723911168} changed=false
E/AR: Cannot create AR RenderingPrimitives before Camera is initialized
I/AR: ObjectTracker: Successfully created dataset
D/Vuforia: Successfully created data set.
I/Unity: Found Trackable named aces3 with id 2
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Creating Image Target with values:
ID: 1
Name: chess_piece
Path: Vuforia/AR_Demo.xml
Size: 0.01x0.014202
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Creating Image Target with values:
ID: 3
Name: king_of_hearts2
Path: Vuforia/AR_Demo.xml
Size: 0.06x0.087209
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Creating Image Target with values:
ID: 4
Name: kennedy
Path: Vuforia/AR_Demo.xml
Size: 0.15x0.1125
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Creating Cylinder Target with values:
ID: 5
Name: chess
Path: Vuforia/AR_Demo.xml
Side Length: 0.1
Top Diameter: 0.1
Bottom Diam.: 0.1
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
I/Unity: Start Vuforia Engine
(Filename: ./Runtime/Export/Debug/Debug.bindings.h Line: 35)
D/Vuforia: cameraDeviceStartCamera
I/AR: Starting camera with profile for SM-G950U, 800.1
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
I/System.out: (HTTPLog)-Static: isSBSettingEnabled false
E/AR: VideoBackgroundConfig with screen size of zero received, skipping config step