I have compiled DEY 3.0 and then added the meta-browser and required meta-clang layers in my bblayers.conf:
POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
changes incompatibly
POKY_BBLAYERS_CONF_VERSION = “2”
BBPATH = “${TOPDIR}”
BBFILES ?= “”
BBLAYERS ?= "
/usr/local/dey-3.0/sources/poky/meta
/usr/local/dey-3.0/sources/poky/meta-poky
/usr/local/dey-3.0/sources/poky/meta-yocto-bsp
/usr/local/dey-3.0/sources/meta-openembedded/meta-oe
/usr/local/dey-3.0/sources/meta-openembedded/meta-python
/usr/local/dey-3.0/sources/meta-openembedded/meta-networking
/usr/local/dey-3.0/sources/meta-openembedded/meta-webserver
/usr/local/dey-3.0/sources/meta-qt5
/usr/local/dey-3.0/sources/meta-swupdate
/usr/local/dey-3.0/sources/meta-freescale
/usr/local/dey-3.0/sources/meta-fsl-demos
/usr/local/dey-3.0/sources/meta-digi/meta-digi-arm
/usr/local/dey-3.0/sources/meta-digi/meta-digi-dey
/usr/local/dey-3.0/sources/meta-browser
/usr/local/dey-3.0/sources/meta-clang
"
And then, in the local,conf:
Add Chromium
IMAGE_INSTALL_append =
“${@bb.utils.contains(‘DISTRO_FEATURES’, ‘wayland’, ’ chromium-ozone-wayland libexif’,
bb.utils.contains(‘DISTRO_FEATURES’, ‘x11’, ’ chromium-x11 libexif’,
‘’, d), d)}”
LICENSE_FLAGS_WHITELIST =
"${@bb.utils.contains(‘DISTRO_FEATURES’, ‘wayland’, ‘commercial’,
bb.utils.contains(‘DISTRO_FEATURES’, ‘x11’, ‘commercial’, \
Finally, I used bitbake dey-image-qt to build it all. The resulting image is the one I’m using in the dev kit.
I have so far been able to execute chromium successfuly by modifying the default weston.ini as follows:
[core]
#gbm-format=argb8888
idle-time=0
use-g2d=1 #Set 2D renderer instead of default GLES
xwayland=true #Uncommented this line!
#enable-overlay-view=1
#[shell]
#size=1920x1080
[libinput]
touchscreen_calibrator=true
[output]
name=HDMI-A-1
mode=1024x768
#transform=90
#[output]
#name=HDMI-A-2
#mode=off
WIDTHxHEIGHT Resolution size width and height in pixels
off Disables the output
preferred Uses the preferred mode
current Uses the current crt controller mode
#transform=90
[screen-share]
command=@bindir@/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize
[shell]
background-image=/usr/share/weston/digi_background.png
background-type=scale-crop
and using the following flags:
chromium --no-sandbox --start-maximized --kiosk https://www.google.com
At first, without this the weston.init config, I was getting frecuent segmentation fault errors from chromium, but sadly I haven’t been able reproduce them or determine what solved them.
The problem: We want to deploy our device’s HMI via chromium. So far, I’ve been executing all this as root user. This is no good for a commertial solution (or any, if not testing) since it makes it vulnerable. However, I have created another user and tried to run chromium but gotten the following errors:
ccimx8mn-dvk:~$ chromium --no-sandbox --start-maximized --kiosk https://www.google.com
[904:904:1027/170421.864351:ERROR:wayland_connection.cc(60)] Failed to connect to Wayland display
[904:904:1027/170421.864414:FATAL:ozone_platform_wayland.cc(166)] Failed to initialize Wayland platform
Trace/breakpoint trap
For what I’ve found online, it seems that weston is executed and owned by root, and no other user may “capture” /run/user/0/wayland-0. In fact, I’m not able to execute any graphical app:
ccimx8mn-dvk:~$ weston-flower
failed to connect to Wayland display: No such file or directory
failed to create display: No such file or directory
Any idea about how to solve this? Thanks in advance for any help!