1

I follow https://wiki.qt.io/RaspberryPi2EGLFS to cross-compile qt5.7 qtwebengine on raspberry pi2(raspbian-jessie) , and try to use the qtwebengine/examples/webenginewidgets/demobrowser and simplebrowser to play html5 video tag

However, there are two major problems:

First , there is no sound for video , you can see the similar question qtwebengine no sound in embedded linux, the video is played but no sound output.

Second, the video is laggy, I believed it is not hardware accelerated because once I execute the program, it outputs the following message:

/simplebrowser
ble to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
[0803/134150:ERROR:browser_main_loop.cc(217)] Running without the SUID sandbox! See ttps://chromium.googlesource.com/chromium/src/+/master/docs/linux_suid_sandbox_development.md for more information on developing with the sandbox on.
[0803/134150:ERROR:surface_factory_qt.cpp(68)] Failed to load /opt/vc/lib/libGLESv2.so.2: /opt/vc/lib/libGLESv2.so.2: cannot open shared object file: No such file or directory
[0803/134150:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134150:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134150:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134150:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134150:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134150:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134150:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134150:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134150:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134153:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134153:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134153:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134153:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134153:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134153:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134153:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134153:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134153:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134153:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
[0803/134153:ERROR:gl_surface_qt.cpp(414)] Trying to create surface with invalid display.
[0803/134153:ERROR:command_buffer_proxy_impl.cc(201)] Failed to initialize command buffer service.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(210)] CommandBufferProxy::Initialize failed.
[0803/134153:ERROR:webgraphicscontext3d_command_buffer_impl.cc(229)] Failed to initialize command buffer.
js: Refused to set unsafe header "User-Agent"
js: Refused to set unsafe header "User-Agent"
js: Refused to set unsafe header "User-Agent"

I think it is failed to load libGLESv2.so.2 so the hardware acceleration is turned off.

Does anyone have any idea or experience about this?

Thank you very much.

Community
  • 1
  • 1

1 Answers1

0

About audio, i answered in link which you mentioned (QtWebEngine Quicknano has no Sound in Embedded Linux).

About Video, do you enable property codec support? I dont know how it works with broadcome cpu but on my freescale board with property codec and one patch for chromium I have audio and video smooth.

Note: witout X11, just eglfs and alsa for audio.

Community
  • 1
  • 1
  • Dear Wojciech Koprowski: about the video part, I do enable WEBENGINE_CONFIG+=use_proprietary_codecs to support h264 video, can you share the patch for chromium you mentioned above to me? thanks. – user2717600 Aug 15 '16 at 13:23
  • Sorry, this patch is part of commercial version of Qt, so I think that I cannot share it. But this patch is designed only for Vivante GPU because lack of texture_rg support. So it shouldn't be the problem with Raspberry Pi. Make sure that you add all hardware multimedia support to your build of Linux (In your case lack of OpenGL libs). – Wojciech Koprowski Aug 17 '16 at 08:35