Hardware video decode not working in Ubuntu 20.04
See original GitHub issueDescription
Brave won’t use GPU to decode videos, it keeps using the VPX decoder, i have an Intel UHD 620 with the va non free driver installed.
Steps to Reproduce
- Install necessary drivers: sudo apt install intel-media-va-driver-non-free libva-drm2 libva-x11-2
- Run Brave via terminal: brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder
- Enable the following flags: Override software rendering list, GPU rasterization, zero-copy rasterizer, Out-of-process 2D canvas rasterization.
- Open any YouTube video, open developer tools, click 3 dots >> More tools >> Media, check if Brave is using VDA decoder and hardware acceleration is true.
Actual result:
Brave uses the VPX decoder
Expected result:
Brave will use VDA decoder
Reproduces how often:
The steps are easily reproduced and must be reproduced every time you launch the browser.
Brave version (brave://version info)
Brave | 1.35.100 Chromium: 98.0.4758.87 (Versão oficial) 64 bits |
---|---|
Revision | e4cd00f135fb4d8edc64c8aa6ecbe7cc79ebb3b2-refs/branch-heads/4758@{#1002} |
SO | Linux |
Version/Channel Information:
The issue occurs with the stable version, it also occurs with the Snap package, i have not tested any beta or dev versions.
Other Additional Information:
Terminal output:
brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder [239295:239295:0209/152712.080320:ERROR:gpu_init.cc(454)] Passthrough is not supported, GL is desktop, ANGLE is [239295:239295:0209/152712.093891:ERROR:sandbox_linux.cc(377)] InitializeSandbox() called with multiple threads in process gpu-process. [239260:239260:0209/152712.960183:ERROR:sharing_service.cc(222)] Device registration failed with fatal error Failed to parse JSON adblock resources: EOF while parsing a value at line 1 column 0 [239260:239260:0209/152714.187528:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.ScreenSaver.GetActive: object_path= /org/freedesktop/ScreenSaver: org.freedesktop.DBus.Error.NotSupported: This method is not implemented [239260:239260:0209/152714.192918:ERROR:object_proxy.cc(623)] Failed to call method: org.gnome.ScreenSaver.GetActive: object_path= /: org.freedesktop.DBus.Error.UnknownMethod: No such interface “org.gnome.ScreenSaver” on object at path / [239260:239331:0209/152715.604944:ERROR:chrome_browser_main_extra_parts_metrics.cc(227)] START: ReportBluetoothAvailability(). If you don't see the END: message, this is crbug.com/1216328. [239260:239331:0209/152715.604959:ERROR:chrome_browser_main_extra_parts_metrics.cc(230)] END: ReportBluetoothAvailability() [239298:4:0209/152718.984759:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 75274B86B1318FA7.CF68FC5B153750C2 [239260:239260:0209/152722.837205:ERROR:CONSOLE(14)] "Failed to handle media duration metadata: missing publisher key for media key youtube_TGaW-c7T4f8", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (14) [239260:239260:0209/152732.261290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239260:239260:0209/152732.264290:ERROR:CONSOLE(1)] "[Shields]: Can't request shields panel data for tabId: 53. Error: No tab url specified", source: chrome-extension://mnojpmjdmbbfmejpflffifhffcmidifd/out/brave_extension_background.bundle.js (1) [239298:4:0209/152803.344052:ERROR:node_controller.cc(585)] Trying to re-add dropped peer 9DB2811B801A03D9.5E04DF809AD08473
brave://flags Report:
`<div style="box-sizing: border-box; user-select: text; margin-bottom: 1em; color: rgb(0, 0, 0); font-family: sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;"></div><div style="box-sizing: border-box; user-select: text; margin-bottom: 1em; color: rgb(0, 0, 0); font-family: sans-serif; font-size: medium; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">
Graphics Feature Status
- <span style="box-sizing: border-box; user-select: text;">Canvas:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated</span>
- <span style="box-sizing: border-box; user-select: text;">Canvas out-of-process rasterization:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Enabled</span>
- <span style="box-sizing: border-box; user-select: text;">Direct Rendering Display Compositor:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">Disabled</span>
- <span style="box-sizing: border-box; user-select: text;">Compositing:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated</span>
- <span style="box-sizing: border-box; user-select: text;">Multiple Raster Threads:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Enabled</span>
- <span style="box-sizing: border-box; user-select: text;">Out-of-process Rasterization:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated</span>
- <span style="box-sizing: border-box; user-select: text;">OpenGL:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Enabled</span>
- <span style="box-sizing: border-box; user-select: text;">Rasterization:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated on all pages</span>
- <span style="box-sizing: border-box; user-select: text;">Raw Draw:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">Disabled</span>
- <span style="box-sizing: border-box; user-select: text;">Skia Renderer:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Enabled</span>
- <span style="box-sizing: border-box; user-select: text;">Video Decode:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated</span>
- <span style="box-sizing: border-box; user-select: text;">Video Encode:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">Software only. Hardware acceleration disabled</span>
- <span style="box-sizing: border-box; user-select: text;">Vulkan:<span> </span></span><span class="feature-red" style="box-sizing: border-box; user-select: text; color: rgb(255, 0, 0);">Disabled</span>
- <span style="box-sizing: border-box; user-select: text;">WebGL:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated</span>
- <span style="box-sizing: border-box; user-select: text;">WebGL2:<span> </span></span><span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">Hardware accelerated</span>
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
- enable_webgl_timer_query_extensions
- exit_on_context_lost
- msaa_is_slow
- rely_on_implicit_sync_for_swap_buffers
- disabled_extension_GL_KHR_blend_equation_advanced
- disabled_extension_GL_KHR_blend_equation_advanced_coherent
- disabled_extension_GL_MESA_framebuffer_flip_y
Problems Detected
- Accelerated video encode has been disabled, either via blocklist, about:flags or the command line.
<span style="box-sizing: border-box; user-select: text;">Disabled Features:<span> </span></span><span class="feature-red" style="box-sizing: border-box; user-select: text; color: rgb(255, 0, 0);">video_encode</span> - Clear uniforms before first program use on all platforms<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>124764<span style="box-sizing: border-box; user-select: text;">,<span> </span></span>349137
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">clear_uniforms_before_first_program_use</span> - Mesa drivers in Linux handle varyings without static use incorrectly<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>333885
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">count_all_in_varyings_packing</span> - Disable partial swaps on Mesa drivers (detected with GL_RENDERER)<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>339493
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">disable_post_sub_buffers_for_onscreen_surfaces</span> - On Intel GPUs MSAA performance is not acceptable for GPU rasterization<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>527565
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">msaa_is_slow</span> - Disable partial swaps on Mesa drivers (detected with GL_VERSION)<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>339493
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">disable_post_sub_buffers_for_onscreen_surfaces</span> - adjust src/dst region if blitting pixels outside framebuffer on Linux Intel<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>664740
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">adjust_src_dst_region_for_blitframebuffer</span> - Disable KHR_blend_equation_advanced until cc shaders are updated<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>661715
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">disable(GL_KHR_blend_equation_advanced)</span><span style="box-sizing: border-box; user-select: text;">,<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">disable(GL_KHR_blend_equation_advanced_coherent)</span> - Expose WebGL’s disjoint_timer_query extensions on platforms with site isolation<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>808744<span style="box-sizing: border-box; user-select: text;">,<span> </span></span>870491
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">enable_webgl_timer_query_extensions</span> - Some drivers can’t recover after OUT_OF_MEM and context lost<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>893177
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">exit_on_context_lost</span> - Avoid waiting on a egl fence before swapping buffers and rely on implicit sync on Intel GPUs<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>938286
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">rely_on_implicit_sync_for_swap_buffers</span> - Disable GL_MESA_framebuffer_flip_y for desktop GL<span style="box-sizing: border-box; user-select: text;">:<span> </span></span>964010
<span style="box-sizing: border-box; user-select: text;">Applied Workarounds:<span> </span></span><span class="feature-yellow" style="box-sizing: border-box; user-select: text; color: rgb(128, 128, 0);">disable(GL_MESA_framebuffer_flip_y)</span>
DAWN Info
- lazy_clear_resource_on_first_use:<span> </span>https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource.
- use_temporary_buffer_in_texture_to_texture_copy:<span> </span>https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don’t have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details.
- vulkan_use_d32s8:<span> </span>https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make ituse the D24S8 format when possible.
- disallow_unsafe_apis:<span> </span>http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren’t considered secure yet. <span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">[WebGPU Forced Toggles - enabled]</span>
- disallow_spirv:<span> </span>https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules.This is useful to prevent a Chromium renderer process from successfully sendingSPIR-V code to be compiled in the GPU process. <span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">[Supported Features]</span>
- texture-compression-bc
- texture-compression-etc2
- texture-compression-astc
- pipeline-statistics-query
- timestamp-query
- depth-clamping
- dawn-internal-usages
<Integrated GPU> Vulkan backend - Intel® UHD Graphics 620 (WHL GT2)
<span class="feature-green" style="box-sizing: border-box; user-select: text; color: rgb(0, 128, 0);">[Default Toggle Names]</span>
Version Information
<div id="client-info" style="box-sizing: border-box; user-select: text;"><div jstcache="0" style="box-sizing: border-box; user-select: text;">Data exported | 2022-02-09T18:31:37.713Z |
---|---|
Chrome version | Chrome/98.0.4758.87 |
Operating system | Linux 5.13.0-28-generic |
Software rendering list URL | https://chromium.googlesource.com/chromium/src/+/e4cd00f135fb4d8edc64c8aa6ecbe7cc79ebb3b2/gpu/config/software_rendering_list.json |
Driver bug list URL | https://chromium.googlesource.com/chromium/src/+/e4cd00f135fb4d8edc64c8aa6ecbe7cc79ebb3b2/gpu/config/gpu_driver_bug_list.json |
ANGLE commit id | 343b7bb57268 |
2D graphics backend | Skia/98 a6986cd7224f104044fd5bc29cb5f80796d76f5a |
Command Line | /opt/brave.com/brave/brave --use-gl=desktop --enable-features=VaapiVideoDecoder --enable-crashpad --disable-client-side-phishing-detection --disable-domain-reliability --enable-dom-distiller --no-pings --component-updater=url-source=https://go-updater.brave.com/extensions --origin-trial-public-key=bYUKPJoPnCxeNvu72j4EmPuK7tr1PAC7SHh8ld9Mw3E=,fMS4mpO6buLQ/QMd+zJmxzty/VQ6B1EUZqoCU04zoRU= --sync-url=https://sync-v2.brave.com/v2 --lso-url=https://no-thanks.invalid --variations-server-url=https://variations.brave.com/seed --variations-insecure-server-url=https://variations.brave.com/seed --enable-features=VaapiVideoDecoder --flag-switches-begin --enable-gpu-rasterization --enable-zero-copy --ignore-gpu-blocklist --enable-features=VaapiVideoDecoder,CanvasOopRasterization --flag-switches-end |
Log Messages
- <span jscontent="header" jstcache="3" style="box-sizing: border-box; user-select: text;">[240400:240400:0209/153129.629160:ERROR:gpu_init.cc(454)]<span> </span></span>:<span> </span><span jscontent="message" jstcache="4" style="box-sizing: border-box; user-select: text;">Passthrough is not supported, GL is desktop, ANGLE is</span>
- <span jscontent="header" jstcache="3" style="box-sizing: border-box; user-select: text;">[240400:240400:0209/153129.642901:ERROR:sandbox_linux.cc(377)]<span> </span></span>:<span> </span><span jscontent="message" jstcache="4" style="box-sizing: border-box; user-select: text;">InitializeSandbox() called with multiple threads in process gpu-process.</span>
<Integrated GPU> Vulkan backend - Intel® UHD Graphics 620 (WHL GT2) [Default Toggle Names] lazy_clear_resource_on_first_use: https://crbug.com/dawn/145: Clears resource to zero on first usage. This initializes the resource so that no dirty bits from recycled memory is present in the new resource. use_temporary_buffer_in_texture_to_texture_copy: https://crbug.com/dawn/42: Split texture-to-texture copy into two copies: copy from source texture into a temporary buffer, and copy from the temporary buffer into the destination texture when copying between compressed textures that don’t have block-aligned sizes. This workaround is enabled by default on all Vulkan drivers to solve an issue in the Vulkan SPEC about the texture-to-texture copies with compressed formats. See #1005 (https://github.com/KhronosGroup/Vulkan-Docs/issues/1005) for more details. vulkan_use_d32s8: https://crbug.com/dawn/286: Vulkan mandates support of either D32_FLOAT_S8 or D24_UNORM_S8. When available the backend will use D32S8 (toggle to on) but setting the toggle to off will make ituse the D24S8 format when possible. disallow_unsafe_apis: http://crbug.com/1138528: Produces validation errors on API entry points or parameter combinations that aren’t considered secure yet. [WebGPU Forced Toggles - enabled] disallow_spirv: https://crbug.com/1214923: Disallow usage of SPIR-V completely so that only WGSL is used for shader modules.This is useful to prevent a Chromium renderer process from successfully sendingSPIR-V code to be compiled in the GPU process. [Supported Features] texture-compression-bc texture-compression-etc2 texture-compression-astc pipeline-statistics-query timestamp-query depth-clamping dawn-internal-usages Version Information Data exported 2022-02-09T18:31:37.713Z Chrome version Chrome/98.0.4758.87 Operating system Linux 5.13.0-28-generic Software rendering list URL https://chromium.googlesource.com/chromium/src/+/e4cd00f135fb4d8edc64c8aa6ecbe7cc79ebb3b2/gpu/config/software_rendering_list.json Driver bug list URL https://chromium.googlesource.com/chromium/src/+/e4cd00f135fb4d8edc64c8aa6ecbe7cc79ebb3b2/gpu/config/gpu_driver_bug_list.json ANGLE commit id 343b7bb57268 2D graphics backend Skia/98 a6986cd7224f104044fd5bc29cb5f80796d76f5a Command Line /opt/brave.com/brave/brave --use-gl=desktop --enable-features=VaapiVideoDecoder --enable-crashpad --disable-client-side-phishing-detection --disable-domain-reliability --enable-dom-distiller --no-pings --component-updater=url-source=https://go-updater.brave.com/extensions --origin-trial-public-key=bYUKPJoPnCxeNvu72j4EmPuK7tr1PAC7SHh8ld9Mw3E=,fMS4mpO6buLQ/QMd+zJmxzty/VQ6B1EUZqoCU04zoRU= --sync-url=https://sync-v2.brave.com/v2 --lso-url=https://no-thanks.invalid --variations-server-url=https://variations.brave.com/seed --variations-insecure-server-url=https://variations.brave.com/seed --enable-features=VaapiVideoDecoder --flag-switches-begin --enable-gpu-rasterization --enable-zero-copy --ignore-gpu-blocklist --enable-features=VaapiVideoDecoder,CanvasOopRasterization --flag-switches-end Driver Information Initialization time 73 In-process GPU false Passthrough Command Decoder false Sandboxed false GPU0 VENDOR= 0x8086 [Intel], DEVICE=0x3ea0 [Mesa Intel® UHD Graphics 620 (WHL GT2)] ACTIVE Optimus false AMD switchable false Driver vendor Mesa Driver version 21.0.3 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® UHD Graphics 620 (WHL GT2) GL_VERSION 4.6 (Core Profile) Mesa 21.0.3 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_compute_variable_group_size 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_semaphore GL_EXT_semaphore_fd 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_blackhole_render 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_copy_image 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_swap_control GLX_EXT_swap_control_tear 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 XDG_CURRENT_DESKTOP ubuntu:GNOME XDG_SESSION_TYPE x11 GDMSESSION ubuntu Ozone platform x11 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, RG_1616: 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 Zero-copy Partial Raster Enabled GpuMemoryBuffers Status R_8 Software only R_16 Software only RG_88 Software only RG_1616 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[1881264395124802] bounds=[0,0 1366x768], workarea=[0,27 1366x741], scale=1, rotation=0, panel_rotation=0 internal. Color space (all) {primaries_d50_referred: [[0.5921, 0.3489], [0.3598, 0.5678], [0.1707, 0.1591]], 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 60 Video Acceleration Information Encoding Vulkan Information Device Performance Information Log Messages [240400:240400:0209/153129.629160:ERROR:gpu_init.cc(454)] : Passthrough is not supported, GL is desktop, ANGLE is [240400:240400:0209/153129.642901:ERROR:sandbox_linux.cc(377)] : InitializeSandbox() called with multiple threads in process gpu-process.`
Issue Analytics
- State:
- Created 2 years ago
- Reactions:1
- Comments:16
Top GitHub Comments
Unfortunately, although “on paper” I do get hardware acceleration when I use flags mentioned above, I found out that on a lot of 4k videos playback will still lag and stutter.
After using Chromium based browsers (Chrome & Brave) for over a decade, decided to give Firefox a chance once again. Where if I enable following flags in
about:config
, 4k video content playback is as smooth as it gets (its VA-API support seems to be flawless).Currently Flags look like below for me: $ /usr/bin/brave-browser-stable --use-gl=desktop --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --disable-features=UseChromeOSDirectVideoDecoder,UseOzonePlatform
I can Confirm then work encode, decode and full hardware acceleration in general without vulkan(he must be disabled)