title: Problem "WebGL is not supported by your browser" in Rmarkdown
body: <p>I'm using <code>Knit to PDF</code> in Rstudio for a Rnotebook containing 3D graph generated by <code>plotly</code>. Then in the PDF,</p>
  <p><a href="https://i.stack.imgur.com/v3ZNC.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/v3ZNC.png" alt="enter image description here" /></a></p>
  <p>When I click on the link, I have</p>
  <p><a href="https://i.stack.imgur.com/EAJFA.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/EAJFA.png" alt="enter image description here" /></a></p>
  <p>I'm using <code>Rstudio 1.3.1093.0</code> on <code>Windows NT 10.0.19042</code>. In my GPU Diagnostics report, I have</p>
  <pre><code>WebGL: Hardware accelerated
  WebGL2: Hardware accelerated
  </code></pre>
  <p>My configuration is</p>
  <p><a href="https://i.stack.imgur.com/Cox9s.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Cox9s.png" alt="enter image description here" /></a></p>
  <p>Could you please elaborate on this problem and how to solve it? Here is the full report:</p>
  <pre><code>Graphics Feature Status
  Canvas: Hardware accelerated
  Flash: Hardware accelerated
  Flash Stage3D: Hardware accelerated
  Flash Stage3D Baseline profile: Hardware accelerated
  Compositing: Hardware accelerated
  Multiple Raster Threads: Enabled
  Native GpuMemoryBuffers: Software only. Hardware acceleration disabled
  Out-of-process Rasterization: Disabled
  Hardware Protected Video Decode: Hardware accelerated
  Rasterization: Hardware accelerated
  Skia Deferred Display List: Disabled
  Skia Renderer: Disabled
  Surface Synchronization: Disabled
  Video Decode: Hardware accelerated
  Viz Service Display Compositor: Disabled
  WebGL: Hardware accelerated
  WebGL2: Hardware accelerated
  
  Problems Detected
  Native GpuMemoryBuffers have been disabled, either via about:flags or command line.
  Disabled Features: native_gpu_memory_buffers
  Surface synchronization has been disabled by Finch trial or command line.
  Disabled Features: surface_synchronization
  Viz service display compositor is not enabled by default.
  Disabled Features: viz_display_compositor
  Skia renderer is not used by default.
  Disabled Features: skia_renderer
  Skia deferred display list is not used by default.
  Disabled Features: skia_deferred_display_list
  
  Version Information
  Data exported   2020-12-31T09:56:49.979Z
  Chrome version  rstudio/1.3.1093.0
  Operating system    Windows NT 10.0.19042
  Software rendering list URL https://chromium.googlesource.com/chromium/src/+/cdec0adf58c577876de3d8f073dce520f0829431/gpu/config/software_rendering_list.json
  Driver bug list URL https://chromium.googlesource.com/chromium/src/+/cdec0adf58c577876de3d8f073dce520f0829431/gpu/config/gpu_driver_bug_list.json
  ANGLE commit id unknown hash
  2D graphics backend Skia/69 e110fd1ebd2d559838c49a8821ebf18986bd6ec2-
  Command Line    &quot;C:/Program Files/RStudio/bin/rstudio.exe&quot; --ignore-gpu-blacklist --disable-gpu-driver-bug-workarounds --enable-viewport --disable-renderer-accessibility --browser-subprocess-path=&quot;C:\Program Files\RStudio\bin\QtWebEngineProcess.exe&quot; --no-sandbox --enable-threaded-compositing --disable-zero-copy --disable-gpu-memory-buffer-compositor-resources --disable-gpu-memory-buffer-video-frames --disable-es3-gl-context --enable-features=AllowContentInitiatedDataUrlNavigations --disable-features=SurfaceSynchronization --disable-features=SurfaceSynchronization,MojoVideoCapture --disable-features=SurfaceSynchronization,MojoVideoCapture,UseVideoCaptureApiForDevToolsSnapshots --disable-features=SurfaceSynchronization,MojoVideoCapture,UseVideoCaptureApiForDevToolsSnapshots,UseModernMediaControls --create-default-gl-context --use-gl=desktop --in-process-gpu --gpu-preferences=KAAAAAAAAACiAwCAAQAAAAAAAAAAAGAAAAAAAAEAAAAIAAAAAAAAACgAAAAEAAAAIAAAAAAAAAAoAAAAAAAAADAAAAAAAAAAOAAAAAAAAAAQAAAAAAAAAAAAAAAKAAAAEAAAAAAAAAAAAAAACwAAABAAAAAAAAAAAQAAAAoAAAAQAAAAAAAAAAEAAAALAAAA --use-gl=desktop &quot;C:/Program Files/RStudio/none&quot;
  Driver Information
  Initialization time 9
  In-process GPU  true
  Passthrough Command Decoder false
  Sandboxed   false
  GPU0    VENDOR = 0x8086, DEVICE= 0x3e9b *ACTIVE*
  GPU1    VENDOR = 0x10de, DEVICE= 0x1c20
  Optimus false
  AMD switchable  false
  Desktop compositing Aero Glass
  Direct Composition  false
  Supports overlays   false
  Overlay capabilities
  Diagonal Monitor Size of \\.\DISPLAY1   15.5&quot;
  Driver D3D12 feature level  Not supported
  Driver Vulkan API version   Not supported
  Driver vendor   Intel Corporation
  Driver version  25.20.100.6577
  Driver date 2-7-2019
  Pixel shader version    4.50
  Vertex shader version   4.50
  Max. MSAA samples   16
  Machine model name  
  Machine model version   
  GL_VENDOR   Intel
  GL_RENDERER Intel(R) UHD Graphics 630
  GL_VERSION  4.5.0 - Build 25.20.100.6577
  GL_EXTENSIONS   GL_3DFX_texture_compression_FXT1 GL_AMD_depth_clamp_separate GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_cl_event GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float GL_ARB_compatibility GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_depth_texture GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_geometry_shader4 GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_multisample GL_ARB_multitexture GL_ARB_occlusion_query GL_ARB_occlusion_query2 GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_robustness_isolation GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_bit_encoding GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shading_language_100 GL_ARB_shading_language_420pack GL_ARB_shading_language_packing GL_ARB_shadow GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_border_clamp GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map GL_ARB_texture_cube_map_array GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_mirrored_repeat GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_transpose_matrix GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ARB_window_pos GL_ATI_separate_stencil 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_compiled_vertex_array GL_EXT_direct_state_access 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_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_packed_pixels GL_EXT_polygon_offset_clamp GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shader_framebuffer_fetch GL_EXT_shader_integer_mix GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_array GL_EXT_texture_compression_s3tc GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_lod_bias GL_EXT_texture_rectangle GL_EXT_texture_sRGB GL_EXT_texture_sRGB_decode GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_storage GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_IBM_texture_mirrored_repeat GL_INTEL_conservative_rasterization GL_INTEL_fragment_shader_ordering GL_INTEL_framebuffer_CMAA GL_INTEL_map_texture GL_INTEL_multi_rate_fragment_shader GL_INTEL_performance_query GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_texture_compression_astc_hdr GL_KHR_texture_compression_astc_ldr GL_NV_blend_square GL_NV_conditional_render GL_NV_primitive_restart GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays GL_WIN_swap_hint WGL_EXT_swap_control
  Disabled Extensions 
  Disabled WebGL Extensions   
  Window system binding vendor    
  Window system binding version   
  Window system binding extensions    WGL_EXT_depth_float WGL_ARB_buffer_region WGL_ARB_extensions_string WGL_ARB_make_current_read WGL_ARB_pixel_format WGL_ARB_pbuffer WGL_EXT_extensions_string WGL_EXT_swap_control WGL_ARB_multisample WGL_ARB_pixel_format_float WGL_ARB_framebuffer_sRGB WGL_ARB_create_context WGL_ARB_create_context_profile WGL_EXT_pixel_format_packed_float WGL_EXT_create_context_es_profile WGL_EXT_create_context_es2_profile WGL_NV_DX_interop WGL_INTEL_cl_sharing WGL_NV_DX_interop2 WGL_ARB_create_context_robustness WGL_ARB_context_flush_control
  Direct rendering    Yes
  Reset notification strategy 0x8261
  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[2528732444] bounds=[0,0 1536x864], workarea=[0,0 1536x824], scale=1.25, 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
  Encode h264 baseline    up to 3840x2176 pixels and/or 30.000 fps
  Encode h264 main    up to 3840x2176 pixels and/or 30.000 fps
  Encode h264 high    up to 3840x2176 pixels and/or 30.000 fps
  Diagnostics
  ... loading ...
  </code></pre>