Closed ghost closed 2 years ago
Moved to bugzilla: https://bugzilla.mozilla.org/show_bug.cgi?id=1764589
Change performed by the Move to Bugzilla add-on.
Thanks for the bug report @Ethereal-Fox . Could you please go to the about:support page on your affected device, click on "copy text to clipboard" and attach the copied text to this bug. Thanks.
Also, are you able to capture the logcat from the device when attempting to load webgl? Thanks
@jamienicol
Application Basics
------------------
Name: Firefox
Version: 99.0.1
Build ID: 20220411174855
Distribution ID:
User Agent: Mozilla/5.0 (Android 5.1; Mobile; rv:99.0) Gecko/99.0 Firefox/99.0
OS: Linux 22 #2 SMP PREEMPT Sun Apr 30 15:46:23 CST 2017
Multiprocess Windows: 0/0
Fission Windows: 0/0 Disabled by default
Remote Processes: 1
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Crash Reports for the Last 3 Days
---------------------------------
Nightly Features
----------------
Remote Processes
----------------
Type: Web Content
Count: 1 / 2
Add-ons
-------
Name: Mozilla Android Components - Ads Telemetry
Type: extension
Version: 99.0.10.0412021214
Enabled: true
ID: ads@mozac.org
Name: Mozilla Android Components - Browser Icons
Type: extension
Version: 99.0.10.0412022005
Enabled: true
ID: icons@mozac.org
Name: Mozilla Android Components - Firefox Accounts WebChannel
Type: extension
Version: 99.0.10.0412021155
Enabled: true
ID: fxa@mozac.org
Name: Mozilla Android Components - ReaderView
Type: extension
Version: 99.0.10.0412021903
Enabled: true
ID: readerview@mozac.org
Name: Mozilla Android Components - Search Telemetry
Type: extension
Version: 99.0.10.0412021214
Enabled: true
ID: cookies@mozac.org
Name: Mozilla Android Components - Web Compatibility Interventions
Type: extension
Version: 30.0.0
Enabled: true
ID: webcompat@mozilla.org
Graphics
--------
Features
Compositing: WebRender (Software OpenGL)
Asynchronous Pan/Zoom: touch input enabled; autoscroll enabled; smooth pinch-zoom enabled
WebGL 1 Driver WSI Info: -
WebGL 1 Driver Renderer: WebGL creation failed: * Requires vertex_array_object. (FEATURE_FAILURE_WEBGL_VAOS)
WebGL 1 Driver Version: -
WebGL 1 Driver Extensions: -
WebGL 1 Extensions: -
WebGL 2 Driver WSI Info: -
WebGL 2 Driver Renderer: WebGL creation failed: * tryNativeGL (FEATURE_FAILURE_EGL_NO_CONFIG) * Exhausted GL driver options. (FEATURE_FAILURE_WEBGL_EXHAUSTED_DRIVERS)
WebGL 2 Driver Version: -
WebGL 2 Driver Extensions: -
WebGL 2 Extensions: -
Target Frame Rate: 59
GPU #1
Active: Yes
Description: Model: ASUS_Z00VD, Product: WW_Phone, Manufacturer: asus, Hardware: mt6580, OpenGL: ARM -- Mali-400 MP -- OpenGL ES 2.0
Vendor ID: ARM
Device ID: Mali-400 MP
Driver Version: OpenGL ES 2.0
RAM: 0
Diagnostics
AzureCanvasBackend: skia
AzureContentBackend: skia
AzureFallbackCanvasBackend: skia
CMSOutputProfile: Empty profile data
Display0: 720x1280
DisplayCount: 1
Decision Log
HW_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
OPENGL_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
WEBRENDER:
available by default
disabled by env: Not qualified
WEBRENDER_QUALIFIED:
available by default
blocklisted by env: No qualified hardware
WEBRENDER_COMPOSITOR:
disabled by default: Disabled by default
WEBRENDER_PARTIAL:
available by default
WEBRENDER_SHADER_CACHE:
available by default
unavailable by runtime: WebRender disabled
WEBRENDER_OPTIMIZED_SHADERS:
available by default
unavailable by runtime: WebRender disabled
WEBRENDER_ANGLE:
available by default
unavailable by env: OS not supported
WEBRENDER_DCOMP_PRESENT:
available by default
disabled by user: User disabled via pref
unavailable by env: Requires Windows 10 or later
unavailable by runtime: Requires ANGLE
WEBRENDER_SOFTWARE:
available by default
WEBGPU:
disabled by default: Disabled by default
blocked by runtime: WebGPU can only be enabled in nightly
Media
-----
Audio Backend: opensl
Max Channels: 2
Preferred Sample Rate: 48000
Roundtrip latency (standard deviation): ...
Output Devices
Name: Group
Default audio output device:
Input Devices
Name: Group
Default audio input device:
Enumerate database
Environment Variables
---------------------
Important Modified Preferences
------------------------------
extensions.lastAppVersion: 99.0.1
media.gmp.storage.version.observed: 1
Important Locked Preferences
----------------------------
fission.autostart.session: false
Accessibility
-------------
Activated: false
Prevent Accessibility: 0
Library Versions
----------------
NSPR
Expected minimum version: 4.33
Version in use: 4.33
NSS
Expected minimum version: 3.76.1
Version in use: 3.76.1
NSSSMIME
Expected minimum version: 3.76.1
Version in use: 3.76.1
NSSSSL
Expected minimum version: 3.76.1
Version in use: 3.76.1
NSSUTIL
Expected minimum version: 3.76.1
Version in use: 3.76.1
Startup Cache
-------------
Disk Cache Path: /data/data/org.mozilla.firefox/files/mozilla/b1fidvib.default/startupCache/startupCache.4.little
Ignore Disk Cache: false
Found Disk Cache on Init: false
Wrote to Disk Cache: false
Internationalization & Localization
-----------------------------------
Application Settings
Requested Locales: ["fr-FR"]
Available Locales: ["an","ar","ast","az","be","bg","bn","br","bs","ca","cak","cs","cy","da","de","dsb","el","en-CA","en-GB","en-US","eo","es-AR","es-CL","es-ES","es-MX","et","eu","fa","ff","fi","fr","fy-NL","ga-IE","gd","gl","gn","gu-IN","he","hi-IN","hr","hsb","hu","hy-AM","id","is","it","ja","ka","kab","kk","kn","ko","lij","lo","lt","lv","ml","mr","ms","my","nb-NO","ne-NP","nl","nn-NO","oc","pa-IN","pl","pt-BR","pt-PT","rm","ro","ru","sk","sl","son","sq","sr","sv-SE","ta","te","th","tr","trs","uk","ur","uz","vi","wo","xh","zam","zh-CN","zh-TW"]
App Locales: ["fr","en-US"]
Regional Preferences: ["fr-FR"]
Default Locale: "en-US"
Operating System
System Locales: ["fr-FR"]
Regional Preferences: ["fr-FR"]
Remote Debugging (Chromium Protocol)
------------------------------------
Accepting Connections: false
URL:
Thanks @Ethereal-Fox! Could you please install this build of our geckoview example application, and see if webgl works in it?
@jamienicol WebGL 1
works, but WebGL 2
doesn't work. But thanks to WebGL 1
I now see graphical content on the sites I mentioned above.
Here are the details:
Application Basics
------------------
Name: GeckoView Example
Version: 102.0a1
Build ID: 20220504112842
Distribution ID:
User Agent: Mozilla/5.0 (Android 5.1; Mobile; rv:102.0) Gecko/102.0 Firefox/102.0
OS: Linux 22 #2 SMP PREEMPT Sun Apr 30 15:46:23 CST 2017
Multiprocess Windows: 0/0
Fission Windows: 0/0 Disabled by default
Remote Processes: 2
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Memory Size (RAM): 1.9 GB
Disk Space Available: 1.5 GB
Crash Reports for the Last 3 Days
---------------------------------
Nightly Features
----------------
Remote Processes
----------------
Type: Web Content
Count: 1 / 2
Type: GPU
Count: 1
Add-ons
-------
Graphics
--------
Features
Compositing: WebRender (Software OpenGL)
Asynchronous Pan/Zoom: touch input enabled; autoscroll enabled; smooth pinch-zoom enabled
WebGL 1 Driver WSI Info: EGL_VENDOR: ARM EGL_VERSION: 1.4 Linux-r4p0-00rel0 EGL_EXTENSIONS: EGL_KHR_image EGL_KHR_image_base EGL_KHR_image_pixmap EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_fence_sync EGL_ANDROID_image_native_buffer EGL_ANDROID_recordable EGL_ANDROID_native_fence_sync EGL_ANDROID_framebuffer_target EGL_ANDROID_image_crop EGL_EXT_create_context_robustness EGL_ANDROID_blob_cache IsWebglOutOfProcessEnabled: 0
WebGL 1 Driver Renderer: ARM -- Mali-400 MP
WebGL 1 Driver Version: OpenGL ES 2.0
WebGL 1 Driver Extensions: GL_EXT_debug_marker GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug
WebGL 1 Extensions: EXT_blend_minmax EXT_shader_texture_lod MOZ_debug OES_standard_derivatives OES_vertex_array_object WEBGL_compressed_texture_etc1 WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_lose_context
WebGL 2 Driver WSI Info: -
WebGL 2 Driver Renderer: WebGL creation failed: * tryNativeGL (FEATURE_FAILURE_EGL_NO_CONFIG) * Exhausted GL driver options. (FEATURE_FAILURE_WEBGL_EXHAUSTED_DRIVERS)
WebGL 2 Driver Version: -
WebGL 2 Driver Extensions: -
WebGL 2 Extensions: -
Target Frame Rate: 59
GPU #1
Active: Yes
Description: Model: ASUS_Z00VD, Product: WW_Phone, Manufacturer: asus, Hardware: mt6580, OpenGL: ARM -- Mali-400 MP -- OpenGL ES 2.0
Vendor ID: ARM
Device ID: Mali-400 MP
Driver Version: OpenGL ES 2.0
RAM: 0
Diagnostics
AzureCanvasBackend: skia
AzureCanvasBackend (UI Process): skia
AzureContentBackend: skia
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): skia
CMSOutputProfile: Empty profile data
Display0: 720x1280
DisplayCount: 1
GPUProcessPid: 15780
GPUProcess: Terminate GPU Process
Device Reset: Trigger Device Reset
Decision Log
HW_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
OPENGL_COMPOSITING:
available by default
force_enabled by user: Force-enabled by pref
GPU_PROCESS:
available by default
WEBRENDER:
available by default
disabled by env: Not qualified
WEBRENDER_QUALIFIED:
available by default
blocklisted by env: No qualified hardware
WEBRENDER_COMPOSITOR:
disabled by default: Disabled by default
WEBRENDER_PARTIAL:
available by default
WEBRENDER_SHADER_CACHE:
available by default
unavailable by runtime: WebRender disabled
WEBRENDER_OPTIMIZED_SHADERS:
available by default
unavailable by runtime: WebRender disabled
WEBRENDER_ANGLE:
available by default
unavailable by env: OS not supported
WEBRENDER_DCOMP_PRESENT:
available by default
disabled by user: User disabled via pref
unavailable by env: Requires Windows 10 or later
unavailable by runtime: Requires ANGLE
WEBRENDER_SOFTWARE:
available by default
WEBGPU:
disabled by default: Disabled by default
VP8_HW_DECODE:
available by default
VP9_HW_DECODE:
available by default
Media
-----
Audio Backend: opensl
Max Channels: 2
Preferred Sample Rate: 44100
Roundtrip latency (standard deviation): ...
Output Devices
Name: Group
Default audio output device:
Input Devices
Name: Group
Default audio input device:
Media Capabilities
Enumerate database
Environment Variables
---------------------
Important Modified Preferences
------------------------------
browser.search.region: FR
extensions.lastAppVersion: 102.0a1
media.gmp.storage.version.observed: 1
security.remote_settings.crlite_filters.checked: 1651666630
security.remote_settings.intermediates.checked: 1651666630
Important Locked Preferences
----------------------------
fission.autostart.session: false
Accessibility
-------------
Activated: false
Prevent Accessibility: 0
Library Versions
----------------
NSPR
Expected minimum version: 4.33
Version in use: 4.33
NSS
Expected minimum version: 3.78
Version in use: 3.78
NSSSMIME
Expected minimum version: 3.78
Version in use: 3.78
NSSSSL
Expected minimum version: 3.78
Version in use: 3.78
NSSUTIL
Expected minimum version: 3.78
Version in use: 3.78
Startup Cache
-------------
Disk Cache Path: /data/data/org.mozilla.geckoview_example/files/mozilla/sqobysfw.default/startupCache/startupCache.4.little
Ignore Disk Cache: false
Found Disk Cache on Init: false
Wrote to Disk Cache: true
Internationalization & Localization
-----------------------------------
Application Settings
Requested Locales: ["fr-FR"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-US"]
Default Locale: "en-US"
Operating System
System Locales: ["fr-FR"]
Regional Preferences: ["fr-FR"]
Remote Debugging (Chromium Protocol)
------------------------------------
Accepting Connections: false
URL:
Great, thanks for testing. I expected WebGL1 to work and 2 to still not work. WebGL 2 requires OpenGL ES 3.0, and the Mali-400 only supports ES 2.0.
Does WebGL 2 work for you in Chrome? Perhaps they use software emulation. Could you attach the contents of chrome://gpu?
@jamienicol On the same device, google chrome shows that it is using webgl 2 (Hardware accelerated)
Graphics Feature Status
Canvas: Hardware accelerated
Canvas out-of-process rasterization: Disabled
Compositing: Hardware accelerated
Multiple Raster Threads: Disabled
Out-of-process Rasterization: Hardware accelerated
OpenGL: Enabled
Rasterization: Hardware accelerated
Skia Renderer: Enabled
Surface Control: Disabled
Video Decode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
clear_uniforms_before_first_program_use
disable_discard_framebuffer
disable_program_caching_for_transform_feedback
dont_delete_source_texture_for_egl_image
exit_on_context_lost
force_enable_color_buffer_float_except_rgb32f
max_msaa_sample_count_4
max_texture_size_limit_4096
remove_dynamic_indexing_of_swizzled_vector
scalarize_vec_and_mat_constructor_args
use_client_side_arrays_for_stream_buffers
use_non_zero_size_for_client_side_stream_buffers
use_virtualized_gl_contexts
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
Problems Detected
Surface Control has been disabled by Finch trial or command line.
Disabled Features: surface_control
Raster is using a single thread.
Disabled Features: multiple_raster_threads
ARM driver doesn't like uploading lots of buffer data constantly: 178093
Applied Workarounds: use_client_side_arrays_for_stream_buffers
Mali-4xx drivers throw an error when a buffer object's size is set to 0: 231082
Applied Workarounds: use_non_zero_size_for_client_side_stream_buffers
The Mali-3xx/4xx/Txxx driver does not guarantee flush ordering: 154715, 10068, 269829, 294779, 285292, 1018528
Applied Workarounds: use_virtualized_gl_contexts
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Rewrite vec/mat constructors on older GLSL ES drivers, Android O and earlier: 398694, 1165751
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Framebuffer discarding causes corruption on Mali-4xx: 449488, 451230
Applied Workarounds: disable_discard_framebuffer
Context lost recovery often fails on Mali-400/450 on Android.: 496438
Applied Workarounds: exit_on_context_lost
Limit max texure size to 4096 on all of Android
Applied Workarounds: max_texture_size_limit_4096
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Limit MSAA to 4x on Android devices: 797243
Applied Workarounds: max_msaa_sample_count_4
Program binaries don't contain transform feedback varyings on Mali GPUs: 961950
Applied Workarounds: disable_program_caching_for_transform_feedback
Remove dynamic indexing for swizzled vectors on Android: 709351
Applied Workarounds: remove_dynamic_indexing_of_swizzled_vector
Some drivers seem to require as to use original texture whenever possible: 1052114, 1117370
Applied Workarounds: dont_delete_source_texture_for_egl_image
Always assume float formats are renderable on Android except RGB32F: 1127387
Applied Workarounds: force_enable_color_buffer_float_except_rgb32f
Version Information
Data exported 2022-05-04T12:22:17.524Z
Chrome version Chrome/95.0.4638.74
Operating system Android 5.1
Software rendering list URL https://chromium.googlesource.com/chromium/src/+/d873fb00e1c78cb31aff20a9b300d18cca0cc284/gpu/config/software_rendering_list.json
Driver bug list URL https://chromium.googlesource.com/chromium/src/+/d873fb00e1c78cb31aff20a9b300d18cca0cc284/gpu/config/gpu_driver_bug_list.json
ANGLE commit id 115fe74c8cee
2D graphics backend Skia/95 565e21c650d81ce861d0d54b0dd4fc247ad58ae6
Command Line --use-mobile-user-agent --top-controls-show-threshold=0.5 --top-controls-hide-threshold=0.5 --use-mobile-user-agent --enable-viewport --validate-input-event-stream --main-frame-resizes-are-orientation-changes --disable-composited-antialiasing --enable-dom-distiller --flag-switches-begin --flag-switches-end
Driver Information
Initialization time 125
In-process GPU false
Passthrough Command Decoder false
Sandboxed false
GPU0 VENDOR= 0x0000 [ARM], DEVICE=0x0000 [Mali-400 MP] *ACTIVE*
Optimus false
AMD switchable false
Driver vendor
Driver version
GPU CUDA compute capability major version 0
Pixel shader version 1.00
Vertex shader version 1.00
Max. MSAA samples 4
Machine model name ASUS_Z00VD
Machine model version
GL_VENDOR ARM
GL_RENDERER Mali-400 MP
GL_VERSION OpenGL ES 2.0
GL_EXTENSIONS GL_EXT_debug_marker GL_OES_texture_npot GL_OES_compressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_EGL_image GL_OES_depth24 GL_ARM_rgba8 GL_ARM_mali_shader_binary GL_OES_depth_texture GL_OES_packed_depth_stencil GL_EXT_texture_format_BGRA8888 GL_OES_vertex_half_float GL_EXT_blend_minmax GL_OES_EGL_image_external GL_OES_EGL_sync GL_OES_rgb8_rgba8 GL_EXT_multisampled_render_to_texture GL_EXT_discard_framebuffer GL_OES_get_program_binary GL_ARM_mali_program_binary GL_EXT_shader_texture_lod GL_EXT_robustness GL_OES_depth_texture_cube_map GL_KHR_debug
Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions
Window system binding vendor
Window system binding version
Window system binding extensions
Direct rendering version unknown
Reset notification strategy 0x8252
GPU process crash count 0
gfx::BufferFormats supported for allocation and texturing R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRA_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode One-copy
Partial Raster Enabled
GpuMemoryBuffers Status
R_8 Software only
R_16 Software only
RG_88 Software only
BGR_565 Software only
RGBA_4444 Software only
RGBX_8888 Software only
RGBA_8888 Software only
BGRX_8888 Software only
BGRA_1010102 Software only
RGBA_1010102 Software only
BGRA_8888 Software only
RGBA_F16 Software only
YVU_420 Software only
YUV_420_BIPLANAR Software only
P010 Software only
Display(s) Information
Info Display[0] bounds=[0,0 360x640], workarea=[0,0 360x640], scale=2, rotation=0, panel_rotation=0 external.
Color space (all) {primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (all) RGBA_8888
SDR white level in nits 100
Bits per color component 8
Bits per pixel 24
Video Acceleration Information
Decoding (VideoDecoder)
Decode vp9 profile0 480x360 to 3840x2160 pixels
Decode vp9 profile0 360x480 to 2160x3840 pixels
Decode vp9 profile0 0x0 to 3840x2160 pixels (encrypted)
Decode vp9 profile0 0x0 to 2160x3840 pixels (encrypted)
Decode h264 baseline 0x0 to 3840x2160 pixels
Decode h264 baseline 0x0 to 2160x3840 pixels
Encoding
Encode h264 baseline 0x0 to 1280x720 pixels, and/or 30.000 fps
Vulkan Information
Device Performance Information
Log Messages
[ERROR:gl_surface_egl.cc(584)] : eglChooseConfig failed with error EGL_BAD_ATTRIBUTE
[ERROR:gl_surface_egl.cc(584)] : eglChooseConfig failed with error EGL_BAD_ATTRIBUTE
[ERROR:gl_surface_egl.cc(584)] : eglChooseConfig failed with error EGL_BAD_ATTRIBUTE
Interesting! I see the same in chrome://gpu on my Mali-400 device, but actually trying to run a webgl 2 demo is another matter. Some partially work, and some don't work at all. I guess they support whatever subset of it they can on the hardware.
In any case, we should have webgl 1 fixed on your device shortly, but unfortunately I doubt we'll ever be able to support webgl 2 on it. Thanks again for your help testing!
Steps to reproduce
Go to https://get.webgl.org/ or https://webglsamples.org/
Expected behaviour
I should see graphics content which I am able to see on all chromium browsers: Chrome, Opera, Kiwi, Vivaldi ets (on all the listed browsers, WebGL and WebGL 2 work as it should, because Mali-400 MP graphics card supports OpenGL ES 2.0 and it is able to support WebGL)
Actual behaviour
I see a notification that my browser does not support WebGL. I don't see any graphic content. Moreover, this bug has always existed from the very beginning of the development of this browser. For some reason the browser does not support Mali-400 MP graphics card.
Device name
Asus Zenfone Go
Android version
Android 5.1
Firefox release type
Firefox
Firefox version
99.2.0
Device logs
No response
Additional information
No response
┆Issue is synchronized with this Jira Task