From dbf8086926100904a0b4bb125592c70fe8708864 Mon Sep 17 00:00:00 2001 From: Marek Vasut Date: Tue, 9 May 2023 04:43:52 +0200 Subject: [PATCH] lvgl: Support both fbdev and wayland backends The LVGL can be operated on top of fbdev as well as on WL compositor. Support both, which is a matter of configuring lv-drivers package per required backend. Determine the backend from DISTRO_FEATURES, since both 'wayland' and 'fbdev' are valid DISTRO_FEATURES. Add a bit more sed hacking of the configuration, which enables either FBDEV or WL backend. One notable item here is the enablement of EVDEV support, which is required for FBDEV backend, so in case FBDEV is enabled, so is EVDEV. Signed-off-by: Marek Vasut Signed-off-by: Khem Raj --- meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb | 15 +++++++++++---- meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb | 3 --- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb index d9cde497c9..a0a2ee0aa9 100644 --- a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb +++ b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb @@ -11,12 +11,15 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2" SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3" SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1" -DEPENDS = "libxkbcommon lvgl wayland" +DEPENDS = "lvgl" -REQUIRED_DISTRO_FEATURES = "wayland" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland fbdev', d)}" +PACKAGECONFIG[fbdev] = ",," +PACKAGECONFIG[wayland] = ",,libxkbcommon wayland" +LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}" +LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1', '0', d)}" inherit cmake -inherit features_check S = "${WORKDIR}/git" @@ -34,7 +37,11 @@ TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl" do_configure:append() { [ -r "${S}/lv_drv_conf.h" ] \ || sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \ - -e "s|# define USE_WAYLAND 0|# define USE_WAYLAND 1|g" \ + \ + -e "s|\(^# define USE_FBDEV \).*|# define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \ + -e "s|\(^# define USE_EVDEV \).*|# define USE_EVDEV ${LVGL_CONFIG_USE_FBDEV}|g" \ + \ + -e "s|\(^# define USE_WAYLAND \).*|# define USE_WAYLAND ${LVGL_CONFIG_USE_WAYLAND}|g" \ -e "s|\(^ *# *define *WAYLAND_HOR_RES *\).*|\1${LVGL_CONFIG_WAYLAND_HOR_RES}|g" \ -e "s|\(^ *# *define *WAYLAND_VER_RES *\).*|\1${LVGL_CONFIG_WAYLAND_VER_RES}|g" \ < "${S}/lv_drv_conf_template.h" > "${S}/lv_drv_conf.h" diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb index a3fd7e04cb..860ee7a33e 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb @@ -11,10 +11,7 @@ LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3" SRCREV = "2b56e04205481daa6575bd5f7ab5df59d11676eb" -REQUIRED_DISTRO_FEATURES = "wayland" - inherit cmake -inherit features_check EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}" S = "${WORKDIR}/git"