Cannot enable Chromium-freeworld hardware acceleration

Hi,
When ‘Use hardware acceleration when available’ is enabled in Chromium-freeworld, starting Chromium-freeworld displays the following error:
$ chromium-freeworld
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[6154:6154:0825/210622.467581:ERROR:vaapi_wrapper.cc(511)] vaInitialize failed: unknown libva error
[6154:6154:0825/210622.486505:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.

When the browser hardware acceleration is disabled:
$ chromium-freeworld
MESA-LOADER: failed to retrieve device information
MESA-LOADER: failed to open amdgpu (search paths /usr/lib64/dri)
failed to load driver: amdgpu
MESA-LOADER: failed to open kms_swrast (search paths /usr/lib64/dri)
failed to load driver: kms_swrast
MESA-LOADER: failed to open swrast (search paths /usr/lib64/dri)
failed to load swrast driver

my graphics card is AMD RX 480. information about the installed software:
chromium-freeworld-84.0.4147.125-1.fc32.x86_64
libva-2.7.1-1.fc32.x86_64
libva-utils-2.7.1-1.fc32.x86_64
mesa-dri-drivers-20.1.6-1.fc32.x86_64
mesa-vulkan-drivers-20.1.6-1.fc32.x86_64

Fedora release 32 (Thirty Two)
GNOME Shell 3.36.5
session type:Wayland

Test VA-API state:
$ vainfo
libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib64/dri/radeonsi_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.7.0.pre1)
vainfo: Driver version: Mesa Gallium driver 20.1.6 for AMD Radeon ™ RX 480 Graphics (POLARIS10, DRM 3.37.0, 5.7.16-200.fc32.x86_64, LLVM 10.0.0)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc

How to fix ‘chromium freeworld’ errors, thanks everyone!
I‘m very sorry about my English. I hope you can understand it.

1 Like

I think chromium-freeworld does not support VA-API through Xwayland as of yet. The work on Ozone and thus native wayland support is still in progress.

Can you please test if hardware acceleration is working as expected when starting your session with “GNOME on Xorg” in the login screen?

The used display server can be checked with echo $XDG_SESSION_TYPE (x11 = Xorg).

2 Likes

So that’s it. Thank you very much, Mershl.
Judging by the CPU usage, hardware acceleration seems to be working now.

<code>
$ echo $XDG_SESSION_TYPE
x11

$ chromium-freeworld 
[3404:3404:0826/001306.767920:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
mesa: for the --simplifycfg-sink-common option: may only occur zero or one times!
mesa: for the --global-isel-abort option: may only occur zero or one times!
mesa: for the --amdgpu-atomic-optimizations option: may only occur zero or one times!

I saw a report(link) that Chromium gets va-api on Wayland.

After I install the “chromium-libs-media-freeworld” package, Chromium still can’t play h.264/265 encoded video.

Because it doesn’t match the version of chromium in the Fedora repos or something?