Skip to content

Hardware Acceleration not working in Version 120.0.6099.224 on Raspberry Pi 4/Computer Module 4 #876

@amrbekhit

Description

@amrbekhit

Hello,

I'm trying to integrate meta-browser/chromium into our existing Yocto build for our Raspberry Pi CM4 based system using Yocto Dunfell. The browser builds and works just fine on the device, but hardware acceleration is not working at all. The drivers appear to be present just fine on the device.

Here are the additions to local.conf:

## GUI changes
IMAGE_FEATURES_append = " x11-base splash"
DISTRO_FEATURES_append = " opengl x11"
IMAGE_INSTALL_append = " epiphany mesa-demos libva libva-utils"
IMAGE_INSTALL_append = " idh-kiosk"

## Chromium
IMAGE_INSTALL_append = " chromium-x11"
PREFERRED_VERSION_nodejs-native = "14.%"

For clang, I'm using the dunfell-clang14 branch.

I've attached the output of chrome://gpu to this issue.

Below are the command outputs testing for OpenGL on the device:

root@idh-rpi4:~# glxinfo | grep -i "opengl renderer"
OpenGL renderer string: V3D 4.2
root@idh-rpi4:~# glxinfo | grep -i "direct rendering"
direct rendering: Yes
root@idh-rpi4:~# lsmod | grep -E "vc4|v3d"
v3d                    69632  4
vc4                   241664  4
gpu_sched              36864  1 v3d
cec                    49152  1 vc4
snd_soc_core          204800  1 vc4
snd_pcm                98304  3 vc4,snd_pcm_dmaengine,snd_soc_core
root@idh-rpi4:~# dmesg | grep -i drm
[    4.446543] vc4-drm gpu: bound fe600000.firmwarekms (ops vc4_fkms_ops [vc4])
[    4.446585] fb0: switching to vc4drmfb from simple
[    4.448787] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    4.448809] [drm] No driver support for vblank timestamp query.
[    4.448827] [drm] Setting vblank_disable_immediate to false because get_vblank_timestamp == NULL
[    4.449452] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 0
[    4.453206] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 1
[    4.545917] vc4-drm gpu: fb0: vc4drmfb frame buffer device
root@idh-rpi4:~# chromium --no-sandbox --disable-gpu-driver-bug-workarounds --use-gl=egl --enable-gpu-rasterization --enable-zero-copy --enable-features=VaapiVideoDecoder --disable-features=UseChromeOSDirectVideoDecoder --disable-software-rasterizer --dump-gpu-info
[945:963:0310/105328.962642:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:963:0310/105328.963084:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:963:0310/105328.963217:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:963:0310/105328.963350:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:945:0310/105328.987860:ERROR:policy_logger.cc(156)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(161) Cloud management controller initialization aborted as CBCM is not enabled. Please use the `--enable-chrome-browser-cloud-management` command line flag to enable it if you are not using the official Google Chrome build.
[945:963:0310/105329.110572:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:963:0310/105329.110800:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:963:0310/105329.451498:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:963:0310/105329.451719:ERROR:bus.cc(407)] Failed to connect to the bus: Could not parse server address: Unknown address type (examples of valid types are "tcp" and on UNIX "unix")
[945:945:0310/105329.890090:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=11
[945:945:0310/105330.225083:ERROR:gpu_process_host.cc(992)] GPU process exited unexpectedly: exit_code=11

[about-gpu-2025-03-11T08-11-16-020Z.txt](https://github.com/user-attachments/files/19181473/about-gpu-2025-03-11T08-11-16-020Z.txt)

root@idh-rpi4:~# strace -e openat chromium 2>&1 | grep -iE "libEGL|libGL"
openat(AT_FDCWD, "/usr/lib/chromium/libglib-2.0.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libglib-2.0.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/chromium/libGL.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libGL.so.1", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/v7l/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/v7l/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/v7l/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/v7l/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/tls/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/v7l/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/v7l/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/v7l/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/v7l/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/glapi/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/v7l/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/v7l/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/v7l/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/v7l/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/tls/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/v7l/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/v7l/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/v7l/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/v7l/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/neon/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/neon/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/vfp/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/../mapi/shared-glapi/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/chromium/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib/libglapi.so.0", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3
root@idh-rpi4:~# 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions