Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Chromium using ANGLE gl driver and VA-API not working on Ubuntu 20.04 #91

Open
zuishikonghuan opened this issue Jul 7, 2020 · 47 comments

Comments

@zuishikonghuan
Copy link

System info

Ubuntu 20.04
X11, GNOME

glxinfo | grep OpenGL
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 620 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.8
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

vainfo 
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD

Chromium version: 85.0.4173.0

chrome://gpu


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
Out-of-process Rasterization: Disabled
OpenGL: Enabled
Hardware Protected Video Decode: Unavailable
Rasterization: Software only. Hardware acceleration disabled
Skia Renderer: Enabled
Video Decode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
clear_uniforms_before_first_program_use
decode_encode_srgb_for_generatemipmap
exit_on_context_lost
msaa_is_slow
scalarize_vec_and_mat_constructor_args
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
Problems Detected
Protected video decoding with swap chain is for certain Intel and AMD GPUs on Windows: 1093625
Disabled Features: protected_video_decode
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
adjust src/dst region if blitting pixels outside framebuffer on Linux Intel: 664740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
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)
Decode and Encode before generateMipmap for srgb format textures on Linux Mesa ANGLE path: 634519
Applied Workarounds: decode_encode_srgb_for_generatemipmap
Some drivers can't recover after OUT_OF_MEM and context lost: 893177
Applied Workarounds: exit_on_context_lost
ANGLE Features
disable_program_caching_for_transform_feedback (Frontend workarounds): Disabled: IsAndroid() && isQualcomm
On some GPUs, program binaries don't contain transform feedback varyings
lose_context_on_out_of_memory (Frontend workarounds): Enabled: true
Some users rely on a lost context notification if a GL_OUT_OF_MEMORY error occurs
scalarize_vec_and_mat_constructor_args (Frontend workarounds) 398694: Enabled: true
Always rewrite vec/mat constructors to be consistent
sync_framebuffer_bindings_on_tex_image (Frontend workarounds): Disabled: IsWindows() && isIntel
On some drivers TexImage sometimes seems to interact with the Framebuffer
add_and_true_to_loop_condition (OpenGL workarounds): Disabled: IsApple() && isIntel
Calculation of loop conditions in for and while loop has bug
adjust_src_dst_region_for_blitframebuffer (OpenGL workarounds) 830046: Enabled: IsLinux() || (IsAndroid() && isNvidia) || (IsWindows() && isNvidia)
Many platforms have issues with blitFramebuffer when the parameters are large.
allow_clear_for_robust_resource_init (OpenGL workarounds) 883276: Disabled: IsApple()
Using glClear for robust resource initialization is buggy on some drivers and leads to texture corruption. Default to data uploads except on MacOS where it is very slow.
always_call_use_program_after_link (OpenGL workarounds) 110263: Enabled: true
Always call useProgram after a successful link to avoid a driver bug
avoid_1_bit_alpha_texture_formats (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isAMD
Issue with 1-bit alpha framebuffer formats
avoid_dxt1_srgb_texture_format (OpenGL workarounds): Disabled: IsWindows() && isIntel
Replaces DXT1 sRGB with DXT1 sRGB Alpha as a driver bug workaround.
clamp_array_access (OpenGL workarounds) anglebug:2978: Disabled: IsAndroid() || isAMD || !functions->hasExtension("GL_KHR_robust_buffer_access_behavior")
Clamp uniform array access to avoid reading invalid memory.
clamp_frag_depth (OpenGL workarounds): Disabled: isNvidia
gl_FragDepth is not clamped correctly when rendering to a floating point depth buffer
clamp_point_size (OpenGL workarounds): Disabled: IsAndroid() || isNvidia
The point size range reported from the API is inconsistent with the actual behavior
clear_to_zero_or_one_broken (OpenGL workarounds) 710443: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 6)
Clears when the clear color is all zeros or ones do not work.
clip_src_region_for_blitframebuffer (OpenGL workarounds) 830046: Disabled: IsApple() || (IsLinux() && isAMD)
Issues with blitFramebuffer when the parameters don't match the framebuffer size.
decode_encode_srgb_for_generatemipmap (OpenGL workarounds) anglebug:4646: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP
Decode and encode before generateMipmap for srgb format textures.
disable_blend_func_extended (OpenGL workarounds) anglebug:1085: Enabled: isAMD || isIntel
ARB_blend_func_extended does not pass the tests
disable_draw_buffers_indexed (OpenGL workarounds): Disabled: IsWindows() && isAMD
Disable OES_draw_buffers_indexed extension.
disable_gpu_switching_support (OpenGL workarounds) 1091824: Disabled: isDualGPUMacWithNVIDIA
Disable GPU switching support (use only the low-power GPU) on older MacBook Pros.
disable_semaphore_fd (OpenGL workarounds) 1046462: Disabled: IsLinux() && isAMD && isMesa && mesaVersion < (std::array<int, 3>{19, 3, 5})
Disable GL_EXT_semaphore_fd extension
disable_timestamp_queries (OpenGL workarounds) 811661: Disabled: IsLinux() && isVMWare
Disable GL_EXT_disjoint_timer_query extension
disable_worker_contexts (OpenGL workarounds) 849576: Disabled: (IsWindows() && (isIntel || isAMD)) || (IsLinux() && isNvidia)
Some tests have been seen to fail using worker contexts
do_while_glsl_causes_gpu_hang (OpenGL workarounds) 644669: Disabled: IsApple() && functions->standard == STANDARD_GL_DESKTOP && GetMacOSVersion() < OSVersion(10, 11, 0)
Some GLSL constructs involving do-while loops cause GPU hangs
does_srgb_clears_on_linear_framebuffer_attachments (OpenGL workarounds): Enabled: functions->standard == STANDARD_GL_DESKTOP && (isIntel || isAMD)
Issue clearing framebuffers with linear attachments when GL_FRAMEBUFFER_SRGB is enabled
dont_initialize_uninitialized_locals (OpenGL workarounds) anglebug:2046: Disabled: IsAndroid() && isQualcomm
Initializing uninitialized locals caused odd behavior in a few WebGL 2 tests
dont_relink_programs_in_parallel (OpenGL workarounds) anglebug:3045: Disabled: IsAndroid() || (IsWindows() && isIntel)
Relinking a program in parallel is buggy
dont_use_loops_to_initialize_variables (OpenGL workarounds) 809422: Disabled: (IsAndroid() && isQualcomm) || (isIntel && IsApple())
For loops used to initialize variables hit native GLSL compiler bugs
emulate_abs_int_function (OpenGL workarounds) 642227: Disabled: IsApple() && isIntel
abs(i) where i is an integer returns unexpected result
emulate_atan_2_float (OpenGL workarounds) 672380: Disabled: isNvidia
atan(y, x) may return a wrong answer
emulate_copyteximage2d_from_renderbuffers (OpenGL workarounds) anglebug:4674: Disabled: IsApple() && functions->standard == STANDARD_GL_ES && !(isAMD && IsWindows())
CopyTexImage2D spuriously returns errors on iOS when copying from renderbuffers.
emulate_isnan_float (OpenGL workarounds) 650547: Disabled: isIntel && IsApple() && IsSkylake(device) && GetMacOSVersion() < OSVersion(10, 13, 2)
Using isnan() on highp float will get wrong answer
emulate_max_vertex_attrib_stride (OpenGL workarounds) anglebug:1936: Disabled: IsLinux() && functions->standard == STANDARD_GL_DESKTOP && isAMD
Some drivers return 0 when MAX_VERTEX_ATTRIB_STRIED queried
emulate_primitive_restart_fixed_index (OpenGL workarounds) anglebug:3997: Disabled: functions->standard == STANDARD_GL_DESKTOP && functions->isAtLeastGL(gl::Version(3, 1)) && !functions->isAtLeastGL(gl::Version(4, 3))
When GL_PRIMITIVE_RESTART_FIXED_INDEX is not available, emulate it with GL_PRIMITIVE_RESTART and glPrimitiveRestartIndex.
finish_does_not_cause_queries_to_be_available (OpenGL workarounds): Disabled: functions->standard == STANDARD_GL_DESKTOP && isNvidia
glFinish doesn't cause all queries to report available result
flush_before_delete_texture_if_copied_to (OpenGL workarounds) anglebug:4267: Disabled: IsApple() && isIntel
Some drivers track CopyTex{Sub}Image texture dependencies incorrectly. Flush before glDeleteTextures in this case
initialize_current_vertex_attributes (OpenGL workarounds): Disabled: isNvidia
During initialization, assign the current vertex attributes to the spec-mandated defaults
max_3d_array_texture_size_1024 (OpenGL workarounds) 927470: Disabled: limitMaxTextureSize
Limit max 3d texture size and max array texture layers to 1024 to avoid system hang
max_msaa_sample_count_4 (OpenGL workarounds) 797243: Disabled: IsAndroid() || (IsApple() && (isIntel || isAMD || isNvidia))
Various rendering bugs have been observed when using higher MSAA counts
max_texture_size_limit_4096 (OpenGL workarounds) 927470: Disabled: IsAndroid() || limitMaxTextureSize
Limit max texture size to 4096 to avoid frequent out-of-memory errors
pack_last_row_separately_for_padding_inclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia
When uploading textures from an pack buffer, some drivers count an extra row padding
pack_overlapping_rows_separately_pack_buffer (OpenGL workarounds): Disabled: isNvidia
In the case of packing to a pixel pack buffer, pack overlapping rows row by row
pre_add_texel_fetch_offsets (OpenGL workarounds) 642605: Disabled: IsApple() && isIntel
Intel Mac drivers mistakenly consider the parameter position of nagative vaule as invalid even if the sum of position and offset is in range, so we need to add workarounds by rewriting texelFetchOffset(sampler, position, lod, offset) into texelFetch(sampler, position + offset, lod).
query_counter_bits_generates_errors (OpenGL workarounds) anglebug:3027: Disabled: IsNexus5X(vendor, device)
Drivers generate errors when querying the number of bits in timer queries
read_pixels_using_implementation_color_read_format (OpenGL workarounds) anglebug:4214: Disabled: functions->standard == STANDARD_GL_ES && functions->isAtLeastGLES(gl::Version(3, 1)) && functions->hasGLESExtension("GL_EXT_texture_norm16")
Quite some OpenGL ES drivers don't implement readPixels for RGBA/UNSIGNED_SHORT from EXT_texture_norm16 correctly
reapply_ubo_bindings_after_using_binary_program (OpenGL workarounds) anglebug:1637: Disabled: isAMD || IsAndroid()
Some drivers forget about UBO bindings when using program binaries
regenerate_struct_names (OpenGL workarounds) 403957: Disabled: IsApple()
All Mac drivers do not handle struct scopes correctly. This workaround overwrites a structname with a unique prefix.
remove_dynamic_indexing_of_swizzled_vector (OpenGL workarounds) 709351: Disabled: IsApple() || IsAndroid() || IsWindows()
Dynamic indexing of swizzled l-values doesn't work correctly on various platforms.
remove_invarient_and_centroid_for_essl3 (OpenGL workarounds): Disabled: functions->isAtMostGL(gl::Version(4, 1)) || (functions->standard == STANDARD_GL_DESKTOP && isAMD)
Fix spec difference between GLSL 4.1 or lower and ESSL3
reset_teximage2d_base_level (OpenGL workarounds) 705865: Disabled: IsApple() && isIntel && GetMacOSVersion() >= OSVersion(10, 12, 4)
Reset texture base level before calling glTexImage2D to work around pixel comparison failure.
reset_texture_generates_errors (OpenGL workarounds) anglebug:3859: Disabled: IsApple() || (IsWindows() && isAMD)
Calling glTexImage2D with zero size generates errors.
rewrite_float_unary_minus_operator (OpenGL workarounds) 308366: Disabled: IsApple() && isIntel && GetMacOSVersion() < OSVersion(10, 12, 0)
Using '-<float>' will get wrong answer
rewrite_repeated_assign_to_swizzled (OpenGL workarounds): Disabled: isNvidia
Repeated assignment to swizzled values inside a GLSL user-defined function have incorrect results
rewrite_row_major_matrices (OpenGL workarounds) anglebug:2273: Disabled: false
Rewrite row major matrices in shaders as column major as a driver bug workaround
rewrite_vector_scalar_arithmetic (OpenGL workarounds) 772651: Disabled: isNvidia
Certain types of GLSL arithmetic ops mixing vectors and scalars may be executed incorrectly
rgb_dxt1_textures_sample_zero_alpha (OpenGL workarounds) anglebug:3729: Disabled: IsApple()
Sampling BLACK texels from RGB DXT1 textures returns transparent black on Mac.
rgba4_is_not_supported_for_color_rendering (OpenGL workarounds): Enabled: functions->standard == STANDARD_GL_DESKTOP && isIntel
GL_RGBA4 is not color renderable
set_primitive_restart_fixed_index_for_draw_arrays (OpenGL workarounds) anglebug:3997: Disabled: features->emulatePrimitiveRestartFixedIndex.enabled && IsApple() && isIntel
Some drivers discard vertex data in DrawArrays calls when the fixed primitive restart index is within the number of primitives being drawn.
unfold_short_circuits (OpenGL workarounds) anglebug:482: Disabled: IsApple()
Mac incorrectly executes both sides of && and || expressions when they should short-circuit.
unpack_last_row_separately_for_padding_inclusion (OpenGL workarounds) anglebug:1512: Disabled: IsApple() || isNvidia
When uploading textures from an unpack buffer, some drivers count an extra row padding
unpack_overlapping_rows_separately_unpack_buffer (OpenGL workarounds): Disabled: isNvidia
In the case of unpacking from a pixel unpack buffer, unpack overlapping rows row by row
unsized_srgb_read_pixels_doesnt_transform (OpenGL workarounds) 565179: Disabled: IsAndroid() && isQualcomm
Drivers returning raw sRGB values instead of linearized values when calling glReadPixels on unsized sRGB texture formats
use_unused_blocks_with_standard_or_shared_layout (OpenGL workarounds): Disabled: (IsApple() && functions->standard == STANDARD_GL_DESKTOP) || (IsLinux() && isAMD)
Unused std140 or shared uniform blocks will be treated as inactive
vertex_id_does_not_include_base_vertex (OpenGL workarounds): Disabled: IsApple() && isAMD
gl_VertexID in GLSL vertex shader doesn't include base vertex value
Version Information
Data exported	2020-07-07T14:20:40.643Z
Chrome version	Chrome/85.0.4173.0
Operating system	Linux 5.4.0-40-generic
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/b686e01ff9836e7713952e8956d76cff8d9fa19b/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/b686e01ff9836e7713952e8956d76cff8d9fa19b/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	unknown hash
2D graphics backend	Skia/85 ca72a47e2322e13f68416bbaf5ae98506369c4b8
Command Line	/usr/lib/chromium-browser/chromium-browser --enable-pinch --flag-switches-begin --disable-features=TabHoverCards --flag-switches-end --file-url-path-alias=/gen=/usr/lib/chromium-browser/gen
Driver Information
Initialization time	94
In-process GPU	false
Passthrough Command Decoder	true
Sandboxed	false
GPU0	VENDOR= 0x8086 [Google Inc.], DEVICE=0x5916 [ANGLE (Intel, Mesa Intel(R) HD Graphics 620 (KBL GT2), OpenGL 4.6 core)] *ACTIVE*
Optimus	false
AMD switchable	false
Driver vendor	ANGLE
Driver version	2.1.0.unknown
GPU CUDA compute capability major version	0
Pixel shader version	1.00
Vertex shader version	1.00
Max. MSAA samples	16
Machine model name	
Machine model version	
GL_VENDOR	Google Inc.
GL_RENDERER	ANGLE (Intel, Mesa Intel(R) HD Graphics 620 (KBL GT2), OpenGL 4.6 core)
GL_VERSION	OpenGL ES 2.0.0 (ANGLE 2.1.0.unknown hash)
GL_EXTENSIONS	GL_ANGLE_base_vertex_base_instance GL_ANGLE_client_arrays GL_ANGLE_depth_texture GL_ANGLE_explicit_context GL_ANGLE_explicit_context_gles1 GL_ANGLE_framebuffer_blit GL_ANGLE_framebuffer_multisample GL_ANGLE_instanced_arrays GL_ANGLE_memory_size GL_ANGLE_multi_draw GL_ANGLE_multiview_multisample GL_ANGLE_program_cache_control GL_ANGLE_provoking_vertex GL_ANGLE_request_extension GL_ANGLE_robust_client_memory GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ANGLE_texture_external_update GL_ANGLE_texture_rectangle GL_ANGLE_translated_shader_source GL_APPLE_clip_distance GL_ARB_sync GL_CHROMIUM_bind_generates_resource GL_CHROMIUM_bind_uniform_location GL_CHROMIUM_color_buffer_float_rgb GL_CHROMIUM_color_buffer_float_rgba GL_CHROMIUM_copy_texture GL_CHROMIUM_lose_context GL_CHROMIUM_sync_query GL_EXT_blend_minmax GL_EXT_color_buffer_half_float GL_EXT_debug_marker GL_EXT_discard_framebuffer GL_EXT_disjoint_timer_query GL_EXT_draw_buffers GL_EXT_draw_elements_base_vertex GL_EXT_float_blend GL_EXT_frag_depth GL_EXT_gpu_shader5 GL_EXT_instanced_arrays GL_EXT_map_buffer_range GL_EXT_multisample_compatibility GL_EXT_occlusion_query_boolean GL_EXT_read_format_bgra GL_EXT_robustness GL_EXT_sRGB GL_EXT_sRGB_write_control GL_EXT_shader_texture_lod GL_EXT_texture_compression_bptc GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc_srgb GL_EXT_texture_cube_map_array GL_EXT_texture_filter_anisotropic GL_EXT_texture_format_BGRA8888 GL_EXT_texture_rg GL_EXT_texture_sRGB_decode GL_EXT_texture_storage GL_EXT_unpack_subimage GL_KHR_debug GL_KHR_parallel_shader_compile GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_NV_depth_buffer_float2 GL_NV_fence GL_NV_pack_subimage GL_NV_pixel_buffer_object GL_NV_read_depth GL_NV_read_stencil GL_NV_shader_noperspective_interpolation GL_OES_compressed_EAC_R11_signed_texture GL_OES_compressed_EAC_R11_unsigned_texture GL_OES_compressed_EAC_RG11_signed_texture GL_OES_compressed_EAC_RG11_unsigned_texture GL_OES_compressed_ETC1_RGB8_texture GL_OES_compressed_ETC2_RGB8_texture GL_OES_compressed_ETC2_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_RGBA8_texture GL_OES_compressed_ETC2_punchthroughA_sRGB8_alpha_texture GL_OES_compressed_ETC2_sRGB8_alpha8_texture GL_OES_compressed_ETC2_sRGB8_texture GL_OES_depth24 GL_OES_depth32 GL_OES_depth_texture GL_OES_draw_elements_base_vertex GL_OES_element_index_uint GL_OES_fbo_render_mipmap GL_OES_get_program_binary GL_OES_mapbuffer GL_OES_packed_depth_stencil GL_OES_rgb8_rgba8 GL_OES_standard_derivatives GL_OES_surfaceless_context GL_OES_texture_3D GL_OES_texture_border_clamp GL_OES_texture_cube_map_array GL_OES_texture_float GL_OES_texture_float_linear GL_OES_texture_half_float GL_OES_texture_half_float_linear GL_OES_texture_npot GL_OES_vertex_array_object GL_WEBGL_video_texture
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent
Disabled WebGL Extensions	
Window system binding vendor	
Window system binding version	1.5 (ANGLE 2.1.0.unknown hash)
Window system binding extensions	EGL_EXT_create_context_robustness EGL_KHR_create_context EGL_KHR_get_all_proc_addresses EGL_ANGLE_create_context_webgl_compatibility EGL_CHROMIUM_create_context_bind_generates_resource EGL_CHROMIUM_sync_control EGL_ANGLE_sync_control_rate EGL_EXT_pixel_format_float EGL_KHR_surfaceless_context EGL_ANGLE_display_texture_share_group EGL_ANGLE_create_context_client_arrays EGL_ANGLE_program_cache_control EGL_ANGLE_robust_resource_initialization EGL_ANGLE_create_context_extensions_enabled EGL_ANDROID_blob_cache EGL_ANDROID_recordable EGL_ANGLE_create_context_backwards_compatible EGL_KHR_create_context_no_error EGL_NOK_texture_from_pixmap
Window manager	GNOME Shell
XDG_CURRENT_DESKTOP	GNOME
GDMSESSION	gnome-xorg
Compositing manager	Yes
System visual ID	0
RGBA visual ID	0
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[2785062953156674] bounds=[0,0 1920x1080], workarea=[0,28 1920x1052], scale=1, rotation=0, panel_rotation=0 external.
Color space (all)	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (all)	BGRA_8888
SDR white level in nits	100
Bits per color component	8
Bits per pixel	24
Refresh Rate in Hz	47
Video Acceleration Information
Vulkan Information
Device Performance Information
Log Messages
[33227:33227:0707/222029.090518:WARNING:vaapi_wrapper.cc(522)] : VAAPI video acceleration not available for angle
[33227:33227:0707/222029.092960:ERROR:sandbox_linux.cc(374)] : InitializeSandbox() called with multiple threads in process gpu-process.

The gl drive is ANGLE and VA-API disabled

Then, I run chromium with this command=line

chromium-browser --use-gl=desktop

Then, chrome://gpu says using Intel MESA driver, but something is wrong


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
Out-of-process Rasterization: Disabled
OpenGL: Enabled
Hardware Protected Video Decode: Unavailable
Rasterization: Software only. Hardware acceleration disabled
Skia Renderer: Enabled
Video Decode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
clear_uniforms_before_first_program_use
count_all_in_varyings_packing
disable_post_sub_buffers_for_onscreen_surfaces
exit_on_context_lost
msaa_is_slow
rely_on_implicit_sync_for_swap_buffers
scalarize_vec_and_mat_constructor_args
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_extension_GL_MESA_framebuffer_flip_y
Problems Detected
Protected video decoding with swap chain is for certain Intel and AMD GPUs on Windows: 1093625
Disabled Features: protected_video_decode
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mesa drivers in Linux handle varyings without static use incorrectly: 333885
Applied Workarounds: count_all_in_varyings_packing
Disable partial swaps on Mesa drivers (detected with GL_RENDERER): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
adjust src/dst region if blitting pixels outside framebuffer on Linux Intel: 664740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
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)
Some drivers can't recover after OUT_OF_MEM and context lost: 893177
Applied Workarounds: exit_on_context_lost
Avoid waiting on a egl fence before swapping buffers and rely on implicit sync on Intel GPUs: 938286
Applied Workarounds: rely_on_implicit_sync_for_swap_buffers
Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010
Applied Workarounds: disable(GL_MESA_framebuffer_flip_y)
Version Information
Data exported	2020-07-07T14:25:20.827Z
Chrome version	Chrome/85.0.4173.0
Operating system	Linux 5.4.0-40-generic
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/b686e01ff9836e7713952e8956d76cff8d9fa19b/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/b686e01ff9836e7713952e8956d76cff8d9fa19b/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	unknown hash
2D graphics backend	Skia/85 ca72a47e2322e13f68416bbaf5ae98506369c4b8
Command Line	/usr/lib/chromium-browser/chromium-browser --enable-pinch --use-gl=desktop --flag-switches-begin --disable-features=TabHoverCards --flag-switches-end --file-url-path-alias=/gen=/usr/lib/chromium-browser/gen
Driver Information
Initialization time	106
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR= 0x8086 [Intel], DEVICE=0x5916 [Mesa Intel(R) HD Graphics 620 (KBL GT2)] *ACTIVE*
Optimus	false
AMD switchable	false
Driver vendor	Mesa
Driver version	20.0.8
GPU CUDA compute capability major version	0
Pixel shader version	4.60
Vertex shader version	4.60
Max. MSAA samples	16
Machine model name	
Machine model version	
GL_VENDOR	Intel
GL_RENDERER	Mesa Intel(R) HD Graphics 620 (KBL GT2)
GL_VERSION	4.6 (Core Profile) Mesa 20.0.8
GL_EXTENSIONS	GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control 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_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_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB 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_gpu_shader_int64 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_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object 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_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_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock 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_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge 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_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_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_texture_float GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_demote_to_helper_invocation GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_multimode_draw_arrays GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_INTEL_shader_atomic_float_minmax GL_INTEL_shader_integer_functions2 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_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fragment_shader_interlock GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y
Disabled WebGL Extensions	
Window system binding vendor	SGI
Window system binding version	1.4
Window system binding extensions	GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
Window manager	GNOME Shell
XDG_CURRENT_DESKTOP	GNOME
GDMSESSION	gnome-xorg
Compositing manager	Yes
System visual ID	33
RGBA visual ID	1491
Direct rendering version	DRI3
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[2785062953156674] bounds=[0,0 1920x1080], workarea=[0,28 1920x1052], scale=1, rotation=0, panel_rotation=0 external.
Color space (all)	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (all)	BGRA_8888
SDR white level in nits	100
Bits per color component	8
Bits per pixel	24
Refresh Rate in Hz	47
Video Acceleration Information
Decode h264 baseline	16x16 to 4096x4096 pixels
Decode h264 main	16x16 to 4096x4096 pixels
Decode h264 high	16x16 to 4096x4096 pixels
Decode vp8	16x16 to 4096x4096 pixels
Decode vp9 profile0	16x16 to 4096x4096 pixels
Decode vp9 profile2	16x16 to 4096x4096 pixels
Encode h264 baseline	321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode h264 main	321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode h264 high	321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode vp8	321x241 to 4096x4096 pixels, and/or 30.000 fps
Vulkan Information
Device Performance Information
Log Messages
[33840:33840:0707/222516.912684:ERROR:sandbox_linux.cc(374)] : InitializeSandbox() called with multiple threads in process gpu-process.

It says Protected video decoding with swap chain is for certain Intel and AMD GPUs on Windows
It seems chromium thinks I am running Windows, how is this possible.
At the same time, this may be the reason why the ANGLE gl driver is used by default?

At the same time, even if I use the --use-gl=desktop, the VA-API does not work.

@saiarcot895
Copy link
Owner

saiarcot895 commented Jul 7, 2020

That message doesn't mean Chromium thinks you're running on Windows; that message means that hardware decoding for protected (DRM) video is restricted to some Intel and and GPUs on Windows only. See also #73 for a related discussion of DRM video hardware decoding.

The change to using ANGLE by default was a recent change in Chromium. I'm planning on reverting that change.

If you use --use-gl=desktop, and try to start playing a video, what do you see on the command line?

@zuishikonghuan
Copy link
Author

Thank you very mush for replying.

When I use --use-gl=desktop and play https://www.w3.org/2010/05/video/mediaevents.html

chromium-browser --use-gl=desktop
[39421:39421:0707/233030.394486:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[39421:39649:0707/233042.700434:ERROR:vaapi_wrapper.cc(2595)] vaEndPicture failed, VA error: invalid parameter
[39421:39649:0707/233042.700522:ERROR:vaapi_video_decoder.cc(257)] Error decoding stream
[39424:39429:0707/233047.748582:ERROR:ssl_client_socket_impl.cc(959)] handshake failed; returned -1, SSL error code 1, net_error -100

And I have tested with LIBVA_DRIVER_NAME=i965

$ LIBVA_DRIVER_NAME=i965 vainfo 
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointEncSlice
      VAProfileVP9Profile2            :	VAEntrypointVLD

$ LIBVA_DRIVER_NAME=i965 chromium-browser --use-gl=desktop
[40143:40143:0707/233314.219331:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[40143:40143:0707/233316.514425:ERROR:shared_image_manager.cc(214)] SharedImageManager::ProduceSkia: Trying to Produce a Skia representation from a non-existent mailbox.
[40143:40143:0707/233330.274691:ERROR:shared_image_representation.cc(153)] Attempt to read from an uninitialized SharedImage

Seems no VA-API errors reported, but video is damaged (always first frame)

图片

@saiarcot895
Copy link
Owner

If you start playing from the beginning again, does it get fixed? I've seen this happening as well, but without any hardware acceleration involved.

@saiarcot895
Copy link
Owner

The output that you're getting with the iHD driver is similar to #83.

@zuishikonghuan
Copy link
Author

If you start playing from the beginning again, does it get fixed? I've seen this happening as well, but without any hardware acceleration involved.

When I use iHD driver, video will not be damaged although there is no hardware acceleration.
When I use i965 driver, video will be damaged. If I start playing from the beginning again, it will not be fixed. There is even a shadow of the "loading circle" rendered before playback.

The output that you're getting with the iHD driver is similar to #83.

I already know that ANGLE is not a bug, the VA-API problem should be repeated.
Maybe we should close this issue.

@saiarcot895
Copy link
Owner

If you use LIBVA_DRIVER_NAME=i965 chromium-browser --enable-logging=stderr --loglevel=0 --use-gl=desktop, do you see a bunch of Skia shader compilation error messages on the command prompt output?

@zuishikonghuan
Copy link
Author

I'm really sorry, I was late. Because I suddenly encountered a problem from the real world today.

Not sure if you still need my information, but I put it here, maybe it is useful.

Thank you very much for your works!

If you use LIBVA_DRIVER_NAME=i965 chromium-browser --enable-logging=stderr --loglevel=0 --use-gl=desktop, do you see a bunch of Skia shader compilation error messages on the command prompt output?

No, there is not any Skia shader error

LIBVA_DRIVER_NAME=i965 chromium-browser --enable-logging=stderr --loglevel=0 --use-gl=desktop
[16372:16372:0708/234329.357408:WARNING:account_consistency_mode_manager.cc(196)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured.
[16405:16405:0708/234329.419376:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[16372:16372:0708/234356.622723:INFO:CONSOLE(0)] "ResizeObserver loop limit exceeded", source: https://www.w3.org/2010/05/video/mediaevents.html (0)
[16372:16372:0708/234401.296063:INFO:CONSOLE(0)] "ResizeObserver loop limit exceeded", source: https://www.w3.org/2010/05/video/mediaevents.html (0)

And a damaged video playback:

图片

BTW, I have tested the commands from another issue:

LIBVA_DRIVER_NAME=i965 LIBVA_MESSAGING_LEVEL=2 chromium-browser --enable-logging=stderr --log-level=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4 --use-gl=desktop
[17178:17178:0708/234749.362876:WARNING:account_consistency_mode_manager.cc(196)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
[17213:17213:0708/234749.417841:VERBOSE1:vaapi_wrapper.cc(562)] VAAPI version: 1.7 Intel i965 driver for Intel(R) Kaby Lake - 2.4.0
[17213:17213:0708/234749.417938:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17213:17213:0708/234749.417968:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17213:17213:0708/234749.418011:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17213:17213:0708/234749.418037:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17213:17213:0708/234749.418063:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17213:17213:0708/234749.418099:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 1 for attribute type 0
[17213:17213:0708/234749.418141:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 1 for attribute type 0
[17213:17213:0708/234749.431435:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
[17213:17213:0708/234749.432870:VERBOSE1:vaapi_wrapper.cc(562)] VAAPI version: 1.7 Intel i965 driver for Intel(R) Kaby Lake - 2.4.0
[17213:17213:0708/234800.627458:WARNING:xproto_util.cc(50)] X error received: serial 1764, error_code 170 (GLXBadWindow), request_code 152, minor_code 32 (X_GLXDestroyWindow)
[17213:17213:0708/234800.627556:WARNING:xproto_util.cc(50)] X error received: serial 1768, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
[17213:17213:0708/234800.628050:WARNING:xproto_util.cc(50)] X error received: serial 1769, error_code 170 (GLXBadWindow), request_code 152, minor_code 32 (X_GLXDestroyWindow)
[17213:17213:0708/234800.628156:WARNING:xproto_util.cc(50)] X error received: serial 1773, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)
[17213:17213:0708/234800.628482:WARNING:xproto_util.cc(50)] X error received: serial 1774, error_code 170 (GLXBadWindow), request_code 152, minor_code 32 (X_GLXDestroyWindow)
[17213:17213:0708/234800.628547:WARNING:xproto_util.cc(50)] X error received: serial 1778, error_code 3 (BadWindow (invalid Window parameter)), request_code 4, minor_code 0 (X_DestroyWindow)


LIBVA_MESSAGING_LEVEL=2 chromium-browser --enable-logging=stderr --log-level=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4 --use-gl=desktop
[17670:17670:0708/234924.373072:WARNING:account_consistency_mode_manager.cc(196)] Desktop Identity Consistency cannot be enabled as no OAuth client ID and client secret have been configured.
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
[17703:17703:0708/234924.449993:VERBOSE1:vaapi_wrapper.cc(562)] VAAPI version: 1.7 Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
[17703:17703:0708/234924.450114:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17703:17703:0708/234924.450146:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17703:17703:0708/234924.450182:VERBOSE1:vaapi_wrapper.cc(949)] Unsupported value 2 for attribute type 5
[17703:17703:0708/234924.467817:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
[17703:17703:0708/234924.469214:VERBOSE1:vaapi_wrapper.cc(562)] VAAPI version: 1.7 Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
[17670:17670:0708/234929.135349:WARNING:CONSOLE(470)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.yyhByYeMTAc.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/am=AAY/rs=AHpOoo-O470EQdZ-4tpWpppyTQmeOEUv-g/cb=gapi.loaded_0 (470)
[17670:17670:0708/234929.135440:WARNING:CONSOLE(470)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.yyhByYeMTAc.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/am=AAY/rs=AHpOoo-O470EQdZ-4tpWpppyTQmeOEUv-g/cb=gapi.loaded_0 (470)
[17670:17670:0708/234929.135555:WARNING:CONSOLE(470)] "chrome.loadTimes() is deprecated, instead use standardized API: nextHopProtocol in Navigation Timing 2. https://www.chromestatus.com/features/5637885046816768.", source: https://apis.google.com/_/scs/abc-static/_/js/k=gapi.gapi.en.yyhByYeMTAc.O/m=gapi_iframes,googleapis_client,plusone/rt=j/sv=1/d=1/ed=1/am=AAY/rs=AHpOoo-O470EQdZ-4tpWpppyTQmeOEUv-g/cb=gapi.loaded_0 (470)
[17703:17871:0708/234933.269872:ERROR:vaapi_wrapper.cc(2595)] vaEndPicture failed, VA error: invalid parameter
[17703:17871:0708/234933.269965:ERROR:vaapi_video_decoder.cc(257)] Error decoding stream

@JurgenWolf
Copy link

JurgenWolf commented Aug 5, 2020

I can confirm: HW VA-API decode doesn't work with my GeForce and this new ANGLE driver on 85 Beta (Eoan).
1080p - almost slideshow on my old CPU (in software mode).

Reverted to 83 Beta (Focal) - the only one solution, as I see...

@saiarcot895
Copy link
Owner

The ANGLE gl driver is a bug; it's not supposed to be using that.

@ronjouch
Copy link

ronjouch commented Aug 5, 2020

I confirm I get no VAAPI hardware video acceleration (intel-gpu-top reports 0.00% on Video/0) on 85, and 86.0.4214.2-0ubuntu1~ppa3~20.04.1, regardless of passing LIBVA_DRIVER_NAME=iHD or LIBVA_DRIVER_NAME=i965.

Acceleration worked great in 83.

I'm unfamiliar about a few of the things discussed in this thread.

  • Is the issue in the packaging or in Chromium? If in Chromium, is there a Chromium bug?
  • Is staying on 83 the only option for now?
Logs for LIBVA_MESSAGING_LEVEL=2 LIBVA_DRIVER_NAME=i965 GOOGLE_API_KEY="no" GOOGLE_DEFAULT_CLIENT_ID="no" GOOGLE_DEFAULT_CLIENT_SECRET="no" chromium --enable-logging=stderr --log-level=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4 --ignore-gpu-blocklist
[351632:351632:0805/102828.077836:WARNING:vaapi_wrapper.cc(493)] VAAPI video acceleration not available for angle
[351632:351632:0805/102828.079864:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
Logs with added --use-gl=desktop and LIBVA_DRIVER_NAME=i965
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
[353093:353093:0805/103151.669032:VERBOSE1:vaapi_wrapper.cc(533)] VAAPI version: 1.7 Intel i965 driver for Intel(R)Kaby Lake - 2.4.0
[353093:353093:0805/103151.669221:VERBOSE1:vaapi_wrapper.cc(728)] Unsupported value 2 for attribute type 5
[353093:353093:0805/103151.669308:VERBOSE1:vaapi_wrapper.cc(728)] Unsupported value 2 for attribute type 5
[353093:353093:0805/103151.669387:VERBOSE1:vaapi_wrapper.cc(728)] Unsupported value 2 for attribute type 5
[353093:353093:0805/103151.686122:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
[353093:353093:0805/103151.688003:VERBOSE1:vaapi_wrapper.cc(533)] VAAPI version: 1.7 Intel i965 driver for Intel(R)Kaby Lake - 2.4.0
[353209:14:0805/103152.289162:WARNING:codec.cc(472)] Explicitly added H264 constrained baseline to list of supported formats.
Logs with added --use-gl=desktop and LIBVA_DRIVER_NAME=iHD


libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
[353738:353738:0805/103301.208015:VERBOSE1:vaapi_wrapper.cc(533)] VAAPI version: 1.7 Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
[353738:353738:0805/103301.208299:VERBOSE1:vaapi_wrapper.cc(728)] Unsupported value 2 for attribute type 5
[353738:353738:0805/103301.208351:VERBOSE1:vaapi_wrapper.cc(728)] Unsupported value 2 for attribute type 5
[353738:353738:0805/103301.208444:VERBOSE1:vaapi_wrapper.cc(728)] Unsupported value 2 for attribute type 5
[353738:353738:0805/103301.225164:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
[353738:353738:0805/103301.227047:VERBOSE1:vaapi_wrapper.cc(533)] VAAPI version: 1.7 Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()

Thanks for the help everyone, thanks for the packaging Saikrishna.

@saiarcot895
Copy link
Owner

Nothing in the packaging itself should be causing this bug. I suspect it's in Chromium or in the libva libraries on 20.04; I don't know which yet.

@JurgenWolf
Copy link

According to log: VAAPI video acceleration not available for angle
It is ANGLE issue. This driver doesn't support VA-API at all.

@saiarcot895
Copy link
Owner

Technically, it shouldn't be even using the ANGLE backend. I haven't figured out entirely why it's choosing to use that backend.

@ronjouch
Copy link

Confirming the problem is still reproducible in 86.0.4221.3-0ubuntu1~ppa1~20.04.1

@saiarcot895
Copy link
Owner

That version shouldn't be using ANGLE by default anymore. Can you paste the console logs that you get when running with chromium-browser --enable-logging=stderr --loglevel=0?

@ronjouch
Copy link

ronjouch commented Aug 13, 2020

That version shouldn't be using ANGLE by default anymore. Can you paste the console logs that you get when running with chromium-browser --enable-logging=stderr --loglevel=0?

@saiarcot895 indeed, I confirm the ANGLE warning is gone. Still, I confirm video hardware accel no longer works. The regression window is earlier than 86, somewhere in 84 or 85. I remember for sure seeing 85 broken, I'm not sure about 84. Can bisect more with old builds if that helps, tell me if it does.

Full output of sudo env LIBVA_DRIVER_NAME=i965 vainfo
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Simple            : VAEntrypointEncSlice
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSlice
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSlice
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      : VAEntrypointVLD
      VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
      VAProfileH264StereoHigh         : VAEntrypointVLD
      VAProfileH264StereoHigh         : VAEntrypointEncSlice
      VAProfileVC1Simple              : VAEntrypointVLD
      VAProfileVC1Main                : VAEntrypointVLD
      VAProfileVC1Advanced            : VAEntrypointVLD
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileVP8Version0_3          : VAEntrypointEncSlice
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointEncSlice
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointEncSlice
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointEncSlice
      VAProfileVP9Profile2            : VAEntrypointVLD
Full output of sudo env LIBVA_DRIVER_NAME=iHD vainfo
error: XDG_RUNTIME_DIR not set in the environment.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileHEVCMain10             : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileVP9Profile2            : VAEntrypointVLD

Chrome 83.0.4103.44-0ubuntu1-ppa1-20.04.1

On 83, sudo intel_gpu_top shows activity on line Video/0, and chrome://media-internals shows MojoVideoDecoder being used.

Logs for env LIBVA_DRIVER_NAME=i965 GOOGLE_API_KEY="no" GOOGLE_DEFAULT_CLIENT_ID="no" GOOGLE_DEFAULT_CLIENT_SECRET="no" chromium --incognito --ignore-gpu-blocklist --enable-logging=stderr --loglevel=0 'https://www.youtube.com/watch?v=o9pEzgHorH0' . See that we have a Initializing VAAPI VDA log.
[340343:340351:0813/092748.740979:WARNING:transport_security_persister.cc(307)] Could not parse entry expect_ct; skipping entry
[340343:340351:0813/092748.741007:WARNING:transport_security_persister.cc(307)] Could not parse entry sts; skippingentry
[340343:340351:0813/092748.741017:WARNING:transport_security_persister.cc(307)] Could not parse entry version; skipping entry
[340341:340341:0813/092748.769545:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
[340341:340341:0813/092750.018247:WARNING:gpu_video_decode_accelerator_factory.cc(249)] Initializing VAAPI VDA.
Fontconfig error: Cannot load default config file
Output of chrome://media-internals, section "Player properties". See that kVideoDecoderName | "MojoVideoDecoder"
Property Value
audio_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
dimensions "640x480"
duration 1648.981
event "kPlay"
info "video decoder config changed midstream, new config: codec: vp9, profile: vp9 profile0, level: not available, alpha_mode: is_opaque, coded size: [640,480], visible rect: [0,0,640,480], natural size: [640,480], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
kAudioDecoderName "FFmpegAudioDecoder"
kAudioTracks [{"bytes per channel":4,"bytes per frame":8,"channel layout":"STEREO","channels":2,"codec":"opus","codec delay":312,"discard decoder delay":true,"encryption scheme":"Unencrypted","has extra data":true,"profile":"unknown","sample format":"Float 32-bit","samples per second":48000,"seek preroll":"80000us"}]
kFrameTitle ""
kFrameUrl "https://www.youtube.com/watch?v=o9pEzgHorH0"
kIsAudioDecryptingDemuxerStream false
kIsPlatformAudioDecoder false
kIsPlatformVideoDecoder true
kIsVideoDecryptingDemuxerStream false
kResolution "640x480"
kVideoDecoderName "MojoVideoDecoder"
kVideoTracks [{"alpha mode":"is_opaque","codec":"vp9","coded size":"480x360","color space":"{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}","encryption scheme":"Unencrypted","has extra data":false,"hdr metadata":"unset","natural size":"480x360","orientation":"0°","profile":"vp9 profile0","visible rect":"0,0 480x360"}]
origin_url "https://www.youtube.com/"
pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"}
pipeline_state "kPlaying"
player_id 30
render_id 10
url "blob:https://www.youtube.com/588a0fe3-280a-4764-95ed-da19183493ec"
video_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
Output of chrome://media-internals, section "Log". See that kVideoDecoderName | "MojoVideoDecoder", and info | "Selected MojoVideoDecoder for video decoding
Timestamp Property Value
00:00:00.000 origin_url "https://www.youtube.com/"
00:00:00.000 kFrameUrl "https://www.youtube.com/watch?v=o9pEzgHorH0"
00:00:00.000 kFrameTitle ""
00:00:00.000 url "blob:https://www.youtube.com/588a0fe3-280a-4764-95ed-da19183493ec"
00:00:00.000 info "ChunkDemuxer"
00:00:00.010 pipeline_state "kStarting"
00:00:00.121 kVideoTracks [{"alpha mode":"is_opaque","codec":"vp9","coded size":"480x360","color space":"{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}","encryption scheme":"Unencrypted","has extra data":false,"hdr metadata":"unset","natural size":"480x360","orientation":"0°","profile":"vp9 profile0","visible rect":"0,0 480x360"}]
00:00:00.122 kAudioTracks [{"bytes per channel":4,"bytes per frame":8,"channel layout":"STEREO","channels":2,"codec":"opus","codec delay":312,"discard decoder delay":true,"encryption scheme":"Unencrypted","has extra data":true,"profile":"unknown","sample format":"Float 32-bit","samples per second":48000,"seek preroll":"80000us"}]
00:00:00.197 kIsAudioDecryptingDemuxerStream false
00:00:00.197 kAudioDecoderName "FFmpegAudioDecoder"
00:00:00.197 kIsPlatformAudioDecoder false
00:00:00.197 info "Selected FFmpegAudioDecoder for audio decoding, config: codec: opus, profile: unknown, bytes_per_channel: 4, channel_layout: STEREO, channels: 2, samples_per_second: 48000, sample_format: Float 32-bit, bytes_per_frame: 8, seek_preroll: 80000us, codec_delay: 312, has extra data: true, encryption scheme: Unencrypted, discard decoder delay: true"
00:00:00.199 kIsVideoDecryptingDemuxerStream false
00:00:00.199 kVideoDecoderName "MojoVideoDecoder"
00:00:00.199 kIsPlatformVideoDecoder true
00:00:00.199 info "Selected MojoVideoDecoder for video decoding, config: codec: vp9, profile: vp9 profile0, level: not available, alpha_mode: is_opaque, coded size: [480,360], visible rect: [0,0,480,360], natural size: [480,360], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
00:00:00.199 pipeline_state "kPlaying"
00:00:00.204 audio_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
00:00:00.207 dimensions "480x360"
00:00:00.207 kResolution "480x360"
00:00:00.212 video_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
00:00:00.212 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"}
00:00:00.056 duration 1648.981
00:00:05.449 info "Effective playback rate changed from 0 to 1"
00:00:05.449 event "kPlay"
00:00:15.855 info "video decoder config changed midstream, new config: codec: vp9, profile: vp9 profile0, level: not available, alpha_mode: is_opaque, coded size: [640,480], visible rect: [0,0,640,480], natural size: [640,480], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
00:00:16.601 dimensions "640x480"
00:00:16.601 kResolution "640x480"

Chrome 86.0.4221.3-0ubuntu1-ppa1-20.04.1

But for the same video, on 86, sudo intel_gpu_top / Video/0 stays at 0%, and chrome://media-internals shows VpxVideoDecoder being used.

Full logs for env LIBVA_DRIVER_NAME={i965,iHD} GOOGLE_API_KEY="no" GOOGLE_DEFAULT_CLIENT_ID="no" GOOGLE_DEFAULT_CLIENT_SECRET="no" chromium --incognito --ignore-gpu-blocklist --enable-logging=stderr --loglevel=0 'https://www.youtube.com/watch?v=o9pEzgHorH0' . I tested both i965 and iHD, logs are strictly identical. See that no more Initializing VAAPI VDA. .
[332981:332981:0813/090600.928188:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
Fontconfig error: Cannot load default config file
[332947:332947:0813/090614.125020:WARNING:pref_notifier_impl.cc(40)] Pref observer for media_router.cast_allow_all_ips found at shutdown.
Full output of chrome://gpu with LIBVA_DRIVER_NAME=i965

Graphics Feature Status
Canvas: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Out-of-process Rasterization: Disabled
OpenGL: Enabled
Hardware Protected Video Decode: Hardware accelerated
Rasterization: Software only. Hardware acceleration disabled
Skia Renderer: Enabled
Video Decode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated

Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
clear_uniforms_before_first_program_use
count_all_in_varyings_packing
disable_post_sub_buffers_for_onscreen_surfaces
exit_on_context_lost
msaa_is_slow
rely_on_implicit_sync_for_swap_buffers
scalarize_vec_and_mat_constructor_args
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_extension_GL_MESA_framebuffer_flip_y

Problems Detected
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mesa drivers in Linux handle varyings without static use incorrectly: 333885
Applied Workarounds: count_all_in_varyings_packing
Disable partial swaps on Mesa drivers (detected with GL_RENDERER): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
adjust src/dst region if blitting pixels outside framebuffer on Linux Intel: 664740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
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)
Some drivers can't recover after OUT_OF_MEM and context lost: 893177
Applied Workarounds: exit_on_context_lost
Avoid waiting on a egl fence before swapping buffers and rely on implicit sync on Intel GPUs: 938286
Applied Workarounds: rely_on_implicit_sync_for_swap_buffers
Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010
Applied Workarounds: disable(GL_MESA_framebuffer_flip_y)

Version Information
Data exported 2020-08-13T13:07:59.686Z
Chrome version Chrome/86.0.4221.3
Operating system Linux 5.8.1-050801-generic
Software rendering list URL https://chromium.googlesource.com/chromium/src/+/03757b486c1246e1596634a4e7c58171eb93053a/gpu/config/software_rendering_list.json
Driver bug list URL https://chromium.googlesource.com/chromium/src/+/03757b486c1246e1596634a4e7c58171eb93053a/gpu/config/gpu_driver_bug_list.json
ANGLE commit id unknown hash
2D graphics backend Skia/86 0633f76324ad6de4de1e36ced0054d8cf921b09b
Command Line /usr/lib/chromium-browser/chromium-browser --enable-pinch --incognito --ignore-gpu-blocklist --enable-logging=stderr --loglevel=0 --flag-switches-begin --flag-switches-end --file-url-path-alias=/gen=/usr/lib/chromium-browser/gen https://www.youtube.com/watch?v=o9pEzgHorH0

Driver Information
Initialization time 70
In-process GPU false
Passthrough Command Decoder false
Sandboxed false
GPU0 VENDOR= 0x10de, DEVICE=0x1c8d
GPU1 VENDOR= 0x8086, DEVICE=0x591b ACTIVE
Optimus true
AMD switchable false
Driver vendor Mesa
Driver version 20.0.8
GPU CUDA compute capability major version 0
Pixel shader version 4.60
Vertex shader version 4.60
Max. MSAA samples 16
Machine model name
Machine model version
GL_VENDOR Intel
GL_RENDERER Mesa Intel(R) HD Graphics 630 (KBL GT2)
GL_VERSION 4.6 (Core Profile) Mesa 20.0.8
GL_EXTENSIONS GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control 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_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_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB 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_gpu_shader_int64 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_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object 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_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_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock 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_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge 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_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_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_texture_float GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_demote_to_helper_invocation GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_multimode_draw_arrays GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_INTEL_shader_atomic_float_minmax GL_INTEL_shader_integer_functions2 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_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_depth_clamp GL_NV_fragment_shader_interlock GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc
Disabled Extensions GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y
Disabled WebGL Extensions
Window system binding vendor SGI
Window system binding version 1.4
Window system binding extensions GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
Window manager GNOME Shell
XDG_CURRENT_DESKTOP ubuntu:GNOME
GDMSESSION ubuntu
Compositing manager Yes
System visual ID 33
RGBA visual ID 1482
Direct rendering version DRI3
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[2763676107988036] bounds=[0,0 2560x1440], workarea=[0,27 2560x1413], scale=1, rotation=0, panel_rotation=0 external.
Color space (all) {primaries_d50_referred: [[0.6643, 0.3311], [0.3189, 0.6215], [0.1521, 0.0552]], transfer:IEC61966_2_1, matrix:RGB, range:FULL}
Buffer format (all) BGRA_8888
SDR white level in nits 100
Bits per color component 8
Bits per pixel 24
Refresh Rate in Hz 59

Video Acceleration Information
Decode h264 baseline 16x16 to 4096x4096 pixels
Decode h264 main 16x16 to 4096x4096 pixels
Decode h264 high 16x16 to 4096x4096 pixels
Decode vp8 16x16 to 4096x4096 pixels
Decode vp9 profile0 16x16 to 4096x4096 pixels
Encode h264 baseline 321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode h264 main 321x241 to 4096x4096 pixels, and/or 30.000 fps
Encode h264 high 321x241 to 4096x4096 pixels, and/or 30.000 fps

Vulkan Information

Device Performance Information

Log Messages
[334509:334509:0813/090754.272411:ERROR:sandbox_linux.cc(374)] : InitializeSandbox() called with multiple threads in process gpu-process.

Output of chrome://media-internals, section "Player properties". See that kVideoDecoderName | "VpxVideoDecoder" .
Property Value
audio_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
dimensions "480x360"
duration 1648.981
event "kPlay"
info "Effective playback rate changed from 0 to 1"
kAudioDecoderName "FFmpegAudioDecoder"
kAudioTracks [{"bytes per channel":4,"bytes per frame":8,"channel layout":"STEREO","channels":2,"codec":"opus","codec delay":312,"discard decoder delay":true,"encryption scheme":"Unencrypted","has extra data":true,"profile":"unknown","sample format":"Float 32-bit","samples per second":48000,"seek preroll":"80000us"}]
kFrameTitle ""
kFrameUrl "https://www.youtube.com/watch?v=o9pEzgHorH0"
kIsAudioDecryptingDemuxerStream false
kIsPlatformAudioDecoder false
kIsPlatformVideoDecoder false
kIsVideoDecryptingDemuxerStream false
kResolution "480x360"
kVideoDecoderName "VpxVideoDecoder"
kVideoTracks [{"alpha mode":"is_opaque","codec":"vp9","coded size":"480x360","color space":"{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}","encryption scheme":"Unencrypted","has extra data":false,"hdr metadata":"unset","natural size":"480x360","orientation":"0°","profile":"vp9 profile0","visible rect":"0,0 480x360"}]
origin_url "https://www.youtube.com/"
pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"}
pipeline_state "kPlaying"
player_id 30
render_id 10
url "blob:https://www.youtube.com/ae11209c-38ea-4bb1-b593-87a71e26b924"
video_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
Output of chrome://media-internals, section "Log". See that kVideoDecoderName | "VpxVideoDecoder" , and info | "Selected VpxVideoDecoder for video decoding .
Timestamp Property Value
00:00:00.000 origin_url "https://www.youtube.com/"
00:00:00.000 kFrameUrl "https://www.youtube.com/watch?v=o9pEzgHorH0"
00:00:00.000 kFrameTitle ""
00:00:00.000 url "blob:https://www.youtube.com/ae11209c-38ea-4bb1-b593-87a71e26b924"
00:00:00.000 info "ChunkDemuxer"
00:00:00.013 pipeline_state "kStarting"
00:00:00.770 kVideoTracks [{"alpha mode":"is_opaque","codec":"vp9","coded size":"480x360","color space":"{primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}","encryption scheme":"Unencrypted","has extra data":false,"hdr metadata":"unset","natural size":"480x360","orientation":"0°","profile":"vp9 profile0","visible rect":"0,0 480x360"}]
00:00:00.770 kAudioTracks [{"bytes per channel":4,"bytes per frame":8,"channel layout":"STEREO","channels":2,"codec":"opus","codec delay":312,"discard decoder delay":true,"encryption scheme":"Unencrypted","has extra data":true,"profile":"unknown","sample format":"Float 32-bit","samples per second":48000,"seek preroll":"80000us"}]
00:00:00.827 kIsAudioDecryptingDemuxerStream false
00:00:00.827 kAudioDecoderName "FFmpegAudioDecoder"
00:00:00.827 kIsPlatformAudioDecoder false
00:00:00.827 info "Selected FFmpegAudioDecoder for audio decoding, config: codec: opus, profile: unknown, bytes_per_channel: 4, channel_layout: STEREO, channels: 2, samples_per_second: 48000, sample_format: Float 32-bit, bytes_per_frame: 8, seek_preroll: 80000us, codec_delay: 312, has extra data: true, encryption scheme: Unencrypted, discard decoder delay: true"
00:00:00.827 info "Failed to initialize DecryptingVideoDecoder"
00:00:00.827 kIsVideoDecryptingDemuxerStream false
00:00:00.827 kVideoDecoderName "VpxVideoDecoder"
00:00:00.827 kIsPlatformVideoDecoder false
00:00:00.827 info "Selected VpxVideoDecoder for video decoding, config: codec: vp9, profile: vp9 profile0, level: not available, alpha_mode: is_opaque, coded size: [480,360], visible rect: [0,0,480,360], natural size: [480,360], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
00:00:00.827 pipeline_state "kPlaying"
00:00:00.839 video_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
00:00:00.840 audio_buffering_state {"state":"BUFFERING_HAVE_ENOUGH"}
00:00:00.891 dimensions "480x360"
00:00:00.891 kResolution "480x360"
00:00:00.892 pipeline_buffering_state {"for_suspended_start":false,"state":"BUFFERING_HAVE_ENOUGH"}
00:00:00.666 duration 1648.981
00:00:01.847 info "Effective playback rate changed from 0 to 1"
00:00:01.847 event "kPlay"
00:00:12.528 info "video decoder config changed midstream, new config: codec: vp9, profile: vp9 profile0, level: not available, alpha_mode: is_opaque, coded size: [640,480], visible rect: [0,0,640,480], natural size: [640,480], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
00:00:12.528 kIsVideoDecryptingDemuxerStream false
00:00:12.528 kVideoDecoderName "VpxVideoDecoder"
00:00:12.528 kIsPlatformVideoDecoder false
00:00:12.528 info "Selected VpxVideoDecoder for video decoding, config: codec: vp9, profile: vp9 profile0, level: not available, alpha_mode: is_opaque, coded size: [640,480], visible rect: [0,0,640,480], natural size: [640,480], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}"
00:00:12.772 dimensions "640x480"
00:00:12.772 kResolution "640x480"

@JurgenWolf
Copy link

So according to 86 log - looks that they dropped VA-API completely, that's why VPx decoder (via CPU).

@ronjouch
Copy link

So according to 86 log - looks that they dropped VA-API completely, that's why VPx decoder (via CPU).

@JurgenWolf link, please.

@JurgenWolf
Copy link

JurgenWolf commented Aug 14, 2020

I mean: according to YOUR provided log...

Found their https://chromium.googlesource.com/chromium/src/+/master/docs/gpu/vaapi.md

To run Chromium using VaAPI two arguments are necessary:
--ignore-gpu-blocklist
--use-gl=desktop or --use-gl=egl

Did you try 86 using these GL args?
Any changes on both?

@JurgenWolf
Copy link

The regression window is earlier than 86, somewhere in 84 or 85.

84 works ~100%.
These issues appeared since 85.

@JurgenWolf
Copy link

JurgenWolf commented Aug 14, 2020

UPD

I just tested 86 on my old GeForce:
VA-API starts (it is clearly visible in log)...
But MojoVideoDecoder doesn't work properly - and they fallback to FFmpegVideoDecoder, in Media Internals I get this warning: video fallback to new decoder after initial decode error
As outcome - only 720p playback is smooth, 1080p - NO.

@JurgenWolf
Copy link

JurgenWolf commented Aug 14, 2020

I have removed 86 (where Mojo is broken) and installed 85.0.4183.59-0ubuntu1~ppa1~20.04.1 from Beta channel.
And surprise for me - no any issues... No ANGLE driver by default, Mojo works as expected, 1080p is fine... exactly on this build... at least with NVIDIA.
So from my understanding: only the very first 85 builds were based on ANGLE by default.

p.s. I don't force --ignore-gpu-blocklist and --use-gl=desktop - the mentioned build works on my Debian out of the box.

@ronjouch
Copy link

ronjouch commented Aug 14, 2020

Found their https://chromium.googlesource.com/chromium/src/+/master/docs/gpu/vaapi.md

To run Chromium using VaAPI two arguments are necessary:
--ignore-gpu-blocklist
--use-gl=desktop or --use-gl=egl

Did you try 86 using these GL args?
Any changes on both?

@JurgenWolf I hadn't tried them, no, thanks for the pointer. Tried both couples (ignore+desktop and ignore+egl) just now on 86.0.4221.3-0ubuntu1-ppa1-20.04.1, sadly nope, still no accel.

I have removed 86 (where Mojo is broken) and installed 85.0.4183.59-0ubuntu1~ppa1~20.04.1 from Beta channel. And surprise for me - no any issues... No ANGLE driver by default, Mojo works as expected, 1080p is fine... exactly on this build... at least with NVIDIA. So from my understanding: only the very first 85 builds were based on ANGLE by default.

@JurgenWolf confirmed! I do get HW accel too with the latest 85.0.4183.59-0ubuntu1~ppa1~20.04.1 from the Beta channel (and I'm 100% certain that older 85 builds were broken)

@saiarcot895
Copy link
Owner

With the changes I have, neither --use-gl nor --ignore-gpu-blocklist should be needed for VA-API decoding. I've made a change in my PPA for both Beta and Dev so that ANGLE is not used by default (otherwise, it would use ANGLE by default, and VA-API would be disabled). Additionally, it appears to be partially working on AMD APUs (720p is fine, 1080p stutters; previously 1080p was fine), so it's not that it's completely broken. Intel, however, seems to have issues.

Just to check here, iHD is not working, but i965 is working; is that correct?

@ronjouch
Copy link

ronjouch commented Aug 15, 2020

Just to check here, iHD is not working, but i965 is working; is that correct?

@saiarcot895 incorrect. For me, Intel hw accel:

  • Works in 85.0.4183.59-0ubuntu1~ppa1~20.04.1
  • Doesn't work 86.0.4221.3-0ubuntu1~ppa1~20.04.1, regardless of video driver.

@saiarcot895
Copy link
Owner

It appears that if the video is less than 720p, then Chromium will default to using software video decoding. If it is 720p or higher, then it will use the GPU decoder. This is a result of this bug (where they try to avoid using hardware video decoding on ChromeOS) to avoid starting too many hardware video decoding sessions on small videos. Currently, for considering GPU decoding, Android and ChromeOS are set to a minimum of 360p, and all other platforms are set to 720p.

@ronjouch I see that the videos you are playing are 480p, which is why the software video decoder is being used.

@ronjouch
Copy link

It appears that if the video is less than 720p, then Chromium will default to using software video decoding. If it is 720p or higher, then it will use the GPU decoder. This is a result of this bug (where they try to avoid using hardware video decoding on ChromeOS) to avoid starting too many hardware video decoding sessions on small videos. Currently, for considering GPU decoding, Android and ChromeOS are set to a minimum of 360p, and all other platforms are set to 720p.

@ronjouch I see that the videos you are playing are 480p, which is why the software video decoder is being used.

@saiarcot895 confirmed, thanks for digging! The 720p threshold feels a tad optimistic IMHO, maybe I'll speak up in the Chromium bug. Note for other/future users: maybe a note about this behavior could be added to the PPA / GitHub README? I wouldn't be surprised you get other users testing acceleration on a <720p video and incorrectly complaining your build is broken.

@saiarcot895 @zuishikonghuan with that, both the ANGLE situation and the 720p change are understood, to my understanding this issue can be closed.

@saiarcot895
Copy link
Owner

Can people test 86.0.4238.0-0ubuntu1~ppa1~20.04.1? The 720p threshold is still there, but there are a lot of changes related to VAAPI video decoding. I've confirmed that it appears to be working on AMD, and want to know if it will work with i965 and iHD.

@ronjouch
Copy link

Can people test 86.0.4238.0-0ubuntu1~ppa1~20.04.1? The 720p threshold is still there, but there are a lot of changes related to VAAPI video decoding. I've confirmed that it appears to be working on AMD, and want to know if it will work with i965 and iHD.

@saiarcot895 86.0.4238.0-0ubuntu1~ppa1~20.04.1 GPU acceleration works well (1. uses MojoVideoDecoder, 2. shows up in intel-gpu-top) on my Intel HD630 machine, both with driver i965 and iHD. Thanks for asking and staying on top of this 🙂.

@ashleysommer
Copy link

ashleysommer commented Aug 28, 2020

@saiarcot895
Im using a laptop with 10th Gen Intel integrated graphics, and seems like it doesn't work with the i965 driver.

LIBVA_MESSAGING_LEVEL=2 LIBVA_DRIVER_NAME=i965 vainfo
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit
LIBVA_MESSAGING_LEVEL=2 LIBVA_DRIVER_NAME=iHD vainfo
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 20.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointFEI
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD

According to the vaapi log when running Chromium, it looks the latest 86.0.4238.0-0ubuntu1~ppa1~20.04.1 is still always trying to use i965 now regardless of which LIBVA_DRIVER_NAME is chosen, is that right?

@vmarkovtsev
Copy link

vmarkovtsev commented Aug 28, 2020

This is my experience with 86.0.4238.0 on Dell XPS 9380:

libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.7 (libva 2.6.0)
vainfo: Driver version: Intel i965 driver for Intel(R) Coffee Lake - 2.4.0
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileH264MultiviewHigh      :	VAEntrypointVLD
      VAProfileH264MultiviewHigh      :	VAEntrypointEncSlice
      VAProfileH264StereoHigh         :	VAEntrypointVLD
      VAProfileH264StereoHigh         :	VAEntrypointEncSlice
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileVP8Version0_3          :	VAEntrypointEncSlice
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointEncSlice
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointEncSlice
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointEncSlice
      VAProfileVP9Profile2            :	VAEntrypointVLD
LIBVA_MESSAGING_LEVEL=2 chromium-browser --enable-logging=stderr --log-level=0 --vmodule=vaapi_wrapper=4,vaapi_video_decode_accelerator=4 --use-gl=desktop
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
[25832:25832:0828/232816.387345:VERBOSE1:vaapi_wrapper.cc(545)] VAAPI version: 1.7 Intel i965 driver for Intel(R) Coffee Lake - 2.4.0
[25832:25832:0828/232816.387435:VERBOSE1:vaapi_wrapper.cc(740)] Unsupported value 2 for attribute type 5
[25832:25832:0828/232816.387458:VERBOSE1:vaapi_wrapper.cc(740)] Unsupported value 2 for attribute type 5
[25832:25832:0828/232816.387476:VERBOSE1:vaapi_wrapper.cc(740)] Unsupported value 2 for attribute type 5
INTEL-MESA: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0

WARNING: vallium/llvmpipe is not a conformant vulkan implementation, testing use only.
[25832:25832:0828/232816.439376:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
libva info: VA-API version 1.7.0
libva info: User environment variable requested driver 'i965'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva info: va_openDriver() returns 0
[25832:25832:0828/232816.445634:VERBOSE1:vaapi_wrapper.cc(545)] VAAPI version: 1.7 Intel i965 driver for Intel(R) Coffee Lake - 2.4.0
[25795:25795:0828/232816.543621:WARNING:xproto_util.cc(51)] X error received: serial 267, error_code 129 (129), request_code 131, minor_code 46 (Unknown)
[25832:25832:0828/232821.763349:WARNING:gpu_video_decode_accelerator_factory.cc(223)] Initializing VAAPI VDA.
[25832:25832:0828/232821.763506:VERBOSE2:vaapi_video_decode_accelerator.cc(216)] Initialize(): Initializing VAVDA, profile: h264 high
[25795:25795:0828/232821.764784:INFO:CONSOLE(1)] "Aug-28 23:28:21.763 [BOOT-QUEUE] TQ9PCSQ0J noversion-1598650101.762 experiments.getByUser called", source: https://a.slack-edge.com/bv1-8/gantry-shared.36a84fe.min.js?cacheKey=gantry-1598644412 (1)
[25795:25795:0828/232821.764840:INFO:CONSOLE(1)] "Aug-28 23:28:21.763 [BOOT-QUEUE] TQ9PCSQ0J noversion-1598650101.762 experiments.getByUser is ENQUEUED", source: https://a.slack-edge.com/bv1-8/gantry-shared.36a84fe.min.js?cacheKey=gantry-1598644412 (1)
[25795:25795:0828/232821.764864:INFO:CONSOLE(1)] "Aug-28 23:28:21.764 [BOOT] Booting into channel: CQNH59M5E", source: https://a.slack-edge.com/bv1-8/gantry-shared.36a84fe.min.js?cacheKey=gantry-1598644412 (1)
[25832:26370:0828/232821.765812:VERBOSE2:vaapi_video_decode_accelerator.cc(489)] DecodeTask(): Decoder requesting a new set of surfaces
[25832:25832:0828/232821.765943:VERBOSE2:vaapi_video_decode_accelerator.cc(579)] InitiateSurfaceSetChange():  |requested_num_pics_| = 6; |requested_num_reference_frames_| = 6
[25832:25832:0828/232821.766023:VERBOSE2:vaapi_video_decode_accelerator.cc(643)] TryFinishSurfaceSetChange(): Requesting 6 pictures of size: 1920x1088 and visible rectangle = 0,0 1920x1080
...
...
...
[25832:25832:0828/232839.734764:VERBOSE2:vaapi_video_decode_accelerator.cc(1041)] Cleanup(): Destroying VAVDA

image

Everything works except that I get a white rectangle with either i965 or iHD (the logs are for i965).

P.S. Is there a way to download version 84 deb?
P.P.S. VAAPI in Firefox 80 works for me after following this guide.

[vp9 @ 0x7fa2f6a43000] Param buffer (type 0, 92 bytes) is 0x2.
[vp9 @ 0x7fa2f6a43000] Slice 0 param buffer (316 bytes) is 0x1.
[vp9 @ 0x7fa2f6a43000] Slice 0 data buffer (727 bytes) is 0.
[vp9 @ 0x7fa2f6a43000] Decode to surface 0x7.
[Child 60748: MediaPDecoder #1]: D/PlatformDecoderModule AudioTrimmer[0x7fa2e189cd80] ::operator(): sample[4641000,4661000] no trimming information
[Child 60748: MediaPDecoder #2]: D/PlatformDecoderModule DMABufSurfaceWrapper: VAAPI releasing dmabuf surface UID = 6
[Child 60748: MediaPDecoder #2]: D/PlatformDecoderModule DMABufSurfaceWrapper: VAAPI releasing dmabuf surface UID = 7
[Child 60748: MediaPDecoder #2]: D/PlatformDecoderModule DMABUF/VA-API Got one frame output with pts=2733000dts=2733000 duration=34000 opaque=-9223372036854775808
[Child 60748: MediaPDecoder #3]: D/PlatformDecoderModule AudioTrimmer[0x7fa2e189cd80] ::HandleDecodedResult: sample[4641000,4661000] (decoded[4634500,4654500] no trimming needed
[Child 60748: MediaPDecoder #2]: D/PlatformDecoderModule Reusing DMABufSurface UID = 6
[Child 60748: MediaPDecoder #2]: D/PlatformDecoderModule DMABufSurfaceWrapper: VAAPI locking dmabuf surface UID = 6
[Child 60748: MediaPDecoder #2]: D/PlatformDecoderModule DMABufSurfaceWrapper: VAAPI releasing dmabuf surface UID = 7

@vmarkovtsev
Copy link

So I've built my own Chromium 84, not without adventures 😄 I should PR the instructions here.

Anyway, it worked the same way as 86: VAAPI does not error but I see white surfaces. I have to blow dust from my gdb and C++ skills.

My problem seems to be different from the one originally described, so I am sorry for the noise and I should report it separately.

@saiarcot895
Copy link
Owner

Regarding i965 vs iHD: I forgot this change had been made, but Chromium is now explicitly loading the i965 library, because of a potential segfault:

#if defined(USE_X11)
  if (gl::GetGLImplementation() == gl::kGLImplementationEGLANGLE) {
    DCHECK(!features::IsUsingOzonePlatform());
    constexpr char libva_driver_impl_env[] = "LIBVA_DRIVER_NAME";
    // TODO(crbug/1116703) The libva intel-media driver has a known segfault in
    // vaPutSurface, so until this is fixed, fall back to the i965 driver. There
    // is discussion of the issue here:
    // https://github.com/intel/media-driver/issues/818
    if (!env->HasVar(libva_driver_impl_env))
      env->SetVar(libva_driver_impl_env, "i965");
  }
#endif  // USE_X11

Note that this code has been modified in my PPA to explicitly specify the i965 driver if it detects at startup the iHD driver would get used. This is so as to not break Nvidia or AMD. This code is at /etc/chromium-browser/customizations/02-libva-i965.

This means regardless of whether you set LIBVA_DRIVER_NAME to i965 or iHD on the command line, the i965 driver will get used.

@ashleysommer
Copy link

Regarding i965 vs iHD: I forgot this change had been made, but Chromium is now explicitly loading the i965 library

Yes, I saw that patch and determined that is where my trouble is coming from.
The way I got around it:

$> ln -s /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so /usr/lib/x86_64-linux-gnu/dri/jHD_drv_video.so`
$> LIBVA_DRIVER_NAME=jHD chromium-browser ...

This allows me to use the iHD driver on my 10th Gen processor, I'm using Chromium-dev 86.x and I get no segfaults.

@JurgenWolf
Copy link

JurgenWolf commented Oct 17, 2020

With 87 from Beta this buggy ANGLE driver is loading and breaks HW acceleration on NVIDIA...

Were no problems on the previous 85 build.

@JurgenWolf
Copy link

--use-gl=desktop is mandatory for NVIDIA users to disable ANGLE.
Just tried it with 87 build - now it works as expected...

@Oober
Copy link

Oober commented Oct 18, 2020

--use-gl=desktop is mandatory for NVIDIA users to disable ANGLE.
Just tried it with 87 build - now it works as expected...

Confirmed. That string enables HW acceleration again. Mint 20 (ubuntu 20.04).

@sebibasti0815
Copy link

Just for the record, --use-gl=desktop is not solving the problem for everyone using nvidia.

@JurgenWolf
Copy link

Hardware-accelerated video decode flag is also set to Disabled by default in 87.
So don't forget to enable it.

@saiarcot895
Copy link
Owner

Can this issue be closed?

@ronjouch
Copy link

Can this issue be closed?

@saiarcot895 yes for me, successfully using your Chromium dev build 88.0.4315.5 with VAAPI on an Intel board on 20.04 and 20.10.

@zuishikonghuan
Copy link
Author

zuishikonghuan commented Dec 13, 2020

Can this issue be closed?

Honestly, I'm tired of it. Since I updated to 20.04, I have never been able to get usable va-api video decoding in Chromium. (Maybe I missed a few working versions)
I just tested the latest 88.0.4324.11, and it still uses ANGLE (unless --use-gl=desktop is specified). And I can’t get va-api to work (now I can’t even see the broken video, it doesn’t use va-api at all)

I said that this may make the maintainer very sad, I am very sorry. But I think it is necessary for me to say it, I have no opinion on closing this problem or not. This is because I have switched to Firefox and it can use va-api for me when using webrender.

When using this PPA on previous versions of Ubuntu, it worked very well and saved my laptop battery for a long time. Although I don't use it anymore, I still appreciate the maintainer very much.

@saiarcot895
Copy link
Owner

The intention is to actually use ANGLE by default, since that's what Chromium seems to want to use for default (even with VA-API video decoding).

I understand switching to Firefox to get VA-API working; Chromium itself appears to have no interest in enabling this for Linux, and I myself can test only on Intel and AMD, since those are the only systems I have.

@ronjouch
Copy link

Confirming (through intel_gpu_top and chrome://media-internals) that VAAPI acceleration works for me in recently-published version 89.0.4356.6-0ubuntu1~ppa2~20.10.1 . Intel / Ubuntu Groovy 20.10 / env LIBVA_DRIVER_NAME=i965 / flags --ignore-gpu-blacklist --ignore-gpu-blocklist --use-gl=desktop --enable-accelerated-video-decode. Thanks for the continued packaging, @saiarcot895 🙂

@paravz
Copy link

paravz commented Jan 12, 2021

Found this issue while searching how to re-enable vaapi on fedora with chromium 87, since --use-gl=egl stopped working with "VDA Error 4"

using suggested --ignore-gpu-blocklist --use-gl=desktop --enable-accelerated-video-decode re-enables vaapi (hardware video acceleration), as confirmed by MojoVideoDecoder codec in chrome://media-internals and intel_gpu_top

@jimbo2150
Copy link

In 91/92 LIBVA_DRIVER_NAME=iHD /path/to/Chromium --ignore-gpu-blocklist --use-gl=desktop --enable-features=VaapiVideoDecoder works (or using an automated user/system-wide export of LIBVA_DRIVER_NAME), but only on X11. I have not found a combination that works on wayland.

@satmandu
Copy link

satmandu commented Mar 1, 2022

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests