dey-image-container: webkit/lvgl: modify weston startup

Standalone GPU and video tests perform as expected in the WebKit
container, but rendering degrades once Cog runs on top of Weston.
Align the container Weston startup with the native setup by
loading the default Weston options, enabling the systemd-notify
module and exporting WL_EGL_GBM_FENCE=0 before starting the compositor.

https://onedigi.atlassian.net/browse/DEL-10038
https://onedigi.atlassian.net/browse/DEL-10039

Signed-off-by: Isaac Hermida <isaac.hermida@digi.com>
This commit is contained in:
Isaac Hermida 2026-03-27 14:16:30 +01:00
parent 682b2aec84
commit c0d042e953
3 changed files with 40 additions and 5 deletions

View File

@ -2,6 +2,16 @@
export XDG_RUNTIME_DIR="/run/user/0"
export WAYLAND_DISPLAY="@WAYLAND_DISPLAY@"
COMPATIBLE="$(tr '\0' ' ' </proc/device-tree/compatible 2>/dev/null || true)"
case "${COMPATIBLE}" in
*digi,ccmp15*|*digi,ccmp25*)
export WL_EGL_GBM_FENCE=0
;;
esac
[ -f /etc/default/weston ] && . /etc/default/weston
rm -rf "$XDG_RUNTIME_DIR"
mkdir -p "$XDG_RUNTIME_DIR"
chmod 0700 "$XDG_RUNTIME_DIR"
@ -13,7 +23,12 @@ chmod 1777 /tmp/.X11-unix
rm -f /tmp/weston.log
weston --backend=drm-backend.so --idle-time=0 --log=/tmp/weston.log &
weston \
--backend=drm-backend.so \
--modules=systemd-notify.so \
--idle-time=0 \
--log=/tmp/weston.log \
${OPTARGS} &
while :; do
if [ -S "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}" ]; then
@ -23,4 +38,4 @@ while :; do
done
sleep 0.1
exec /usr/bin/lvgl-demo
exec /usr/bin/lvgl-demo

View File

@ -2,6 +2,16 @@
export XDG_RUNTIME_DIR="/run/user/0"
export WAYLAND_DISPLAY="@WAYLAND_DISPLAY@"
COMPATIBLE="$(tr '\0' ' ' </proc/device-tree/compatible 2>/dev/null || true)"
case "${COMPATIBLE}" in
*digi,ccmp15*|*digi,ccmp25*)
export WL_EGL_GBM_FENCE=0
;;
esac
[ -f /etc/default/weston ] && . /etc/default/weston
rm -rf "$XDG_RUNTIME_DIR"
mkdir -p "$XDG_RUNTIME_DIR"
chmod 0700 "$XDG_RUNTIME_DIR"
@ -13,7 +23,12 @@ chmod 1777 /tmp/.X11-unix
rm -f /tmp/weston.log
weston --backend=drm-backend.so --idle-time=0 --log=/tmp/weston.log &
weston \
--backend=drm-backend.so \
--modules=systemd-notify.so \
--idle-time=0 \
--log=/tmp/weston.log \
${OPTARGS} &
while :; do
if [ -S "${XDG_RUNTIME_DIR}/${WAYLAND_DISPLAY}" ]; then
@ -33,4 +48,4 @@ done
/etc/connectcore-demo-example-webkit start
# We need a process waiting indefinetily, if not the "init" process dies
# and there is not any remaining process
exec /usr/bin/docker-init -- sleep infinity
exec /usr/bin/docker-init -- sleep infinity

View File

@ -99,7 +99,11 @@ IMAGE_INSTALL = " \
# Container type customizations LVGL
########################
CONTAINER_INIT_SCRIPT:container-lvgl = "/start-lvgl-demo.sh"
IMAGE_INSTALL:append:container-lvgl = " lvgl-demo weston"
IMAGE_INSTALL:append:container-lvgl = " \
lvgl-demo \
weston \
weston-init \
"
DISTRO_FEATURES:remove:container-lvgl = " wayland"
########################
@ -123,4 +127,5 @@ IMAGE_INSTALL:append:container-webkit = " \
wayland \
wayland-protocols \
weston \
weston-init \
"