cancel
Showing results for 
Search instead for 
Did you mean: 

QT5 camera, no service found for - "org.qt-project.qt.camera"

wG.1
Associate II

Hi team,
I have an STM32MP157 board with the following git branch.
a. buildroot: remotes/origin/st/2023.02.6
b. buildroot-external-st: remotes/origin/st/2023.02.2

I got the error message "no service found for - "org.qt-project.qt.camera"" when I run the QT5 example camera code.

but "mediaservice" is in /usr/lib/qt/plugins/.


The following are plugins:
# ls /usr/lib/qt/plugins/
audio imageformats qmltooling
bearer mediaservice scenegraph
egldeviceintegrations platforms video
generic playlistformats


export QT_DEBUG_PLUGINS=0 //open debug
export QT_PLUGIN_PATH=/usr/lib/qt/plugins/
root@buildroot:/usr/lib/qt/examples/multimediawidgets/camera
# ./camera
defaultServiceProvider::requestService(): no service found for - "org.qt-project.qt.camera"

The libraries appear to be loaded.
# ldd ./camera
linux-vdso.so.1 (0xbed92000)
libatomic.so.1 => /lib/libatomic.so.1 (0xb6f20000)
libQt5MultimediaWidgets.so.5 => /usr/lib/libQt5MultimediaWidgets.so.5 (0xb6ee0000)
libQt5Multimedia.so.5 => /usr/lib/libQt5Multimedia.so.5 (0xb6e10000)
libQt5Widgets.so.5 => /usr/lib/libQt5Widgets.so.5 (0xb6950000)
libQt5Gui.so.5 => /usr/lib/libQt5Gui.so.5 (0xb6590000)
libQt5Network.so.5 => /usr/lib/libQt5Network.so.5 (0xb6450000)
libQt5Core.so.5 => /usr/lib/libQt5Core.so.5 (0xb5fc0000)
libGLESv2.so.2 => /usr/lib/libGLESv2.so.2 (0xb5d9b000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb5c20000)
libm.so.6 => /lib/libm.so.6 (0xb5bc0000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb5b80000)
libc.so.6 => /lib/libc.so.6 (0xb5a20000)
/lib/ld-linux-armhf.so.3 (0xb6f84000)
libQt5OpenGL.so.5 => /usr/lib/libQt5OpenGL.so.5 (0xb59c0000)
libpng16.so.16 => /usr/lib/libpng16.so.16 (0xb5970000)
libz.so.1 => /usr/lib/libz.so.1 (0xb5930000)
libpcre2-16.so.0 => /usr/lib/libpcre2-16.so.0 (0xb58c0000)
libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb5890000)
libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb5760000)
libGAL.so => /usr/lib/libGAL.so (0xb5697000)
libVSC.so => /usr/lib/libVSC.so (0xb5388000)
libpcre.so.1 => /usr/lib/libpcre.so.1 (0xb5330000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb5300000)
librt.so.1 => /lib/librt.so.1 (0xb52d0000)

 

Would you give an advise?

Thanks for reading.

7 REPLIES 7
bbakram
ST Employee

Hello,

 

Can you please post your buildroot .config file here?

 

Which board revision and camera hardware were you using?

 

Are you using the STM32MP157 Discovery Kit or Evaluation board?

 

Best Regards,

Akram

wG.1
Associate II

Hello,
Attached file is .config file.
Using Webcam/UVC camera to test on STM32MP157-DK2.

Thanks & Best Regards

Hello,

 

I checked your configuration and indeed most of required Qt and GST1 plugins aren't enabled.
You will need to enable more of them to get your test app running.

 

For instance, the attached configuration should be suitable to have the Camera test up running. This is using EGLFS backend not LinuxFB one.


Unless you do have good reason to use LinuxFB, I would suggest you move to EGLFS as it should give you good performances too (still better than Wayland backend).

 

Could you please try with the attached config file and let me know if that does work for you?

Best Regards,

Akram

bbakram
ST Employee

Hello @wG.1,

I have now the QT MultimediaWidget Camera example working on my STM32MP157F-DK board.

Please use attached 'config_qt.txt' buildroot configuration to get the example working for you.

Some errors are there but they are not breaking the execution. Those are mainly linked to the DRM and XCB default configurations which need further corrections.

# ./camera
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
Failed to move cursor on screen HDMI1: -14
No usable crtc/encoder pair for connector "DSI1"
Failed to move cursor on screen HDMI1: -14
xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb
Failed to create xkb context

Please feel free to close this ticket if the issue is gone in your side.

Best Regards,

Akram

wG.1
Associate II

Hi @bbakram 

Thanks for your reply.

Sorry, I am using your config_qt.txt to build code, but I facing the issue below.
so I try to add "BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS=y", but not work. The "lrelease" is not yet built.

Detecting Qt5 tools
Run-time dependency qt5 (modules: Core) found: YES 5.15.8 (pkg-config)
Program /home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/moc found: YES 5.15.8 (/home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/moc)
Program /home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/uic found: YES 5.15.8 (/home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/uic)
Program /home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/rcc found: YES 5.15.8 (/home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/rcc)

Program /home/ubuntu/STMicroelectronics/buildroot_mp157/output/host/bin/lrelease found: NO
Program lrelease5 found: NO
Program lrelease-qt5 found: NO
Program lrelease found: NO

output/build/gst1-plugins-good-1.22.6/ext/qt/meson.build:48:4: ERROR: Problem encountered: qt5 qmlglsink plugin is enabled, but qt specific tools were not found
A full log can be found at /home/ubuntu/STMicroelectronics/buildroot_mp157/output/build/gst1-plugins-good-1.22.6/build/meson-logs/meson-log.txt
make[1]: *** [package/pkg-generic.mk:283: /home/ubuntu/STMicroelectronics/buildroot_mp157/output/build/gst1-plugins-good-1.22.6/.stamp_configured] Error 1
make: *** [Makefile:82: _all] Error 2

 

Would you give an advice?

Thanks for reading.

Hello @wG.1 

Please try after installing qtchooser package on your host machine.

On Ubuntu: sudo apt-get install qtchooser.

I tested building with "BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS=y" and I don't have issue in my side.

Best Regards,

Akram

wG.1
Associate II

Hello @bbakram 

Thanks for your help, the QT camera example code can work.

I deleted the qttool director in output/build and build/mark again, it created lrelease file in output/host/bin/lrelease.

 

Thanks

Best Regards