Hardware accelarated video decoding in chromium

This is weird. Which desktop session is this?

good old xserver on gnome 3.32.2

I’ve installed your build locally with
dnf install *.rpm

Are there any other dependencies which might cause that?

I’m also using chromium-freeworld.
When I first installed chromium-freeworld I had to remove the chromium from rpm due to dependency issues. So right now I’m only using chromium-freeworld.

Still, my posted results are from the chromium instance you’ve linked me to.

1 Like

Somehow vaInitialize failed and I don’t know the cause. But still shows it’s accelerated.

Tbh, I’m confused right now. Can you please test around different video websites and report?

(Apart from youtube)

Sorry, I don’t own Nvidia GPUs, so can’t test. :frowning:

Ok, no worries. I’m also using a custom shell theme, but I think this shouldn’t make a difference. To be sure I switched to gnomes default shell and tested again, but no difference.

After watching videos on 5 different plattforms that’s the output:
(I couldn’t post the whole thing due to char limits)

So to investigate further it might be better to shift the log posting to a different channel.

Log Messages


* [24830:24830:0708/150118.608385:ERROR:vaapi_wrapper.cc(455)] : GetConfigAttributes failed for va_profile 5
* [24830:24830:0708/150118.608415:ERROR:vaapi_wrapper.cc(455)] : GetConfigAttributes failed for va_profile 6
* [24830:24830:0708/150118.608418:ERROR:vaapi_wrapper.cc(455)] : GetConfigAttributes failed for va_profile 7
* [24830:24830:0708/150151.661923:ERROR:vaapi_wrapper.cc(347)] : vaInitialize failed (ignore if using Wayland desktop environment, refer:(Github)akarshanbiswas/chromium-vaapi/issues/7): unknown libva error
* [24830:24830:0708/150151.662065:ERROR:vaapi_wrapper.cc(355)] : vaInitialize failed using DRM: unknown libva error
* [24830:24830:0708/150151.662093:ERROR:vaapi_wrapper.cc(1026)] : Failed to create VaapiWrapper for va_profile: 6
* [24830:24830:0708/150151.662126:ERROR:gpu_video_decode_accelerator_factory.cc(187)] : Initialization of one or more VDAs failed.
* [24830:24830:0708/150231.349984:ERROR:vaapi_wrapper.cc(347)] : vaInitialize failed (ignore if using Wayland desktop environment, refer:(Github)akarshanbiswas/chromium-vaapi/issues/7): unknown libva error
* [24830:24830:0708/150231.350069:ERROR:vaapi_wrapper.cc(355)] : vaInitialize failed using DRM: unknown libva error
* [24830:24830:0708/150231.350076:ERROR:vaapi_wrapper.cc(1026)] : Failed to create VaapiWrapper for va_profile: 5
* [24830:24830:0708/150231.350105:ERROR:gpu_video_decode_accelerator_factory.cc(187)] : Initialization of one or more VDAs failed.
* [24830:24830:0708/150237.770060:WARNING:x11_util.cc(1422)] : X error received: serial 400, error_code 3 (BadWindow), request_code 4, minor_code 0 (Unknown)
* [24830:25024:0708/150237.799602:WARNING:x11_util.cc(1422)] : X error received: serial 5758, error_code 3 (BadWindow), request_code 4, minor_code 0 (Unknown)

* Akarshan Biswas just notices that it's running on an Nvidia 1060

That explains it.
Looks like libva-vdpau-driver needs an update.

1 Like

Is it already solved? Recently UnitedRPMs updated it. Can you test it

Nope. Why should it make a difference?
@akarshanbiswas is trying to get it working on the RPM version.
I assume that UnitedRPMs is using the RPM version and wraps around everything else.
The RPM build is still lacking a proper patch for nvidia cards of my gen (10x).

So the result is the same as before:

Log Messages

  • [21056:21056:0709/115056.813430:ERROR:vaapi_wrapper.cc(455)] : GetConfigAttributes failed for va_profile 5
  • [21056:21056:0709/115056.813466:ERROR:vaapi_wrapper.cc(455)] : GetConfigAttributes failed for va_profile 6
  • [21056:21056:0709/115056.813470:ERROR:vaapi_wrapper.cc(455)] : GetConfigAttributes failed for va_profile 7
  • [21056:21291:0709/115059.715685:WARNING:x11_util.cc(1422)] : X error received: serial 247, error_code 3 (BadWindow), request_code 4, minor_code 0 (Unknown)
  • [21056:21291:0709/115116.029613:WARNING:x11_util.cc(1422)] : X error received: serial 403, error_code 3 (BadWindow), request_code 4, minor_code 0 (Unknown)

Can you give me the output of vdpauinfo please?

The translation driver, i.e libva-vdpau-driver haven’t received an update in years. It’s when I asked @kwizart to include the vaSurfaceQueryAttributes patch to it and he included it by default (Huge thanks to him).

I believe that libva-vdpau-driver either not behaving well with your configuration or something else I’m not seeing. I have confirmed reports of other Nvidia owners with working GPU video acceleration with the latest patch.

Ok. Sry. The formatting isn’t so good by default.

display: :1 screen: 0
API version: 1
Information string: NVIDIA VDPAU Driver Shared Library 430.26 Tue Jun 4 17:43:17 CDT 2019

Video surface:

name width height types

420 8192 8192 NV12 YV12
422 8192 8192 UYVY YUYV
444 8192 8192 NV24 YV24

Decoder capabilities:

name level macbs width height

MPEG1 0 65536 4096 4096
MPEG2_SIMPLE 3 65536 4096 4096
MPEG2_MAIN 3 65536 4096 4096
H264_BASELINE 51 65536 4096 4096
H264_MAIN 51 65536 4096 4096
H264_HIGH 51 65536 4096 4096
VC1_SIMPLE 1 8190 2048 2048
VC1_MAIN 2 8190 2048 2048
VC1_ADVANCED 4 8190 2048 2048
MPEG4_PART2_SP 3 8192 2048 2048
MPEG4_PART2_ASP 5 8192 2048 2048
DIVX4_QMOBILE 0 8192 2048 2048
DIVX4_MOBILE 0 8192 2048 2048
DIVX4_HOME_THEATER 0 8192 2048 2048
DIVX4_HD_1080P 0 8192 2048 2048
DIVX5_QMOBILE 0 8192 2048 2048
DIVX5_MOBILE 0 8192 2048 2048
DIVX5_HOME_THEATER 0 8192 2048 2048
DIVX5_HD_1080P 0 8192 2048 2048
H264_CONSTRAINED_BASELINE 51 65536 4096 4096
H264_EXTENDED 51 65536 4096 4096
H264_PROGRESSIVE_HIGH 51 65536 4096 4096
H264_CONSTRAINED_HIGH 51 65536 4096 4096
H264_HIGH_444_PREDICTIVE 51 65536 4096 4096
HEVC_MAIN 153 262144 8192 8192
HEVC_MAIN_10 — not supported —
HEVC_MAIN_STILL — not supported —
HEVC_MAIN_12 — not supported —
HEVC_MAIN_444 — not supported —

Output surface:

name width height nat types

B8G8R8A8 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8
R10G10B10A2 32768 32768 y Y8U8V8A8 V8U8Y8A8 A4I4 I4A4 A8I8 I8A8

Bitmap surface:

name width height

B8G8R8A8 32768 32768
R8G8B8A8 32768 32768
R10G10B10A2 32768 32768
B10G10R10A2 32768 32768
A8 32768 32768

Video mixer:

feature name sup

DEINTERLACE_TEMPORAL y
DEINTERLACE_TEMPORAL_SPATIAL y
INVERSE_TELECINE y
NOISE_REDUCTION y
SHARPNESS y
LUMA_KEY y
HIGH QUALITY SCALING - L1 y
HIGH QUALITY SCALING - L2 -
HIGH QUALITY SCALING - L3 -
HIGH QUALITY SCALING - L4 -
HIGH QUALITY SCALING - L5 -
HIGH QUALITY SCALING - L6 -
HIGH QUALITY SCALING - L7 -
HIGH QUALITY SCALING - L8 -
HIGH QUALITY SCALING - L9 -

parameter name sup min max

VIDEO_SURFACE_WIDTH y 1 8192
VIDEO_SURFACE_HEIGHT y 1 8192
CHROMA_TYPE y
LAYERS y 0 4

attribute name sup min max

BACKGROUND_COLOR y
CSC_MATRIX y
NOISE_REDUCTION_LEVEL y 0.00 1.00
SHARPNESS_LEVEL y -1.00 1.00
LUMA_KEY_MIN_LUMA y
LUMA_KEY_MAX_LUMA y

1 Like

Thanks. Let me see what I can do. Also, you will still see failures in logs because libva-vdpau-driver doesn’t supports every feature that chromium wants.
I will give you a new build to test soon.

1 Like

any updates ? im having the same problem with GTX 1060 3gb , nvidia 435.12 ( used there website for installation )

@thasami Nope unfortunately.

Update: I’m disabling Nvidia support on the next chromium-vaapi update. It simply doesn’t work. It’s better to ask Nvidia to help in development of libva-vdpau-driver and/ or create a vaapi --> nvdec bridge. If they will co-operate then we can go ahead easily.

Hi, is there something doable for those with a inter GPU active while using NVIDIA as display provider? I tried i965 and iHD without success…

News?
BTW everything works fine with nvidia and chromium 73. So, what has been broken since that time?

Hmmm…
This is part of info from chrome://gpu of chromium 73:

Driver Information
Initialization time 194
In-process GPU false
Passthrough Command Decoder false
Sandboxed true
GPU0 VENDOR = 0x10de [NVIDIA Corporation], DEVICE= 0x1401 [GeForce GTX 960/PCIe/SSE2] ACTIVE
Optimus false
AMD switchable false
Driver vendor Nvidia
Driver version 440.31
Driver date
GPU CUDA compute capability major version 0
Pixel shader version 4.50
Vertex shader version 4.50
Max. MSAA samples 32
Machine model name
Machine model version
GL_VENDOR NVIDIA Corporation
GL_RENDERER GeForce GTX 960/PCIe/SSE2
GL_VERSION 4.5.0 NVIDIA 440.31

And this is one from chromium-freeworld 79:

Driver Information
Initialization time 53
In-process GPU false
Passthrough Command Decoder false
Sandboxed true
GPU0 VENDOR= 0x10de [Google Inc.], DEVICE=0x1401 [Google SwiftShader] ACTIVE
Optimus false
AMD switchable false
Driver vendor Nvidia
Driver version 440.31
GPU CUDA compute capability major version 0
Pixel shader version 3.00
Vertex shader version 3.00
Max. MSAA samples 4
Machine model name
Machine model version
GL_VENDOR Google Inc.
GL_RENDERER Google SwiftShader
GL_VERSION OpenGL ES 3.0 SwiftShader 4.1.0.7

Looks a bit strange, I mean thr driver’s vendor. Is that because you’ve switched off nvidia’s driver support?

Interesting part of chromium.spec:

Enable VAAPI support on Linux

NOTE: This patch will never land upstream

Patch202: enable-vaapi.patch
Patch203: chromium-75.0.3770.80-vaapi-i686-fpermissive.patch

Fix compatibility with VA-API library (libva) version 1

Patch204: chromium-75.0.3770.80-vaapi-libva1-compatibility.patch

Version 75! Version 73 has hardware acceleration for nvidia, and 75+ — has not…

And it was added at version 70 (?) :

  • enable vaapi support (thanks to Akarshan Biswas for doing the hard work here)

One more thing…
google-cromium-stable 79 has no HA and google-chrome-beta 80 — has.
So, possibly problems with nvidia in Chromium could be fixed in nearest future?