WebGL is not supported by your browser - Plotly




Since this morning I am not able to generate 3D charts with plotly package. On the Viewer window I get the message: WebGL is not supported by your browser - visit https://get.webgl.org for more info

Clicking on the link, it opens a page in my browser (Safari) where it shows that webgl is working properly. If I run the script directly in R, the chart is shown in Safari.

I am working in a macOS Sierra, R 3.5.1, RStudio 1.2.964.

Any help would be appreciated.


One of the staff might be able to chime in here, but I suspect this is a case of the internal RStudio viewer actually not supporting WebGL. It may not be using Safari, so I'm not surprised that there's a difference there. Hopefully we can confirm that for you, though, @RgrNormand :slight_smile:


I agree with your assessment @rensa. Nevertheless, it used to work quite well in prior versions.


Ah! Well, that's another matter. Do you mean previous versions of RStudio, or previous versions of Plotly?


Prior versions of RStudio. It works correctly when I use pure R.

And other charts from Plotly also work well.


What kind of hardware are you running on? (By any chance, a new-ish Mac Pro?)

It'd be helpful to know what graphics display is reported in the About this Mac system dialog.


@kevinushey: Old computer, MacBook Air 2012 with Intel HD Graphics 3000.

Anything else?


Can you also share the output on the Help -> Diagnostics -> Show GPU Diagnostics page?

You might also try toggling some of the graphics-related options on the Advanced options page:



Graphics Feature Status
Canvas: Software only, hardware acceleration unavailable
CheckerImaging: Disabled
Flash: Unavailable
Flash Stage3D: Unavailable
Flash Stage3D Baseline profile: Unavailable
Compositing: Unavailable
Multiple Raster Threads: Enabled
Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
Rasterization: Unavailable
Video Decode: Software only. Hardware acceleration disabled
WebGL: Unavailable
WebGL2: Unavailable
Driver Bug Workarounds
Problems Detected
Intel HD 3000 driver crashes frequently on Mac: 592130, 661596
Disabled Features: flash_stage3d, gpu_compositing, gpu_rasterization, flash3d, accelerated_webgl2, accelerated_2d_canvas, accelerated_video_decode, accelerated_webgl, flash_stage3d_baseline
Some GPUs on Mac can perform poorly with GPU rasterization. Disable all known Intel GPUs other than Intel 6th and 7th Generation cards, which have been tested.: 613272, 614468
Disabled Features: gpu_rasterization
Don't allow ES3 on Mac core profile < 4.1: 295792
Disabled Features: accelerated_webgl2
Unfold short circuit on Mac OS X: 307751
Applied Workarounds: unfold_short_circuit_as_ternary_operation
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
Mac drivers handle struct scopes incorrectly: 403957
Applied Workarounds: regenerate_struct_names
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
glGenerateMipmap fails if the zero texture level is not set on some Mac drivers: 560499
Applied Workarounds: set_zero_level_before_generating_mipmap
Pack parameters work incorrectly with pack buffer bound: 563714
Applied Workarounds: pack_parameters_workaround_with_pack_buffer
Alignment works incorrectly with unpack buffer bound: 563714
Applied Workarounds: unpack_alignment_workaround_with_unpack_buffer
copyTexImage2D fails when reading from IOSurface on multiple GPU types.: 581777
Applied Workarounds: use_intermediary_for_copy_texture_image
Multisample renderbuffers with format GL_RGB8 have performance issues on Intel GPUs.: 607130
Applied Workarounds: disable_webgl_rgb_multisampling_usage
Use GL_INTEL_framebuffer_CMAA on ChromeOS: 535198
Applied Workarounds: disable_framebuffer_cmaa
glGetFragData{Location|Index} works incorrectly on Max: 638340
Applied Workarounds: get_frag_data_info_bug
glResumeTransformFeedback works incorrectly on Intel GPUs: 638514
Applied Workarounds: rebind_transform_feedback_before_resume
Result of abs(i) where i is an integer in vertex shader is wrong: 642227
Applied Workarounds: emulate_abs_int_function
Rewrite texelFetchOffset to texelFetch for Intel Mac: 642605
Applied Workarounds: rewrite_texelfetchoffset_to_texelfetch
Rewrite condition in for and while loops for Intel Mac: 644669
Applied Workarounds: add_and_true_to_loop_condition
Decode and encode before generateMipmap for srgb format textures on macosx: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Init first two levels before CopyTexImage2D for cube map texture on Intel Mac 10.12: 648197
Applied Workarounds: init_two_cube_map_levels_before_copyteximage
Insert statements to reference all members in unused std140/shared blocks on Mac: 618464
Applied Workarounds: use_unused_standard_shared_blocks
Tex(Sub)Image3D performs incorrectly when uploading from unpack buffer with GL_UNPACK_IMAGE_HEIGHT greater than zero on Intel Macs: 654258
Applied Workarounds: unpack_image_height_workaround_with_unpack_buffer
adjust src/dst region if blitting pixels outside read framebuffer on Mac: 644740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Mac driver GL 4.1 requires invariant and centroid to match between shaders: 639760, 641129
Applied Workarounds: remove_invariant_and_centroid_for_essl3
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)
Reset TexImage2D base level to 0 on Intel Mac 10.12.4: 705865
Applied Workarounds: reset_teximage2d_base_level
Don't expose disjoint_timer_query extensions to WebGL: 808744
Shader variable initialization in a loop caused perf regression on Mac Intel.: 809422
Applied Workarounds: dont_use_loops_to_initialize_variables
8x MSAA is slow for alpha:false WebGL contexts on Mac Intel: 812071
Applied Workarounds: max_msaa_sample_count_4
Accelerated video decode has been disabled, either via blacklist, about:flags or the command line.
Disabled Features: video_decode
Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
Disabled Features: native_gpu_memory_buffers
Checker-imaging has been disabled via finch trial or the command line.
Disabled Features: checker_imaging
Version Information
Data exported	2018-09-11T17:20:46.134Z
Chrome version	RStudio/1.2.964
Operating system	Mac OS X 10.12.6
Software rendering list URL	chromium.googlesource.com/chromium/src/+/926d27280b919a1aeb0091392d56f63a38d2bc0b/gpu/config/software_rendering_list.json
Driver bug list URL	chromium.googlesource.com/chromium/src/+/926d27280b919a1aeb0091392d56f63a38d2bc0b/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	unknown hash
2D graphics backend	Skia/65 35ee3617fcb08e0d79e6b9e6c05db23cc9416d4f-
Command Line	/Applications/RStudio.app/Contents/MacOS/RStudio --enable-viewport --disable-renderer-accessibility --disable-prefer-compositing-to-lcd-text --browser-subprocess-path=/Applications/RStudio.app/Contents/Frameworks/QtWebEngineCore.framework/Helpers/QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess --enable-threaded-compositing --disable-zero-copy --disable-gpu-memory-buffer-compositor-resources --disable-gpu-memory-buffer-video-frames --disable-mojo-local-storage --disable-accelerated-video-decode --disable-pepper-3d-image-chromium --disable-native-gpu-memory-buffers --enable-features=AllowContentInitiatedDataUrlNavigations --disable-features=SurfaceSynchronization --disable-features=SurfaceSynchronization,TouchpadAndWheelScrollLatching --use-gl=desktop --in-process-gpu --gpu-preferences=KAAAAAAAAAAmAQAAAQAAAAAAAAAAAGAAAAAAAAAAAAAIAAAAAAAAAHAAAAANAAAAaAAAAAAAAABwAAAAAAAAAHgAAAAAAAAAgAAAAAAAAACIAAAAAAAAAJAAAAAAAAAAmAAAAAAAAACgAAAAAAAAAKgAAAAAAAAAsAAAAAAAAAC4AAAAAAAAAMAAAAAAAAAAyAAAAAAAAAAQAAAAAAAAAAAAAAALAAAAEAAAAAAAAAAAAAAADAAAABAAAAAAAAAAAAAAAA4AAAAQAAAAAAAAAAAAAAARAAAAEAAAAAAAAAAAAAAAEgAAABAAAAAAAAAAAQAAAAsAAAAQAAAAAAAAAAEAAAAMAAAAEAAAAAAAAAABAAAADgAAABAAAAAAAAAAAQAAABEAAAAQAAAAAAAAAAEAAAASAAAAEAAAAAAAAAADAAAACwAAABAAAAAAAAAAAwAAAAwAAAAQAAAAAAAAAAMAAAAOAAAA --use-gl=desktop --gpu-vendor-id=0x8086 --gpu-device-id=0x0116 --gpu-driver-vendor --gpu-driver-version --gpu-driver-date --gpu-active-vendor-id=0x8086 --gpu-active-device-id=0x0116
Driver Information
Initialization time	69
In-process GPU	true
Passthrough Command Decoder	false
Direct Composition	false
Supports overlays	false
Sandboxed	false
GPU0	VENDOR = 0x8086, DEVICE= 0x0116 *ACTIVE*
Optimus	false
Optimus	false
AMD switchable	false
Driver vendor	
Driver version	10.2.37
Driver date	
Pixel shader version	1.20
Vertex shader version	1.20
Max. MSAA samples	4
Machine model name	MacBookAir
Machine model version	4.2
GL_VENDOR	Intel Inc.
GL_RENDERER	Intel HD Graphics 3000 OpenGL Engine
GL_VERSION	2.1 INTEL-10.2.37
GL_EXTENSIONS	GL_ARB_color_buffer_float GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_draw_buffers GL_ARB_draw_elements_base_vertex GL_ARB_draw_instanced GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_instanced_arrays GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_provoking_vertex GL_ARB_seamless_cube_map GL_ARB_shader_objects GL_ARB_shader_texture_lod GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_sync GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_float GL_ARB_texture_mirrored_repeat GL_ARB_texture_non_power_of_two GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_transpose_matrix GL_ARB_vertex_array_bgra GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_equation_separate GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_draw_buffers2 GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_geometry_shader4 GL_EXT_gpu_program_parameters GL_EXT_gpu_shader4 GL_EXT_multi_draw_arrays GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_provoking_vertex GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_rectangle GL_EXT_texture_shared_exponent GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_APPLE_aux_depth_stencil GL_APPLE_client_storage GL_APPLE_element_array GL_APPLE_fence GL_APPLE_float_pixels GL_APPLE_flush_buffer_range GL_APPLE_flush_render GL_APPLE_object_purgeable GL_APPLE_packed_pixels GL_APPLE_pixel_buffer GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_specular_vector GL_APPLE_texture_range GL_APPLE_transform_hint GL_APPLE_vertex_array_object GL_APPLE_vertex_array_range GL_APPLE_vertex_point_size GL_APPLE_vertex_program_evaluators GL_APPLE_ycbcr_422 GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_IBM_rasterpos_clip GL_NV_blend_square GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fog_distance GL_NV_light_max_exponent GL_NV_texgen_reflection GL_NV_texture_barrier GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod
Disabled Extensions	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	0x0000
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	Software only
BGRX_1010102	Software only
RGBA_F16	Software only
YVU_420	Software only
Display(s) Information
Video Acceleration Information
Encode h264 baseline	up to 4096x2160 pixels and/or 30.000 fps
Encode h264 main	up to 4096x2160 pixels and/or 30.000 fps
Encode h264 high	up to 4096x2160 pixels and/or 30.000 fps

No changes when trying different advanced options.


@kevinushey I have provided the info you asked for, but your system considered it a spam. It should be freed soon.

Nevertheless, if I try the last stable version of RStudio, it works correctly.


With the new version...


@kevinushey: Any news about this issue?


There's a speculative fix for this in the newest daily builds of RStudio -- can you give it a download and let me know if WebGL is working again?


Unfortunately no.


What if you explicitly switch to using software rendering?


Same result. I have tried this in the past. With the last stable version, it works with auto-detect.


Which version do you mean by 'last stable version'? Do you mean the previous preview release? Can you confirm which version of RStudio that was just so we're on the same page?

(My confusion here is just because the stable release of RStudio, v1.1.456, does not have an option for changing the rendering engine)


My mistake. RStudio v1.1.456 works correctly and there is no option.


Can you also try forcing OpenGL as the rendering engine, and checking the Ignore GPU blacklist + Disable GPU driver bug workarounds checkboxes?