Tool/software: Linux
Hello,
I trying to build a setup with a AM3354 which should use a Qt5 qtwayland based compositor which we already have in use on an i.MX6.
For my setup I use meta-ti(rocko) + the ti-linux-kernel (mirrored from git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git).
Furthermore, I have set the preferred providers for:
PREFERRED_PROVIDER_virtual/egl= "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/libgles1 = "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/libgles2 = "ti-sgx-ddk-um"
PREFERRED_PROVIDER_virtual/libgl = "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa = "mesa-gl"
PREFERRED_PROVIDER_libgbm = "libgbm"
PREFERRED_PROVIDER_libgbm-dev = "libgbm-dev"
and as suggested by meta-agl-bsp:
(gerrit.automotivelinux.org/.../gitweb
a bbappend for mesa-gl:
# Remove GBM support from Mesa # TI Platforms provides own GBM library PACKAGES_remove = "libgbm" PACKAGES_remove = "libgbm-dev" EXTRA_OECONF_remove = "--enable-gbm"
Additionally I added a qtbase.bbappend:
PACKAGECONFIG += " libinput \
fontconfig \ freetype \ ico \ gif \ xkbcommon-evdev \ mtdev \ gles2 \ accessibility \ eglfs \ kms \ gbm \ " PACKAGECONFIG_remove = " examples \ tests \ "
Now I'm able to build an image which loads the PowerVR driver:
root# /etc/init.d/rc.pvr start Loaded PowerVR consumer services.
and is able to start a Qt5 application(this is the example analogclock from qtbase) with eglfs backend.
root# ./analogclock --platform eglfs QStandardPaths: wrong ownership on runtime directory /run/user/1000, 1000 instead of 0 failed to load module: /usr/lib/gbm/gbm_dri.so: cannot open shared object file: No such file or directory failed to load module: /usr/lib/gbm/gbm_gallium_drm.so: cannot open shared object file: No such file or directory loaded module : gbm_pvr.so found valid GBM backend : gbm_pvr.so Could not create buffer for cursor! Failed to move cursor on screen LVDS1: -14
This works so far. Also starting of the qt wayland example compositor qwindow-compositor works on the eglfs backend. But if I start an application that should use the wayland backend, the compositor crashes with the following messages:
root# ./analogclock --platform wayland dup failed: Bad file descriptor Using Wayland-EGL PVR:(Error): PVRSRVDestroyDeviceMemContext: Invalid params [0, ] Segmentation fault (core dumped) [1]+ Aborted (core dumped) /usr/share/qt5/examples/wayland/qwindow-compositor/qwindow-compositor --platform eglfs
Should this work?! Or did I configure something wrong?
Thx,
Hannes