Hi,
we have chromium-ozone-wayland_94 running on yocto gatesgarth. It looks like it runs without hardware acceleration for CSS animations, which is making it very sluggish compared to X11 with a older chromium version.
Is there a solution for this issue?
Hi @BaNe,
I can suggest applying the flags to run chromium with hardware acceleration as follows:
Type on the browser
chrome://flags
Then set the following flags
chrome://flags/#ignore-gpu-blocklist
chrome://flags/#enable-accelerated-video-decode
chrome://flags/#enable-gpu-rasterization
If these flags don't works please help me using the following command on chromium.
chrome://gpu
This command will help me to analyze the issue with the gpu acceleration.
Have a great day!
Hi @brian14
I tried the parameters and this is what about gpu shows:
Graphics Feature Status
Canvas: Hardware accelerated
Canvas out-of-process rasterization: Disabled
Direct Rendering Display Compositor: Disabled
Compositing: Software only. Hardware acceleration disabled
Multiple Raster Threads: Enabled
OpenGL: Enabled
Rasterization: Hardware accelerated on all pages
Raw Draw: Disabled
Skia Renderer: Enabled
Video Decode: Software only. Hardware acceleration disabled
Video Encode: Software only. Hardware acceleration disabled
Vulkan: Disabled
WebGL: Hardware accelerated but at reduced performance
WebGL2: Hardware accelerated but at reduced performance
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
Accelerated video encode has been disabled, either via blocklist, about:flags or the command line.
Disabled Features: video_encode
Accelerated video decode has been disabled, either via blocklist, about:flags or the command line.
Disabled Features: video_decode
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
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Expose WebGL's disjoint_timer_query extensions on platforms with site isolation: 808744, 870491
Applied Workarounds: enable_webgl_timer_query_extensions
Some drivers can't recover after OUT_OF_MEM and context lost: 893177
Applied Workarounds: exit_on_context_lost
Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010
Applied Workarounds: disable(GL_MESA_framebuffer_flip_y)
Version Information
Data exported 2023-06-28T08:57:12.299Z
Chrome version Chrome/101.0.4951.54
Operating system Linux 5.4.84-botox+g789b344baa2c
Software rendering list URL https://chromium.googlesource.com/chromium/src/+/67da1aeb32cedd27634ca6634fb79cbd85d3f0ab/gpu/config/software_rendering_list.json
Driver bug list URL https://chromium.googlesource.com/chromium/src/+/67da1aeb32cedd27634ca6634fb79cbd85d3f0ab/gpu/config/gpu_driver_bug_list.json
ANGLE commit id unknown hash
2D graphics backend Skia/101 e72c4af441c8c842236343f3c218bf4a349df9be
Command Line /usr/bin/chromium --ozone-platform=wayland --disable-features=VizDisplayCompositor --in-process-gpu --disable-features=VizDisplayCompositor --enable-crashpad --gpu-preferences=WAAAAAAAAAAoAAAIAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA== --in-process-gpu --no-sandbox --ozone-platform=wayland --enable-crashpad --flag-switches-begin --enable-gpu-rasterization --ignore-gpu-blocklist --flag-switches-end --gpu-preferences=WAAAAAAAAAAoAAAoAAAAAAAAAAAAAAAAAABgAAAAAAA4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAACAAAAAAAAAAIAAAAAAAAAA==
Driver Information
Initialization time 216
In-process GPU true
Passthrough Command Decoder false
Sandboxed false
GPU0 VENDOR= 0x0000, DEVICE=0x0000
Optimus false
AMD switchable false
Driver vendor
Driver version
GPU CUDA compute capability major version 0
Pixel shader version
Vertex shader version
Max. MSAA samples
Machine model name
Machine model version
GL_VENDOR
GL_RENDERER
GL_VERSION
GL_EXTENSIONS
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
Window system binding version
Window system binding extensions
Interfaces exposed by the Wayland compositor wl_compositor:4 wl_subcompositor:1 wp_viewporter:1 zxdg_output_manager_v1:2 wp_presentation:1 zwp_alpha_compositing_v1:1 zwp_relative_pointer_manager_v1:1 zwp_pointer_constraints_v1:1 zwp_input_timestamps_manager_v1:1 wl_data_device_manager:3 wl_shm:1 weston_touch_calibration:1 wl_viv:1 zwp_linux_explicit_synchronization_v1:2 wl_seat:7 wl_output:3 zwp_input_panel_v1:1 zwp_input_method_v1:1 zwp_text_input_manager_v1:1 xdg_wm_base:1 zxdg_shell_v6:1 wl_shell:1 weston_desktop_shell:1 weston_screenshooter:1 zwp_linux_dmabuf_v1:3 wl_drm:2
Ozone platform wayland
Direct rendering version unknown
Reset notification strategy 0x0000
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 One-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[18] bounds=[0,0 1280x800], workarea=[0,0 1280x800], scale=1, rotation=0, panel_rotation=0 external.
Color space (all) {primaries:BT709, transfer:SRGB, matrix:RGB, range:FULL}
Buffer format (all) RGBA_8888
SDR white level in nits 100
HDR relative maximum luminance 1
Bits per color component 8
Bits per pixel 24
Video Acceleration Information
Encoding
Vulkan Information
Device Performance Information
chromium puts into the console
[3762:3782:0628/085115.075446:ERROR:file_path_watcher_linux.cc(321)] inotify_init() failed: Too many open files (24)
[ 1] Failed EGL API GetProcAddress: eglBindWaylandDisplayWL !
[ 2] Failed EGL API GetProcAddress: eglUnbindWaylandDisplayWL !
[ 3] Failed EGL API GetProcAddress: eglQueryWaylandBufferWL !
[ 4] Failed EGL API GetProcAddress: eglUpdateWaylandBufferWL !
[ 5] Failed EGL API GetProcAddress: eglSwapBuffersWithDamageEXT !
[ 6] Failed EGL API GetProcAddress: eglPatchID !
[ 7] Failed ES_Common API GetProcAddress: forward_glActiveTexture !
[ 8] Failed ES_Common API GetProcAddress: forward_glBindBuffer !
[ 9] Failed ES_Common API GetProcAddress: forward_glBindTexture !
[ 10] Failed ES_Common API GetProcAddress: forward_glBlendFunc !
[ 11] Failed ES_Common API GetProcAddress: forward_glBufferData !
[ 12] Failed ES_Common API GetProcAddress: forward_glBufferSubData !
[ 13] Failed ES_Common API GetProcAddress: forward_glClear !
[ 14] Failed ES_Common API GetProcAddress: forward_glClearColor !
[ 15] Failed ES_Common API GetProcAddress: forward_glClearDepthf !
[ 16] Failed ES_Common API GetProcAddress: forward_glClearStencil !
[ 17] Failed ES_Common API GetProcAddress: forward_glColorMask !
[ 18] Failed ES_Common API GetProcAddress: forward_glCompressedTexImage2D !
[ 19] Failed ES_Common API GetProcAddress: forward_glCompressedTexSubImage2D !
[ 20] Failed ES_Common API GetProcAddress: forward_glCopyTexImage2D !
[ 21] Failed ES_Common API GetProcAddress: forward_glCopyTexSubImage2D !
[ 22] Failed ES_Common API GetProcAddress: forward_glCullFace !
[ 23] Failed ES_Common API GetProcAddress: forward_glDeleteBuffers !
[ 24] Failed ES_Common API GetProcAddress: forward_glDeleteTextures !
[ 25] Failed ES_Common API GetProcAddress: forward_glDepthFunc !
[ 26] Failed ES_Common API GetProcAddress: forward_glDepthMask !
[ 27] Failed ES_Common API GetProcAddress: forward_glDepthRangef !
[ 28] Failed ES_Common API GetProcAddress: forward_glDisable !
[ 29] Failed ES_Common API GetProcAddress: forward_glDrawArrays !
[ 30] Failed ES_Common API GetProcAddress: forward_glDrawElements !
[ 31] Failed ES_Common API GetProcAddress: forward_glEnable !
[ 32] Failed ES_Common API GetProcAddress: forward_glFinish !
[ 33] Failed ES_Common API GetProcAddress: forward_glFlush !
[ 34] Failed ES_Common API GetProcAddress: forward_glFrontFace !
[ 35] Failed ES_Common API GetProcAddress: forward_glGenBuffers !
[ 36] Failed ES_Common API GetProcAddress: forward_glGenTextures !
[ 37] Failed ES_Common API GetProcAddress: forward_glGetBooleanv !
[ 38] Failed ES_Common API GetProcAddress: forward_glGetBufferParameteriv !
[ 39] Failed ES_Common API GetProcAddress: forward_glGetError !
[ 40] Failed ES_Common API GetProcAddress: forward_glGetFloatv !
[ 41] Failed ES_Common API GetProcAddress: forward_glGetIntegerv !
[ 42] Failed ES_Common API GetProcAddress: forward_glGetPointerv !
[ 43] Failed ES_Common API GetProcAddress: forward_glGetString !
[ 44] Failed ES_Common API GetProcAddress: forward_glGetTexParameterfv !
[ 45] Failed ES_Common API GetProcAddress: forward_glGetTexParameteriv !
[ 46] Failed ES_Common API GetProcAddress: forward_glHint !
[ 47] Failed ES_Common API GetProcAddress: forward_glIsBuffer !
[ 48] Failed ES_Common API GetProcAddress: forward_glIsEnabled !
[ 49] Failed ES_Common API GetProcAddress: forward_glIsTexture !
[ 50] Failed ES_Common API GetProcAddress: forward_glLineWidth !
[ 51] Failed ES_Common API GetProcAddress: forward_glPixelStorei !
[ 52] Failed ES_Common API GetProcAddress: forward_glPolygonOffset !
[ 53] Failed ES_Common API GetProcAddress: forward_glReadPixels !
[ 54] Failed ES_Common API GetProcAddress: forward_glSampleCoverage !
[ 55] Failed ES_Common API GetProcAddress: forward_glScissor !
[ 56] Failed ES_Common API GetProcAddress: forward_glStencilFunc !
[ 57] Failed ES_Common API GetProcAddress: forward_glStencilMask !
[ 58] Failed ES_Common API GetProcAddress: forward_glStencilOp !
[ 59] Failed ES_Common API GetProcAddress: forward_glTexImage2D !
[ 60] Failed ES_Common API GetProcAddress: forward_glTexParameterf !
[ 61] Failed ES_Common API GetProcAddress: forward_glTexParameterfv !
[ 62] Failed ES_Common API GetProcAddress: forward_glTexParameteri !
[ 63] Failed ES_Common API GetProcAddress: forward_glTexParameteriv !
[ 64] Failed ES_Common API GetProcAddress: forward_glTexSubImage2D !
[ 65] Failed ES_Common API GetProcAddress: forward_glViewport !
[ 66] Failed ES_Common API GetProcAddress: forward_glMapBufferOES !
[ 67] Failed ES_Common API GetProcAddress: forward_glUnmapBufferOES !
[ 68] Failed ES_Common API GetProcAddress: forward_glEGLImageTargetTexture2DOES !
[ 69] Failed ES_Common API GetProcAddress: forward_glEGLImageTargetRenderbufferStorageOES !
[ 70] Failed ES_Common API GetProcAddress: forward_glMultiDrawArraysEXT !
[ 71] Failed ES_Common API GetProcAddress: forward_glMultiDrawElementsEXT !
[ 72] Failed ES_Common API GetProcAddress: forward_glTexDirectVIV !
[ 73] Failed ES_Common API GetProcAddress: forward_glTexDirectInvalidateVIV !
[ 74] Failed ES_Common API GetProcAddress: forward_glTexDirectVIVMap !
[ 75] Failed ES_Common API GetProcAddress: forward_glTexDirectTiledMapVIV !
[ 76] Failed GLES32 API GetProcAddress: glMultiDrawArraysEXT !
[ 77] Failed GLES32 API GetProcAddress: glMultiDrawElementsEXT !
[ 78] Failed GLES32 API GetProcAddress: glTexDirectVIV !
[ 79] Failed GLES32 API GetProcAddress: glTexDirectInvalidateVIV !
[ 80] Failed GLES32 API GetProcAddress: glTexDirectVIVMap !
[ 81] Failed GLES32 API GetProcAddress: glTexDirectTiledMapVIV !
[ 82] Failed GLES32 API GetProcAddress: glGetTexImage !
[ 83] Failed ES Common GLES2X API GetProcAddress: glMultiDrawArraysEXT !
[3762:3793:0628/085115.206123:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.206811:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.206887:ERROR:gpu_info_collector.cc(93)] gl::init::CreateGLContext failed
[3762:3793:0628/085115.206938:ERROR:gpu_info_collector.cc(365)] Could not create context for info collection.
[3762:3793:0628/085115.208457:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.208537:ERROR:gpu_info_collector.cc(93)] gl::init::CreateGLContext failed
[3762:3793:0628/085115.208587:ERROR:gpu_info_collector.cc(365)] Could not create context for info collection.
[3798:3816:0628/085115.347612:ERROR:file_path_watcher_linux.cc(321)] inotify_init() failed: Too many open files (24)
[3762:3762:0628/085115.385733:ERROR:cursor_loader.cc(116)] Failed to load a platform cursor of type kNull
[3762:3793:0628/085115.709612:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.709728:ERROR:gpu_channel_manager.cc(831)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
[3762:3793:0628/085115.709780:ERROR:shared_image_stub.cc(537)] SharedImageStub: unable to create context
[3762:3793:0628/085115.709848:ERROR:gpu_channel.cc(572)] GpuChannel: Failed to create SharedImageStub
[3762:3793:0628/085115.710069:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.710136:ERROR:gpu_channel_manager.cc(831)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
[3762:3793:0628/085115.710182:ERROR:shared_image_stub.cc(537)] SharedImageStub: unable to create context
[3762:3793:0628/085115.710247:ERROR:gpu_channel.cc(572)] GpuChannel: Failed to create SharedImageStub
[3762:3793:0628/085115.710449:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.710528:ERROR:gpu_channel_manager.cc(831)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
[3762:3793:0628/085115.710581:ERROR:shared_image_stub.cc(537)] SharedImageStub: unable to create context
[3762:3793:0628/085115.710652:ERROR:gpu_channel.cc(572)] GpuChannel: Failed to create SharedImageStub
[3762:3851:0628/085115.715385:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3762:3851:0628/085115.716929:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3762:3851:0628/085115.718359:ERROR:object_proxy.cc(623)] Failed to call method: org.freedesktop.UPower.EnumerateDevices: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3762:3793:0628/085115.726681:ERROR:gl_context_egl.cc(352)] eglCreateContext failed with error EGL_SUCCESS
[3762:3793:0628/085115.726790:ERROR:gpu_channel_manager.cc(831)] ContextResult::kFatalFailure: Failed to create shared context for virtualization.
[3762:3793:0628/085115.726850:ERROR:shared_image_stub.cc(537)] SharedImageStub: unable to create context
[3762:3793:0628/085115.726930:ERROR:gpu_channel.cc(572)] GpuChannel: Failed to create SharedImageStub