1

I have built a Yocto image with the following configuration

# Architecture of the host machine
SDKMACHINE ?= "x86_64"

# Extra image configuration defaults
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh"
CORE_IMAGE_EXTRA_INSTALL += "openssh-sftp openssh-sftp-server"
INIT_MANAGER = "systemd"
INHERIT += "rm_work"

# Extra packages

LICENSE_FLAGS_WHITELIST = "commercial"


DISTRO_FEATURES:remove = " \
  x11 \
  directfb \
  vulkan \
  wayland \
  "

DISTRO_FEATURES:append = " \
  alsa \
  opengl \
  gles2 \
"

IMAGE_INSTALL:append = " \
  coreutils \
  qtbase-plugins \
  qtbase-tools \
  qtdeclarative \
  qtdeclarative-plugins \
  qtdeclarative-qmlplugins \
  qtdeclarative-tools \
  qtimageformats-plugins \
  qtmultimedia \
  qtmultimedia-plugins \
  qtmultimedia-qmlplugins \
  qtquickcontrols2 \
  qtquicktimeline \
  qtscript \
  qtsvg \
  qtsvg-plugins \
  qtsystems \
  qtsystems-qmlplugins \
  qtsystems-tools \
  rsync \
"

PACKAGECONFIG:append:pn-qtbase = " \
  eglfs \
  fontconfig \
  gles2 \
  libpng \
  jpeg \
  libs \
  widgets \
  "

# Image file system types to package
IMAGE_FSTYPES = "rpi-sdimg"

# Package management configuration
PACKAGE_CLASSES = "package_ipk"


MACHINE ??= "raspberrypi4"
DISTRO ??= "poky"
BBMULTICONFIG ?= ""

I could successfully build and generate and SDK. I can build the Qt app and deploy it to the device.

I set

QT_QPA_PLATFORM=eglfs
DISPLAY=:0

but I get the error

EGL library doesn't support Emulator extensions
Aborted

The error looks similar to

QT Creator can not remote run and debugging on i.Mx6 (buildroot)

but since the Pi doesn't have a Vivante driver, I wouldn't know what to pass. I tried to search for integrations

$ find / -name "*egl*"
/usr/lib/plugins/video/videonode/libeglvideonode.so
/usr/lib/plugins/videoeglvideonode
/usr/lib/plugins/egldeviceintegrations
/usr/lib/plugins/egldeviceintegrations/libqeglfs-emu-integration.so
/usr/lib/plugins/egldeviceintegrations/libqeglfs-kms-integration.so
/usr/lib/plugins/egldeviceintegrations/libqeglfs-kms-egldevice-integration.so
/usr/lib/plugins/platforms/libqminimalegl.so
/usr/lib/plugins/platforms/libqeglfs.so

but eglfs-kms or all other combinations I have tried, don't work.

If I try

QT_QPA_EGLFS_INTEGRATION=none

I get

Unable 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).
Cannot find EGLConfig, returning null config
EGL Error : Could not create the egl surface: error = 0x300b
neolith
  • 699
  • 1
  • 11
  • 20
  • Did you try set "export QT_QPA_EGLFS_FB=/dev/fbX"? You can try also set framebuffer to 16 or 32 bpp instead of 24. "echo 32 > /sys/class/graphics/fbX/bits_per_pixel" Where X in fbX is your framebuffer number. – kluszon Mar 07 '22 at 07:31
  • @kluszon Hey, thank you. I just tried that, but it doesn't do the trick unfortunately – neolith Mar 07 '22 at 17:32

0 Answers0