facebookarchive / react-360

Create amazing 360 and VR content using React
https://facebook.github.io/react-360
Other
8.73k stars 1.22k forks source link

React-VR Not Working On Samsung S3 Tab #552

Open hjnieuwenhuizen opened 6 years ago

hjnieuwenhuizen commented 6 years ago

Hey guys,

I am sorry to post here, but I really need some help.

I built a tour still using React-VR (not React-360 - still need to migrate).

Been working great everywhere (computers and phones with no problem). I just bought a Samsung Tab S3 to showcase it on a bigger screen yet I cannot get it to work at all. Rotation does not work. Cannot rotate using gyroscope or finger movements. Stuck facing forward. I am using latest version of chrome and I did look at the console for any breaking errors and all seems good. Do you have anything I can try?

This is the tour: https://moonland.co.za/showcase?token=SMqVXy5YG8Y3tHcArUocK8k4bBr1&item=publishedTours&id=wRr0DkEx1CqCqtT8ttbO

rydn commented 6 years ago

Experiencing same issue with Samsung Galaxy Tab S3 running Android 8.0 and chrome 67 and Firefox too.

andrewimm commented 6 years ago

Is there anything unique about the Tab S3? I'm unable to test with one

hjnieuwenhuizen commented 6 years ago

Not that I am aware of. Started a brand new react-vr project with just a basic component rendering a pano. Not working. Started a brand new react-360 project and made no changes to the boilerplate code. I was able to move around (barely) with hand movements, but gyroscope still not working. YouTube 360 videos work perfectly. Also tested some Google VR example and that worked just fine. Do you have anything I could check or try? I literally bought this tablet for the soul purpose of showcasing the VR projects.

hjnieuwenhuizen commented 6 years ago

I have been trying to fix this for two weeks now and I seriously cannot understand what the problem is. This would be a complete waste of money if I cannot get this to work. I noticed that 360 videos on YouTube in the browser (chrome) are not working as well so I assume these issues are related. I really need some guidance.

Example:

screenshot_20180813-115902_chrome

This is what I have tried:

  1. Ran HTML5 check: https://html5te.st/bea9fa3f4bb0b851
  2. Tested all supported browsers. same result.
  3. Created react-native app and web view. same result.
  4. Checked HTML5 player is being used

screenshot_20180813-115916_chrome

  1. Enabled hardware acceleration

screenshot_20180813-115300_settings

screenshot_20180813-120142_chrome

GPU EXPORT

1

2

Version Information Data exported 2018-08-13T09:58:45.019Z
Chrome version Chrome/68.0.3440.91
Operating system Android 8.0.0
Software rendering list URL https://chromium.googlesource.com/chromium/src/+/8daf58f7f40d22013c59388236c8e71e1117cb2c/gpu/config/software_rendering_list.json
Driver bug list URL https://chromium.googlesource.com/chromium/src/+/8daf58f7f40d22013c59388236c8e71e1117cb2c/gpu/config/gpu_driver_bug_list.json
ANGLE commit id ba1627086779
2D graphics backend Skia/68 7d479192f0bf2a2f0e872d40e3fe3ce9978bf3cc-
Command Line --top-controls-show-threshold=0.27 --top-controls-hide-threshold=0.17 --enable-pinch --enable-viewport --validate-input-event-stream --enable-longpress-drag-selection --touch-selection-strategy=direction --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --enable-webgl-draft-extensions --flag-switches-end
Driver Information Initialization time 149
In-process GPU false
Passthrough Command Decoder false
Direct Composition false
Supports overlays false
Sandboxed false
GPU0 VENDOR = 0x0000 [Qualcomm], DEVICE= 0x0000 [Adreno (TM) 530] ACTIVE
Optimus false
AMD switchable false
Driver vendor  
Driver version 269.0
Driver date  
Pixel shader version 3.20
Vertex shader version 3.20
Max. MSAA samples 4
Machine model name SM-T825
Machine model version  
GL_VENDOR Qualcomm
GL_RENDERER Adreno (TM) 530
GL_VERSION OpenGL ES 3.2 V@269.0 (GIT@1b7798b, I8a9bdcf8d3) (Date:03/15/18)
GL_EXTENSIONS 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_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_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
Disabled Extensions GL_EXT_disjoint_timer_query GL_EXT_disjoint_timer_query_webgl2 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions EXT_disjoint_timer_query EXT_disjoint_timer_query_webgl2
Window system binding vendor  
Window system binding version  
Window system binding extensions  
Direct rendering Yes
Reset notification strategy 0x8252
GPU process crash count 0
Compositor Information Tile Update Mode One-copy
Partial Raster Enabled
GpuMemoryBuffers Status ATC Software only
ATCIA Software only
DXT1 Software only
DXT5 Software only
ETC1 Software only
R_8 Software only
R_16 Software only
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 GPU_READ, SCANOUT
RGBA_8888 GPU_READ, SCANOUT
BGRX_8888 Software only
BGRX_1010102 Software only
RGBX_1010102 Software only
BGRA_8888 Software only
RGBA_F16 Software only
YVU_420 Software only
YUV_420_BIPLANAR Software only
UYVY_422 Software only
Display(s) Information Info Display[0] bounds=[0,0 768x1024], workarea=[0,0 768x1024], scale=2, external.
Color space information {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Bits per color component 8
Bits per pixel 24

Video Acceleration Information Decode vp8 up to 3840x2160 pixels Decode vp8 up to 3840x2160 pixels (encrypted) Decode vp9 profile0 up to 3840x2160 pixels Decode vp9 profile0 up to 3840x2160 pixels (encrypted) Decode vp9 profile1 up to 3840x2160 pixels Decode vp9 profile1 up to 3840x2160 pixels (encrypted) Decode vp9 profile2 up to 3840x2160 pixels Decode vp9 profile2 up to 3840x2160 pixels (encrypted) Decode vp9 profile3 up to 3840x2160 pixels Decode vp9 profile3 up to 3840x2160 pixels (encrypted) Decode h264 baseline up to 3840x2160 pixels Decode h264 main up to 3840x2160 pixels Decode h264 extended up to 3840x2160 pixels Decode h264 high up to 3840x2160 pixels Decode h264 high 10 up to 3840x2160 pixels Decode h264 high 4:2:2 up to 3840x2160 pixels Decode h264 high 4:4:4 predictive up to 3840x2160 pixels Decode h264 scalable baseline up to 3840x2160 pixels Decode h264 scalable high up to 3840x2160 pixels Decode h264 stereo high up to 3840x2160 pixels Decode h264 multiview high up to 3840x2160 pixels Encode vp8 up to 1280x720 pixels and/or 30.000 fps Encode h264 baseline up to 1280x720 pixels and/or 30.000 fps

andrewimm commented 6 years ago

@hjnieuwenhuizen I finally have a lead on a Tab S3, so I can begin investigation soon. Does Youtube play but not rotate? Or does it not draw at all? If it's a rotation issue, can you test this Mozilla demo: https://mdn.mozillademos.org/en-US/docs/Web/API/Detecting_device_orientation$samples/Orientation_example?revision=1375510 (also available on https://developer.mozilla.org/en-US/docs/Web/API/Detecting_device_orientation)

Once I can test with a physical device myself, I can hopefully get some answers to at least send back to Samsung.

hjnieuwenhuizen commented 6 years ago

@andrewimm thank you. YouTube draws on a flat canvas and is still able to play. I did the Mozilla test and it is definitely is picking up the orientation. In the developer mode there is a switch to show GPU rendered components. I noticed that nothing with the browser window is being rendered by the GPU.

hjnieuwenhuizen commented 6 years ago

@andrewimm Did you get your hands on the tablet yet. Is there anything else you recommend i try. Really appreciate the help. I have gone into so many store trying to test on another one of these tablets, but I have not been successful. They seem rare. I might need to convert to IOS which is something I really do not want to do.

ayaleemy commented 5 years ago

I am currently facing the same issue on Surface Pro 4, failed to rotate around by finger movements. @hjnieuwenhuizen do you have the solution already on React VR with touch screen yet?