This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM5728: Chromium 75.0.3770.142 stable - can't use GPU

Part Number: AM5728

Hello.

Linux kernel 4.19.79-ga417f4d752

As the title says, "Chromium 75.0.3770.142" stable can't be used in tandem with GPU on am5728:

If i start chromium with "--disable-gpu" switch, the browser starts and renders the page correctly. I can then move and interact with it

log with --disable-gpu switch:

root@konECS:~# /usr/bin/chromium --disable-gpu --no-sandbox --enable-logging --v=1 --kiosk http://localhost:8080/index.html
[3308:3341:1108/100028.558983:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
[3308:3308:1108/100028.630109:ERROR:desktop_window_tree_host_platform.cc(446)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::InitModalType(ui::ModalType)
[3308:3308:1108/100028.630601:ERROR:desktop_window_tree_host_platform.cc(456)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsAnimatingClosed() const
[3308:3308:1108/100028.632869:ERROR:desktop_window_tree_host_platform.cc(469)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SizeConstraintsChanged()
[3308:3308:1108/100028.688738:ERROR:desktop_window_tree_host_platform.cc(440)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SetWindowIcons(const gfx::ImageSkia&, const gfx::ImageSkia&)
[3308:3308:1108/100028.689301:ERROR:desktop_window_tree_host_platform.cc(372)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::SetWindowTitle(const string16&)
[3308:3308:1108/100028.768512:ERROR:desktop_window_tree_host_platform.cc(310)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::Activate()
[3308:3308:1108/100028.775144:ERROR:desktop_window_tree_host_platform.cc(227)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsVisible() const
[3338:3382:1108/100029.139287:ERROR:wayland_canvas_surface.cc(100)] Not implemented reached in virtual std::unique_ptr<gfx::VSyncProvider> ui::WaylandCanvasSurface::CreateVSyncProvider()
[3338:3382:1108/100029.172523:ERROR:wayland_canvas_surface.cc(106)] Not implemented reached in virtual void ui::WaylandCanvasSurface::OnSubmission(uint32_t, const gfx::SwapResult&)
[3338:3382:1108/100029.257458:ERROR:wayland_canvas_surface.cc(113)] Not implemented reached in virtual void ui::WaylandCanvasSurface::OnPresentation(uint32_t, const gfx::PresentationFeedback&)
[3344:3378:1108/100029.429147:ERROR:socket_posix.cc(94)] CreatePlatformSocket() failed: Address family not supported by protocol (97)
[3344:3378:1108/100029.442211:ERROR:socket_posix.cc(94)] CreatePlatformSocket() failed: Address family not supported by protocol (97)
[3344:3378:1108/100039.049761:ERROR:socket_posix.cc(94)] CreatePlatformSocket() failed: Address family not supported by protocol (97)

however if I want to start chromium and I want it to use GPU (switch --use-gl=egl), chromium doesn't render at all. I can see it starts because after chromium starts with custom website, it should click a relay and it does happen.

log with --use-gl=egl

root@konECS:~# /usr/bin/chromium --use-gl=egl --no-sandbox --enable-logging --v=1 --kiosk http://localhost:8080/index.htmlml
[3740:3774:1108/100236.048136:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
[3740:3740:1108/100236.131290:ERROR:desktop_window_tree_host_platform.cc(446)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::InitModalType(ui::ModalType)
[3740:3740:1108/100236.131646:ERROR:desktop_window_tree_host_platform.cc(456)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsAnimatingClosed() const
[3740:3740:1108/100236.133759:ERROR:desktop_window_tree_host_platform.cc(469)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SizeConstraintsChanged()
[3740:3740:1108/100236.181914:ERROR:desktop_window_tree_host_platform.cc(440)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::SetWindowIcons(const gfx::ImageSkia&, const gfx::ImageSkia&)
[3740:3740:1108/100236.182418:ERROR:desktop_window_tree_host_platform.cc(372)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::SetWindowTitle(const string16&)[3740:3740:1108/100236.264388:ERROR:desktop_window_tree_host_platform.cc(310)] Not implemented reached in virtual void views::DesktopWindowTreeHostPlatform::Activate()
[3740:3740:1108/100236.277703:ERROR:desktop_window_tree_host_platform.cc(227)] Not implemented reached in virtual bool views::DesktopWindowTreeHostPlatform::IsVisible() const
[3772:3805:1108/100236.887340:ERROR:socket_posix.cc(94)] CreatePlatformSocket() failed: Address family not supported by protocol (97)
CreateImageShared: Failed to create buffer
[3770:3814:1108/100236.942160:ERROR:gbm_pixmap_wayland.cc(76)] Cannot create bo with format= BGRA_8888 and usage SCANOUT
[3772:3805:1108/100236.948038:ERROR:socket_posix.cc(94)] CreatePlatformSocket() failed: Address family not supported by protocol (97)
[3770:3770:1108/100236.974810:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3770:3770:1108/100236.975417:ERROR:gles2_cmd_decoder.cc(13423)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unknown texture
CreateImageShared: Failed to create buffer
[3854:3865:1108/100244.794087:ERROR:gbm_pixmap_wayland.cc(76)] Cannot create bo with format= BGRA_8888 and usage SCANOUT
[3854:3854:1108/100244.814031:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.814543:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.814916:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.815316:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.816598:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.817062:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.833463:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.845371:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.845842:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.846283:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.846707:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.847074:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.847455:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.847790:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.848139:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.848469:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.848825:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3854:3854:1108/100244.849140:ERROR:gles2_cmd_decoder.cc(13423)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unknown texture
[3772:3805:1108/100248.290289:ERROR:socket_posix.cc(94)] CreatePlatformSocket() failed: Address family not supported by protocol (97)
CreateImageShared: Failed to create buffer
[3898:3910:1108/100252.069595:ERROR:gbm_pixmap_wayland.cc(76)] Cannot create bo with format= BGRA_8888 and usage SCANOUT
[3898:3898:1108/100252.094931:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.095448:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.095940:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.096333:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.096673:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.097000:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.112224:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.126648:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.127176:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.127634:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.127990:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.128346:ERROR:gles2_cmd_decoder.cc(4926)] [.DisplayCompositor]GL ERROR :GL_INVALID_FRAMEBUFFER_OPERATION : glDrawElements: framebuffer incomplete
[3898:3898:1108/100252.128891:ERROR:gles2_cmd_decoder.cc(13423)] [.DisplayCompositor]GL ERROR :GL_INVALID_VALUE : glScheduleOverlayPlaneCHROMIUM: unknown texture
[3926:3934:1108/100256.887241:ERROR:wayland_canvas_surface.cc(100)] Not implemented reached in virtual std::unique_ptr<gfx::VSyncProvider> ui::WaylandCanvasSurface::CreateVSyncProvider()
[3789:3808:1108/100256.897986:ERROR:command_buffer_proxy_impl.cc(107)] ContextResult::kTransientFailure: Shared memory region is not valid
2023 Nov  8 10:03:55 konECS Process 3770 (chromium-bin) of user 0 dumped core.
2023 Nov  8 10:04:07 konECS Process 3854 (chromium-bin) of user 0 dumped core.
2023 Nov  8 10:04:09 konECS Process 3898 (chromium-bin) of user 0 dumped core.

I tried installing older version (google-chrome "Chromium 53.0.2785.143"), and surely it works with egl and runs a gpu process (but it has problems of its own, it doesn't register any gpio-keys-polled keypresses, so we can't use older versions)

I tried running examples (kmscube and such) and all of them work properly (rendering, usage of GPU, etc.).

What could be the issue with chromium 75? is it possible that running it in --no-sandbox mode restricts its capabilities to create gpu-process thread?

  • Hello Ivan,

    The team has not looked into recent compatibility of the SGX GPU driver with Chromium releases. At the moment this is not something being considered in our SW roadmap.

    If i start chromium with "--disable-gpu" switch, the browser starts and renders the page correctly. I can then move and interact with it

    This makes sense. If the GPU driver is disabled, you won't see the incompatibility and chromium will fallback to SW rasterization.

    I tried installing older version (google-chrome "Chromium 53.0.2785.143"), and surely it works with egl and runs a gpu process (but it has problems of its own, it doesn't register any gpio-keys-polled keypresses, so we can't use older versions)

    It looks like the compatibility was broken somewhere in-between the v53 and v75.

    I tried running examples (kmscube and such) and all of them work properly (rendering, usage of GPU, etc.).

    This shows that the GPU driver is functional, just not compatible with the current SGX driver.

    Cannot create bo with format= BGRA_8888 and usage SCANOUT

    This seems to be one of the issues faced. Perhaps if you enabled verbose logs on the older version of Chromium, you can see if it tried to do this operation before, and if it was the same format or a different format.

    Regards,

    Erick

  • Hello Erick,

    What alternative do you provide instead of using chromium. If we don't have GPU rendering, cpu usage is 100%. We have tried using QTWebEngine (simplebrowser, etc.) but to no avail. It also uses 100% cpu when rendering new screens (scrolling the page, switching pages, etc.). Is there any list of qt simplebrowser (or any other) startup switches/flags to force it to use GPU?

    Kind regards,

    Ivan

  • Ivan,

    We currently don't maintain the SDK support with the latest releases on these open source packages.

    QTWebEngine seems to use some Chromium components, so not sure if it will work with Chromium not getting GPU acceleration either.

    Is there any list of qt simplebrowser (or any other) startup switches/flags to force it to use GPU?

    I don't have these, you can check with the QT community on this. But there could still be integration challenges if there are updates expected with the GPU driver to meet the latest requirements.

    Regards,

    Erick

  • Hello Erick,

    Correct me if I didn't understand correctly.

    You are saying that you don't have nor will look into any possible way to have browser with hardware acceleration?

    Regards,

    Ivan

  • Ivan,

    As I understand, there was acceleration in an older version of Chromium:

    I tried installing older version (google-chrome "Chromium 53.0.2785.143"), and surely it works with egl and runs a gpu process (but it has problems of its own, it doesn't register any gpio-keys-polled keypresses, so we can't use older versions)

    It looks like Chromium was removed from the default SDK in SDK 6.x, but the last version that was present is the version you were trying. There have been no development efforts I'm aware of to keep compatibility with the latest releases.

    Regards,

    Erick

  • Hello Erick

    yes, but that release of chrome has its own flaws. mainly the GPIO keyboard doesn't work with that version of chrome.

    If i start google-chrome(v53) and chromium(v75) and both are working, i can use GPIO-polled keyboard to navigate on chromium v75, but doesn't work on google-chrome v53. I cannot state how big of an issue that is.

    Regards,

    Ivan

  • Ivan,

    Understood. Chromium support has been removed in these later SDKs, so they are not supported at this time. It is a coincidence that v53 works since it was the last working version, but it looks like there is no more active support to keep it up to date.

    Regards,

    Erick