硬件:Riotboard,imx6solo;
BSP :fsl-community-bsp,jethro branch;
Meta-Qt5图层:jethro分支;
“ bitbake fsl-image-multimedia-full ”生成的图片;
“ bitbake meta-toolchain-qt5 ”生成的工具链;
参考指南“在Wandboard上使用yocto构建Qt5 - Wandboard Wiki”;
qtbase-plugs
包存在,libqeglfs.so也存在;
Qtcreator
:设备,套件,编译器,调试器,rootfs,ssh连接;
注意:我只更改了主板上的rootfs,内核,uboot,dtb文件仍然使用了embest。内核为3.10.17_1.0.0;这会影响问题吗?
现在只有一个问题:当我运行“./helloworld -platform eglfs”时,出现错误“无法打开egl显示。已中止”。我试图导出FB_MULTI_BUFFER = 2, export DISPLAY =:0.0,export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER = 1,错误仍然存在。我也尝试了fbset,将深度修改为32bit,无法解决问题。
我的另一个帖子链接:How to enable eglfs plugin in Yocto setup? using yocto+meta-qt5 for Riotboard
我的最终目标是为定制板(类似于Riotboard)开发Qt5
个应用程序,此外还有其他C
应用程序也在板上运行。对于实时功能,我还将包含Xenomai
,因此该项目将包含许多内容。
bblayers.conf:
LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../..')}"
BBFILES ?= ""
BBLAYERS = " \
${BSPDIR}/sources/poky/meta \
${BSPDIR}/sources/poky/meta-yocto \
${BSPDIR}/sources/meta-openembedded/meta-oe \
${BSPDIR}/sources/meta-openembedded/meta-multimedia \
${BSPDIR}/sources/meta-fsl-arm \
${BSPDIR}/sources/meta-fsl-arm-extra \
${BSPDIR}/sources/meta-fsl-demos \
${BSPDIR}/sources/meta-qt5 \
${BSPDIR}/sources/meta-openembedded/meta-ruby \
"
的local.conf:
MACHINE ??= 'imx6solosabreauto'
DISTRO ?= 'poky'
PACKAGE_CLASSES ?= "package_rpm"
EXTRA_IMAGE_FEATURES = "debug-tweaks ssh-server-openssh "
USER_CLASSES ?= "buildstats image-mklibs"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
ABORT,${SSTATE_DIR},100M,1K \
ABORT,/tmp,10M,1K"
PACKAGECONFIG_append_pn-qemu-native = " sdl"
PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
PACKAGECONFIG_DISTRO_pn-qtbase = "accessibility"
CONF_VERSION = "1"
BB_NUMBER_THREADS = '8'
PARALLEL_MAKE = '-j 8'
DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"
DISTRO_FEATURES_remove="x11 wayland "
IMAGE_INSTALL_append = " gcc g++ binutils libgcc libgcc-dev \
libstdc++ libstdc++-dev libstdc++-staticdev \
autoconf automake ccache chkconfig glib-networking glibmm \
packagegroup-core-buildessential pkgconfig \
boost cmake zlib glib-2.0 \
ruby \
cpufrequtils \
nano \
gdb \
gstreamer1.0 \
gst-meta-video \
gst1.0-fsl-plugin \
gst-plugins-base-app \
gst-plugins-base \
gst-plugins-good \
gst-plugins-good-rtsp \
gst-plugins-good-udp \
gst-plugins-good-rtpmanager \
gst-plugins-good-rtp \
gst-plugins-good-video4linux2 \
openssh-sftp-server \
packagegroup-fsl-gstreamer1.0 \
packagegroup-fsl-tools-testapps \
packagegroup-fsl-tools-benchmark \
packagegroup-fsl-gstreamer1.0-full \
packagegroup-fsl-tools-gpu \
imx-vpu \
imx-test \
qtbase-fonts \
qtbase-plugins \
qtbase-tools \
qtdeclarative \
qtdeclarative-plugins \
qtdeclarative-tools \
qtdeclarative-qmlplugins \
qtmultimedia \
qtmultimedia-plugins \
qtmultimedia-qmlplugins \
qtsvg \
qtsvg-plugins \
qtsensors \
qtimageformats-plugins \
qtsystems \
qtsystems-tools \
qtsystems-qmlplugins \
qtscript \
qt3d \
qt3d-qmlplugins \
qtwebkit \
qtwebkit-examples-examples \
qtwebkit-qmlplugins \
qtgraphicaleffects-qmlplugins \
qtconnectivity-qmlplugins \
qtlocation-plugins \
qtlocation-qmlplugins \
cinematicexperience \
cairo pango fontconfig freetype pulseaudio dbus \
alsa-lib alsa-tools alsa-state fsl-alsa-plugins \
i2c-tools \
"
感谢。
答案 0 :(得分:0)
这就是我用于EGLFS的内容:
var obj = {
_time : "",
get time () {
this._time = new Date();
return this._time;
},
set time(val) {
this._time = val;
}
};
document.write("<pre>" + obj.time + "</pre>");
另外,你不需要这些;
PACKAGECONFIG_append_pn-qtmultimedia = " gstreamer010"
PACKAGECONFIG_append_pn-qtbase = " sql-sqlite \
gst-plugins-base \
accessibility \
pulseaudio \
examples \
"
EXTRA_IMAGE_FEATURES = " ssh-server-openssh package-management \
tools-sdk tools-debug"
答案 1 :(得分:0)
最后我解决了这个问题,我切换到了yocto和meta-qt5层的Dizzy分支。通过这种方式,它匹配embest提供的内核版本。