You are not logged in.

#801 2023-05-25 18:14:28

uncharted
Member
Registered: 2023-05-25
Posts: 4

Re: chromium: hardware video acceleration with VA-API

I am able to get hardware accelerated video decoding working on my laptop in X11 environment with the integrated AMD Radeon GPU. The issue is I am not able to get this working on my other GPU.

from brave://version

Brave: 1.53.66 Chromium: 114.0.5735.35 (Official Build) beta (64-bit) 
Revision: 2295354895fa3652ae47b651481831484f16d1ff-refs/branch-heads/5735@{#713}
OS: Linux
JavaScript: V8 11.4.183.8

I used the following flags to get it working on my integrated GPU

 --ignore-gpu-blocklist --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks --disable-features=UseChromeOSDirectVideoDecoder,UseSkiaRenderer

This is from my brave://gpu in both of the GPUs cases

 Video Acceleration Information
Decoding
Decode h264 baseline
16x16 to 4096x4096 pixels
Decode h264 main
16x16 to 4096x4096 pixels
Decode h264 high
16x16 to 4096x4096 pixels
Decode vp9 profile0
16x16 to 8192x4352 pixels
Encoding
Encode h264 baseline
321x241 to 4096x2304 pixels, and/or 30.000 fps.
Encode h264 main
321x241 to 4096x2304 pixels, and/or 30.000 fps.
Encode h264 high
321x241 to 4096x2304 pixels, and/or 30.000 fps.

The driver information section is a bit weird because it keeps saying that the "active" browser is always the gpu0 (it's the integrated one), even after switching GPUs. The hardware decoding also doesn't work in the case of the dedicated GPU; I confirmed it with the media-internals tab as well as the media section in devtools.

This is the output when launching browser just normally
Screenshot-20230525-232823.jpg


This is the output when launching it with environment variable `DRI_PRIME=1`
Screenshot-20230525-232727.jpg

These are the details of my GPU

$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon Graphics (renoir, LLVM 15.0.7, DRM 3.52, 6.3.3-arch1-1) (0x1638)
    Version: 23.1.0
    Accelerated: yes
    Video memory: 512MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 43 MB, largest block: 43 MB
    VBO free aux. memory - total: 7491 MB, largest block: 7491 MB
    Texture free memory - total: 43 MB, largest block: 43 MB
    Texture free aux. memory - total: 7491 MB, largest block: 7491 MB
    Renderbuffer free memory - total: 43 MB, largest block: 43 MB
    Renderbuffer free aux. memory - total: 7491 MB, largest block: 7491 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 512 MB
    Total available memory: 8176 MB
    Currently available dedicated video memory: 43 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon Graphics (renoir, LLVM 15.0.7, DRM 3.52, 6.3.3-arch1-1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.1.0
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
$ DRI_PRIME=1 glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: AMD (0x1002)
    Device: AMD Radeon RX 5500M (navi14, LLVM 15.0.7, DRM 3.52, 6.3.3-arch1-1) (0x7340)
    Version: 23.1.0
    Accelerated: yes
    Video memory: 4096MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 4076 MB, largest block: 4076 MB
    VBO free aux. memory - total: 7639 MB, largest block: 7639 MB
    Texture free memory - total: 4076 MB, largest block: 4076 MB
    Texture free aux. memory - total: 7639 MB, largest block: 7639 MB
    Renderbuffer free memory - total: 4076 MB, largest block: 4076 MB
    Renderbuffer free aux. memory - total: 7639 MB, largest block: 7639 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4096 MB
    Total available memory: 11760 MB
    Currently available dedicated video memory: 4076 MB
OpenGL vendor string: AMD
OpenGL renderer string: AMD Radeon RX 5500M (navi14, LLVM 15.0.7, DRM 3.52, 6.3.3-arch1-1)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.1.0
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.1.0
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.0
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Last edited by uncharted (2023-05-26 18:27:34)

Offline

#802 2023-05-27 16:57:11

shtirlic
Member
Registered: 2022-08-24
Posts: 12
Website

Re: chromium: hardware video acceleration with VA-API

On my steam deck(AMD APU), laptop(Intel APU) with Wayland on 113 version (current) no combination of flags/env vars works, let's see how it will be in the next release roll


H: Thinkpad P14s Gen4 AMD 7840U, S: Wayland, KDE, UEFI SB

Offline

#803 2023-06-02 13:40:49

joaopauloalbq
Member
Registered: 2023-06-02
Posts: 1

Re: chromium: hardware video acceleration with VA-API

Memory leak in Xorg using VaapiVideoDecodeLinuxGL flag :S

[Intel 8th gen]

Last edited by joaopauloalbq (2023-06-02 13:41:15)

Offline

#804 2023-06-02 22:57:49

waeking
Member
Registered: 2023-06-02
Posts: 1

Re: chromium: hardware video acceleration with VA-API

EDIT: I am using Chromium 113.0.5672.126 Arch Linux...

I am tyring to get nvidia prime-run to work with chromium... but no dice so far

prime-run vainfo --display drm --device /dev/dri/renderD129
Trying display: drm
vainfo: VA-API version: 1.18 (libva 2.18.1)
vainfo: Driver version: VA-API NVDEC driver [egl backend]
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple            : VAEntrypointVLD
VAProfileMPEG2Main              : VAEntrypointVLD
VAProfileVC1Simple              : VAEntrypointVLD
VAProfileVC1Main                : VAEntrypointVLD
VAProfileVC1Advanced            : VAEntrypointVLD
VAProfileH264Main               : VAEntrypointVLD
VAProfileH264High               : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileHEVCMain               : VAEntrypointVLD
VAProfileVP8Version0_3          : VAEntrypointVLD
VAProfileVP9Profile0            : VAEntrypointVLD
VAProfileHEVCMain10             : VAEntrypointVLD
VAProfileHEVCMain12             : VAEntrypointVLD
VAProfileVP9Profile2            : VAEntrypointVLD
vainfo --display drm --device /dev/dri/renderD128
Trying display: drm
vainfo: VA-API version: 1.18 (libva 2.18.1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.0 ()
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

I can use

chromium --ignore-gpu-blocklist --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks --disable-features=UseChromeOSDirectVideoDecoder,UseSkiaRenderer --enable-unsafe-webgpu

chrome://gpu shows the following

Graphics Feature Status
Canvas: Hardware accelerated
Canvas out-of-process rasterization: Disabled
Direct Rendering Display Compositor: Disabled
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
OpenGL: Enabled
Rasterization: Hardware accelerated
Raw Draw: Disabled
Video Decode: Hardware accelerated
Video Encode: Hardware accelerated
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
WebGPU: Hardware accelerated
...
Driver Information
Initialization time
355
In-process GPU
false
Passthrough Command Decoder
true
Sandboxed
false
GPU0
VENDOR= 0x10de, DEVICE=0x1f11, DRIVER_VENDOR=Mesa, DRIVER_VERSION=23.1.1
GPU1
VENDOR= 0x8086, DEVICE=0x3e9b, DRIVER_VENDOR=Mesa, DRIVER_VERSION=23.1.1 *ACTIVE*

when I use

prime-run chromium --ignore-gpu-blocklist --enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks --disable-features=UseChromeOSDirectVideoDecoder,UseSkiaRenderer --enable-unsafe-webgpu
Graphics Feature Status
Canvas: Software only. Hardware acceleration disabled
Canvas out-of-process rasterization: Disabled
Direct Rendering Display Compositor: Disabled
Compositing: Software only. Hardware acceleration disabled
Multiple Raster Threads: Disabled
OpenGL: Disabled
Rasterization: Software only. Hardware acceleration disabled
Raw Draw: Disabled
Video Decode: Software only. Hardware acceleration disabled
Video Encode: Software only. Hardware acceleration disabled
Vulkan: Disabled
WebGL: Disabled
WebGL2: Disabled
WebGPU: Disabled
Driver Bug Workarounds
clear_uniforms_before_first_program_use
enable_webgl_timer_query_extensions
exit_on_context_lost
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_extension_GL_MESA_framebuffer_flip_y
Problems Detected
Gpu compositing has been disabled, either via blocklist, about:flags or the command line. The browser will fall back to software compositing and hardware acceleration will be unavailable.
Disabled Features: gpu_compositing
GPU process was unable to boot: GPU process crashed too many times with SwiftShader.
Disabled Features: all
...
Driver Information
Initialization time
0
In-process GPU
false
Passthrough Command Decoder
true
Sandboxed
true
GPU0
VENDOR= 0x0000, DEVICE=0x0000

here are the command line logs

[294570:294570:0602/171712.489301:ERROR:chrome_browser_cloud_management_controller.cc(162)] Cloud management controller initialization aborted as CBCM is not enabled.
[294602:294602:0602/171712.542108:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294602:294602:0602/171712.542254:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294602:294602:0602/171712.542289:ERROR:gl_display.cc(771)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[294602:294602:0602/171712.543091:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294602:294602:0602/171712.543159:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294602:294602:0602/171712.543233:ERROR:gl_display.cc(771)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[294602:294602:0602/171712.543255:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294602:294602:0602/171712.543295:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294602:294602:0602/171712.544142:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294602:294602:0602/171712.544210:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294602:294602:0602/171712.544235:ERROR:gl_display.cc(771)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[294602:294602:0602/171712.544905:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294602:294602:0602/171712.544938:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294602:294602:0602/171712.544965:ERROR:gl_display.cc(771)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[294602:294602:0602/171712.544991:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294602:294602:0602/171712.545013:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294602:294602:0602/171712.545935:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[294652:294652:0602/171712.779064:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294652:294652:0602/171712.779218:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294652:294652:0602/171712.779281:ERROR:gl_display.cc(771)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[294652:294652:0602/171712.780544:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294652:294652:0602/171712.780709:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294652:294652:0602/171712.780784:ERROR:gl_display.cc(771)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[294652:294652:0602/171712.780840:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294652:294652:0602/171712.780897:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294652:294652:0602/171712.782469:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294652:294652:0602/171712.782664:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294652:294652:0602/171712.782700:ERROR:gl_display.cc(771)] eglInitialize OpenGL failed with error EGL_NOT_INITIALIZED, trying next display type
[294652:294652:0602/171712.784798:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 12289: Invalid visual ID requested.
[294652:294652:0602/171712.784879:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Invalid visual ID requested.
[294652:294652:0602/171712.784918:ERROR:gl_display.cc(771)] eglInitialize OpenGLES failed with error EGL_NOT_INITIALIZED
[294652:294652:0602/171712.784969:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294652:294652:0602/171712.785049:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294652:294652:0602/171712.789453:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[294768:294768:0602/171712.820687:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294768:294768:0602/171712.820807:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons,in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294768:294768:0602/171712.820849:ERROR:gl_display.cc(771)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[294768:294768:0602/171712.820895:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294768:294768:0602/171712.820930:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294768:294768:0602/171712.821437:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294768:294768:0602/171712.821509:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons,in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294768:294768:0602/171712.821554:ERROR:gl_display.cc(771)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[294768:294768:0602/171712.821595:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294768:294768:0602/171712.821634:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294768:294768:0602/171712.823766:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[294778:294778:0602/171712.865744:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294778:294778:0602/171712.865905:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons,in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294778:294778:0602/171712.865967:ERROR:gl_display.cc(771)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[294778:294778:0602/171712.866077:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294778:294778:0602/171712.866146:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294778:294778:0602/171712.867024:ERROR:angle_platform_impl.cc(43)] Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
ERR: Display.cpp:1019 (initialize): ANGLE Display::initialize error 0: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons, in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294778:294778:0602/171712.867154:ERROR:gl_display.cc(504)] EGL Driver message (Critical) eglInitialize: Internal Vulkan error (-3): Initialization of an object could not be completed for implementation-specific reasons,in ../../third_party/angle/src/libANGLE/renderer/vulkan/RendererVk.cpp, initialize:1481.
[294778:294778:0602/171712.867234:ERROR:gl_display.cc(771)] eglInitialize SwANGLE failed with error EGL_NOT_INITIALIZED
[294778:294778:0602/171712.867313:ERROR:gl_display.cc(805)] Initialization of all EGL display types failed.
[294778:294778:0602/171712.867401:ERROR:gl_ozone_egl.cc(26)] GLDisplayEGL::Initialize failed.
[294778:294778:0602/171712.870997:ERROR:viz_main_impl.cc(186)] Exiting GPU process due to errors during initialization
[294570:294581:0602/171713.144939:ERROR:ev_root_ca_metadata.cc(285)] Failed to register OID: 0
Warning: remove_all_non_valid_override_layers: Failed to get executable path and name
Warning: loader_scanned_icd_add: Could not get 'vkCreateInstance' via 'vk_icdGetInstanceProcAddr' for ICD libGLX_nvidia.so.0
Warning: loader_get_json: Failed to open JSON file intel_hasvk_icd.i686.json
Warning: loader_get_json: Failed to open JSON file intel_icd.i686.json
Warning: loader_get_json: Failed to open JSON file radeon_icd.i686.json
Warning: loader_get_json: Failed to open JSON file intel_hasvk_icd.x86_64.json
Warning: /usr/lib/libvulkan_radeon.so: cannot open shared object file: Permission denied
Warning: loader_icd_scan: Failed loading library associated with ICD JSON /usr/lib/libvulkan_radeon.so. Ignoring this JSON
Warning: loader_get_json: Failed to open JSON file lvp_icd.x86_64.json
Error: setup_loader_term_phys_devs:  Failed to detect any valid GPUs in the current config
Error: vkEnumeratePhysicalDevices
at GatherPhysicalDevices (../../third_party/dawn/src/dawn/native/vulkan/VulkanInfo.cpp:131)
at Initialize (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:311)
at Create (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:232)
at operator() (../../third_party/dawn/src/dawn/native/vulkan/BackendVk.cpp:492)

Last edited by waeking (2023-06-02 23:20:41)

Offline

#805 2023-06-10 03:04:22

vladpen
Member
Registered: 2023-01-14
Posts: 3

Re: chromium: hardware video acceleration with VA-API

gothmog123 wrote:

sorry out of the loop. is it working on wayland nowadays?

Chromium 114.0.5735.106, iHD video, wayland, default settings.

The only one flag in ~/.config/chromium-flags.conf

--enable-features=VaapiVideoDecodeLinuxGL

It works for me.

Offline

#806 2023-06-10 06:38:20

Bzzz_56
Member
Registered: 2021-05-14
Posts: 36

Re: chromium: hardware video acceleration with VA-API

vladpen wrote:
gothmog123 wrote:

sorry out of the loop. is it working on wayland nowadays?

Chromium 114.0.5735.106, iHD video, wayland, default settings.

The only one flag in ~/.config/chromium-flags.conf

--enable-features=VaapiVideoDecodeLinuxGL

It works for me.

If the flag

--ozone-platform-hint=auto

is not included, then chromium is just running on xwayland...I still cannot get vaapi working on native wayland

Offline

#807 2023-06-12 15:09:13

memyselfandi
Member
Registered: 2023-06-12
Posts: 2

Re: chromium: hardware video acceleration with VA-API

It seems the latest chromium-wayland-vaapi requires patched wayland libraries.

https://aur.archlinux.org/packages/wayland-chromium

Offline

#808 2023-06-15 00:37:49

rican-linux
Member
Registered: 2014-11-16
Posts: 63

Re: chromium: hardware video acceleration with VA-API

Can you add the environment variable to the chromium-flags.conf?

Offline

#809 2023-06-16 08:02:07

memyselfandi
Member
Registered: 2023-06-12
Posts: 2

Re: chromium: hardware video acceleration with VA-API

rican-linux wrote:

Can you add the environment variable to the chromium-flags.conf?

I added the variable via Flatseal for my Chromium Flatpak installation. But it doesn't seem to have any effect at the moment.

Offline

#810 2023-06-20 16:36:52

gilvbp
Member
Registered: 2022-10-05
Posts: 9

Re: chromium: hardware video acceleration with VA-API

Nvidia video acceleration doesn't work with Wayland sad. Has anyone got it to work?

Last edited by gilvbp (2023-06-20 17:07:54)

Offline

#811 2023-06-20 19:44:41

Korialo
Member
Registered: 2023-05-15
Posts: 2

Re: chromium: hardware video acceleration with VA-API

joaopauloalbq wrote:

Memory leak in Xorg using VaapiVideoDecodeLinuxGL flag :S

[Intel 8th gen]

Same case, a memory leak and gpu hang after couple of hours.

Offline

#812 2023-06-23 14:27:28

gladykov
Member
Registered: 2022-12-10
Posts: 14

Re: chromium: hardware video acceleration with VA-API

Did some more tests, and situation is more complicated, as flags combinations differ, while using same version of Chromium engine with different browsers

Setup:
XFCE (X11), Intel HD 630, intel-media-driver (iHD env variable), LIBVA_DRI3_DISABLE=1


Chromium 114.0.5735.133

working set of flags:

--enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle

Chrome 114.0.5735.133

working set of flags:

--enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle --disable-features=Vulkan

Opera 114.0.5735.199

working set of flags:

--enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle

Used video:
https://www.youtube.com/watch?v=aYXahuq5iNc

Extension:
https://chrome.google.com/webstore/deta … ikinpkodlk

Last edited by gladykov (2023-06-30 22:58:56)

Offline

#813 2023-06-23 23:48:54

Bzzz_56
Member
Registered: 2021-05-14
Posts: 36

Re: chromium: hardware video acceleration with VA-API

gilvbp wrote:

Nvidia video acceleration doesn't work with Wayland sad. Has anyone got it to work?

It works with chromium-wayland-vaapi (at least with my tiger lake intel igpu, and videos of format x264), while it crashes a lot when I use fcitx5 (via the flag --enable-wayland-ime), which is a deal-breaker for me...

Sorry for not seeing that you have a nvidia gpu, I'm not sure if libva-nvidia-driver will work with chromium-wayland-vaapi or not...

Last edited by Bzzz_56 (2023-06-23 23:53:42)

Offline

#814 2023-06-25 14:49:14

zxcv
Member
Registered: 2015-10-19
Posts: 9

Re: chromium: hardware video acceleration with VA-API

Anyone has a working set of flags for current chromium based browsers (Vivaldi    6.1.3035.100) working with nvidia gpus on x11?

Offline

#815 2023-06-28 22:44:48

gilvbp
Member
Registered: 2022-10-05
Posts: 9

Re: chromium: hardware video acceleration with VA-API

Log shows this:

Failed to export buffer to dma_buf: No such file or directory (2) 
Bzzz_56 wrote:
gilvbp wrote:

Nvidia video acceleration doesn't work with Wayland sad. Has anyone got it to work?

It works with chromium-wayland-vaapi (at least with my tiger lake intel igpu, and videos of format x264), while it crashes a lot when I use fcitx5 (via the flag --enable-wayland-ime), which is a deal-breaker for me...

Sorry for not seeing that you have a nvidia gpu, I'm not sure if libva-nvidia-driver will work with chromium-wayland-vaapi or not...

Anyone?

UPDATE: It was a regression chromium bug, already addressed: https://bugs.chromium.org/p/chromium/is … 273758#c11

Last edited by gilvbp (2023-06-30 15:48:38)

Offline

#816 2023-06-30 17:49:36

NiyazFat
Member
Registered: 2023-06-12
Posts: 2

Re: chromium: hardware video acceleration with VA-API

hello,
when I use this command arg for chomium:

chromium --enable-features=VaapiVideoDecodeLinuxGL --use-gl=angle

I get supported decoder list in chrome://gpu

Video Acceleration Information
Decoding
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 8192x8192 pixels
Decode vp9 profile2 16x16 to 8192x8192 pixels
Decode hevc main 16x16 to 8192x8192 pixels
Decode hevc main 10 16x16 to 8192x8192 pixels
Decode hevc main still-picture 16x16 to 8192x8192 pixels

But when I play video (ex. 4k60fps), I get in chromium logs(many times) following error:

[219284:219510:0630/204217.581191:ERROR:vaapi_video_decoder.cc(1245)] : failed Initialize()ing the frame pool

and also very high cpu usage, intel_gpu_top shows 'video' usage 0%

Offline

#817 2023-07-05 20:44:24

Hydro01
Member
Registered: 2022-12-29
Posts: 1

Re: chromium: hardware video acceleration with VA-API

I have

--enable-features=VaapiVideoDecodeLinuxGL
--ozone-platform-hint=auto

and intel-media-driver and it seems working according to the outputs from intel_gpu_top.
However it doesn't seems to work on my desktop with an AMD card even with

--enable-features=VaapiIgnoreDriverChecks

in addition to the two flags above. All formats supported through vaapi did show up though.

Last edited by Hydro01 (2023-07-05 20:48:10)

Offline

#818 2023-07-05 22:11:12

icar
Member
From: Catalunya
Registered: 2020-07-31
Posts: 507

Re: chromium: hardware video acceleration with VA-API

I am trying to play around with this, but it's hard to see what's available. Is there a way to list the available flags?

Offline

#819 2023-07-06 05:20:46

seth
Member
Registered: 2012-09-03
Posts: 58,965

Online

#820 2023-07-07 19:32:15

NiyazFat
Member
Registered: 2023-06-12
Posts: 2

Re: chromium: hardware video acceleration with VA-API

this works for me

Hydro01 wrote:

I have

--enable-features=VaapiVideoDecodeLinuxGL
--ozone-platform-hint=auto

but my whole system becomes laggy(after some time) when playing video in chromium using hw-accel, lags are gone when I close chromium, and also I have gui freeze for ~10 second.
does somebody have such problem?

Last edited by NiyazFat (2023-07-07 19:34:21)

Offline

#821 2023-07-12 09:13:55

YsPan
Member
Registered: 2023-07-12
Posts: 3

Re: chromium: hardware video acceleration with VA-API

I tried these flags

—ignore-gpu-blocklist —enable-features=VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,VaapiIgnoreDriverChecks —disable-features=UseChromeOSDirectVideoDecoder,UseSkiaRenderer

But when I start play youtube video

The DevTools media pages shows VDA Error 4

And the terminal shows

[9836:9836:0712/170352.495947:ERROR:vaapi_wrapper.cc(2827)] vaPutSurface failed, VA error: unknown libva error
[9836:9836:0712/170352.496189:ERROR:vaapi_video_decode_accelerator.cc(287)] Failed putting surface into pixmap

What is the better way to fix this issue?

I tried and both get the same result on Ubuntu 22.04 and HD530(i5-6500) intergated GPU and Manjaro Linux with UHD620(i5-8250U)
Both with Nvidia Prime(The intergated GPU is modesetting)

Last edited by YsPan (2023-07-12 09:19:41)

Offline

#822 2023-07-12 09:35:58

YsPan
Member
Registered: 2023-07-12
Posts: 3

Re: chromium: hardware video acceleration with VA-API

akmt wrote:

This commit will be the cause.

As a workaround, I disabled this commit and rebuilded libva package as follows.

curl -LO https://raw.githubusercontent.com/archl … k/PKGBUILD
sed -i -e '/arch-meson libva build/i  \ \ sed -i "s\/va_DRI3_Get\/va_DRI2_Get\/g" ./libva/va/x11/va_x11.c' PKGBUILD
makepkg -sc

After installing the rebuilded libva package, videos are hardware decoded.

I found the solution.
I tried this way to patch the libva (Now is 1.18.x) to fix the DRI3 things, the video can be hardware decoded.

Offline

#823 2023-07-26 08:08:05

246tnt
Member
Registered: 2023-07-26
Posts: 9

Re: chromium: hardware video acceleration with VA-API

NiyazFat wrote:

this works for me
but my whole system becomes laggy(after some time) when playing video in chromium using hw-accel, lags are gone when I close chromium, and also I have gui freeze for ~10 second.
does somebody have such problem?

Yes, it's what was mentionned by Korialo and joaopauloalbq above. It currently creates a memory leak. And the hang at exit is because Xorg is taking forever to cleanup and release all the memory that was allocated for chrome.

I opened https://bugs.chromium.org/p/chromium/is … id=1467689   feel free to chime in and add any info you have ...

Offline

#824 2023-07-26 15:15:34

guiodic
Member
Registered: 2018-02-22
Posts: 24

Re: chromium: hardware video acceleration with VA-API

246tnt wrote:
NiyazFat wrote:

this works for me
but my whole system becomes laggy(after some time) when playing video in chromium using hw-accel, lags are gone when I close chromium, and also I have gui freeze for ~10 second.
does somebody have such problem?

Yes, it's what was mentionned by Korialo and joaopauloalbq above. It currently creates a memory leak. And the hang at exit is because Xorg is taking forever to cleanup and release all the memory that was allocated for chrome.

I opened https://bugs.chromium.org/p/chromium/is … id=1467689   feel free to chime in and add any info you have ...

I have the same problem, but only using "modesetting" dirver. With old intel driver it's ok.

Offline

#825 2023-07-26 15:17:51

246tnt
Member
Registered: 2023-07-26
Posts: 9

Re: chromium: hardware video acceleration with VA-API

guiodic wrote:

I have the same problem, but only using "modesetting" dirver. With old intel driver it's ok.

Oh that's interesting.

Which hardware do you have ?

Here I have a 12th gen intel and the intel driver is too broken for that platform AFAICT, it causes more issues than it solves.

Offline

Board footer

Powered by FluxBB