aboutsummaryrefslogtreecommitdiffstats
path: root/meta-oe
diff options
context:
space:
mode:
Diffstat (limited to 'meta-oe')
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-drivers.inc40
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb28
-rw-r--r--meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb31
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb46
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb49
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb44
-rw-r--r--meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb28
7 files changed, 95 insertions, 171 deletions
diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
index 6cfb7fa076..97063adbc7 100644
--- a/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
+++ b/meta-oe/recipes-graphics/lvgl/lv-drivers.inc
@@ -1,21 +1,17 @@
PACKAGECONFIG[drm] = ",,libdrm"
PACKAGECONFIG[fbdev] = ",,"
-PACKAGECONFIG[sdl] = ",,virtual/libsdl2"
-PACKAGECONFIG[wayland] = ",,libxkbcommon wayland"
+PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image"
LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}"
-LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}"
-LVGL_CONFIG_EVDEV_INPUT ?= "/dev/input/touchscreen"
LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}"
LVGL_CONFIG_USE_SDL = "${@bb.utils.contains('PACKAGECONFIG', 'sdl', '1', '0', d)}"
-LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1', '0', d)}"
-LVGL_CONFIG_WAYLAND_HOR_RES ?= "480"
-LVGL_CONFIG_WAYLAND_VER_RES ?= "320"
+LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
+LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
ALLOW_EMPTY:${PN} = "1"
@@ -23,26 +19,26 @@ EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
do_configure:append() {
# If there is a configuration template, start from that
- [ -r "${S}/lv_drv_conf_template.h" ] && cp -Lv "${S}/lv_drv_conf_template.h" "${S}/lv_drv_conf.h"
+ [ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h"
- # Configure the software using sed
sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \
\
- -e "s|\(^# define USE_DRM \).*|# define USE_DRM ${LVGL_CONFIG_USE_DRM}|g" \
- -e "s|\(^# define DRM_CARD \).*|# define DRM_CARD \"${LVGL_CONFIG_DRM_CARD}\"|g" \
- \
- -e "s|\(^# define USE_EVDEV \).*|# define USE_EVDEV ${LVGL_CONFIG_USE_EVDEV}|g" \
- -e "s|\(^# define EVDEV_NAME \).*|# define EVDEV_NAME \"${LVGL_CONFIG_EVDEV_INPUT}\"|g" \
+ -e "s|\(^#define LV_USE_LINUX_DRM \).*|#define LV_USE_LINUX_DRM ${LVGL_CONFIG_USE_DRM}|g" \
\
- -e "s|\(^# define USE_FBDEV \).*|# define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
+ -e "s|\(^#define LV_USE_LINUX_FBDEV \).*|#define LV_USE_LINUX_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
\
- -e "s|\(^# define USE_SDL \).*|# define USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \
- -e "s|\(^# define USE_SDL_GPU \).*|# define USE_SDL_GPU 1|g" \
- -e "s|\(^# define SDL_DOUBLE_BUFFERED \).*|# define SDL_DOUBLE_BUFFERED 1|g" \
+ -e "s|\(^#define LV_USE_SDL \).*|#define LV_USE_SDL ${LVGL_CONFIG_USE_SDL}|g" \
+ -e "s|\(^#define LV_USE_DRAW_SDL \).*|#define LV_USE_DRAW_SDL ${LVGL_CONFIG_USE_SDL}|g" \
+ -e "s|\(^ #define LV_SDL_BUF_COUNT \).*| #define LV_SDL_BUF_COUNT 2|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" \
+ -e "s|\(^#define LV_COLOR_DEPTH \).*|#define LV_COLOR_DEPTH ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
+ -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
\
- -i "${S}/lv_drv_conf.h"
+ -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
+ -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
+ -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
+ \
+ -e "s|\(^#define LV_USE_EVDEV \).*|#define LV_USE_EVDEV ${LVGL_CONFIG_USE_EVDEV}|g" \
+ \
+ -i "${S}/lv_conf.h"
}
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
deleted file mode 100644
index e2c5a342a1..0000000000
--- a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-# SPDX-FileCopyrightText: Huawei Inc.
-#
-# SPDX-License-Identifier: MIT
-
-HOMEPAGE = "https://docs.lvgl.io/latest/en/html/porting/index.html"
-SUMMARY = "LVGL's Display and Touch pad drivers"
-DESCRIPTION = "Collection of drivers: SDL, framebuffer, wayland and more..."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
-
-SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3"
-SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1"
-
-DEPENDS = "lvgl"
-
-PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland fbdev', d)}"
-require lv-drivers.inc
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1"
-TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl"
-
-FILES:${PN}-dev += "\
- ${includedir}/lvgl/lv_drivers/ \
- "
diff --git a/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb b/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb
deleted file mode 100644
index 0049bbe237..0000000000
--- a/meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-FileCopyrightText: Huawei Inc.
-#
-# SPDX-License-Identifier: MIT
-
-HOMEPAGE = "https://docs.lvgl.io"
-SUMMARY = "PNG decoder for LVGL"
-DESCRIPTION = "Allow the use of PNG images in LVGL. This implementation uses lodepng"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
-
-SRC_URI = "git://github.com/lvgl/lv_lib_png;;protocol=https;branch=master"
-SRCREV = "bf1531afe07c9f861107559e29ab8a2d83e4715a"
-
-S = "${WORKDIR}/git"
-
-# because of lvgl dependency
-REQUIRED_DISTRO_FEATURES = "wayland"
-
-DEPENDS += "lvgl"
-
-EXTRA_OECMAKE += "-DLIB_INSTALL_DIR=${baselib}"
-
-inherit cmake
-inherit features_check
-
-TARGET_CFLAGS += "-DLV_CONF_INCLUDE_SIMPLE=1"
-TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl"
-
-FILES:${PN}-dev = "\
- ${includedir}/lvgl/lv_lib_png/ \
- "
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb
deleted file mode 100644
index 32f833a026..0000000000
--- a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb
+++ /dev/null
@@ -1,46 +0,0 @@
-SUMMARY = "LVGL Demo Application for Framebuffer"
-HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \
- file://lv_drivers/LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2 \
- file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
-
-SRC_URI = "gitsm://github.com/lvgl/lv_port_linux_frame_buffer.git;branch=master;protocol=https"
-SRCREV = "adf2c4490e17a1b9ec1902cc412a24b3b8235c8e"
-
-EXTRA_OEMAKE = "DESTDIR=${D}"
-
-PACKAGECONFIG ??= "drm"
-require lv-drivers.inc
-
-inherit cmake
-
-S = "${WORKDIR}/git"
-
-TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm"
-
-do_configure:prepend() {
- if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then
- # Add libdrm build dependency
- sed -i '/^target_link_libraries/ s@lvgl::drivers@& drm@' "${S}/CMakeLists.txt"
- # Switch from fbdev to drm usage
- sed -i 's@fbdev@drm@g' "${S}/main.c"
- # Pull resolution from DRM instead of hardcoding it
- sed -i '/disp_drv.hor_res/ d' "${S}/main.c"
- sed -i '/disp_drv.ver_res/ s@disp_drv.ver_res.*@drm_get_sizes(\&disp_drv.hor_res, \&disp_drv.ver_res, NULL);@' "${S}/main.c"
- fi
-
- if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
- # Add libsdl build dependency
- sed -i '/^target_link_libraries/ s@lvgl::drivers@& SDL2@' "${S}/CMakeLists.txt"
- # Switch from fbdev to sdl usage
- sed -i 's@fbdev_flush@sdl_display_flush@g' "${S}/main.c"
- sed -i 's@lv_drivers/display/fbdev.h@lv_drivers/sdl/sdl.h@g' "${S}/main.c"
- sed -i 's@fbdev@sdl@g' "${S}/main.c"
- fi
-}
-
-do_install:append() {
- install -d ${D}${bindir}
- install -m 0755 ${B}/lvgl_fb ${D}${bindir}/
-}
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb
new file mode 100644
index 0000000000..fc675a5187
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_9.0.0.bb
@@ -0,0 +1,49 @@
+SUMMARY = "LVGL Demo Application for Framebuffer"
+HOMEPAGE = "https://github.com/lvgl/lv_port_linux_frame_buffer"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \
+ file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "\
+ git://github.com/lvgl/lv_port_linux_frame_buffer.git;protocol=https;branch=master;name=demo \
+ git://github.com/lvgl/lvgl;protocol=https;branch=master;name=lvgl;subdir=git/lvgl \
+ "
+SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a"
+SRCREV_lvgl = "e29d35b43c509b6d7189f5dac87139441669ae66"
+SRCREV_FORMAT = "demo_lvgl"
+PV .= "+git${SRCPV}"
+
+EXTRA_OEMAKE = "DESTDIR=${D}"
+
+PACKAGECONFIG ??= "drm"
+LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
+require lv-drivers.inc
+
+inherit cmake
+
+S = "${WORKDIR}/git"
+
+TARGET_CFLAGS += "-I${STAGING_INCDIR}/libdrm"
+
+do_configure:prepend() {
+ if [ "${LVGL_CONFIG_USE_DRM}" -eq 1 ] ; then
+ # Add libdrm build dependency
+ sed -i '/^target_link_libraries/ s@pthread@& drm@' "${S}/CMakeLists.txt"
+ # Switch from fbdev to drm usage
+ sed -i "s@lv_linux_fbdev_set_file.*@lv_linux_drm_set_file(disp, \"${LVGL_CONFIG_DRM_CARD}\", -1);@g" "${S}/main.c"
+ sed -i 's@fbdev@drm@g' "${S}/main.c"
+ fi
+
+ if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
+ # Add libsdl build dependency
+ sed -i '/^target_link_libraries/ s@pthread@& SDL2 SDL2_image@' "${S}/CMakeLists.txt"
+ # Switch from fbdev to sdl usage
+ sed -i 's@lv_linux_fbdev_create()@lv_sdl_window_create(atoi(getenv("LV_VIDEO_WIDTH") ? : "800"), atoi(getenv("LV_VIDEO_HEIGHT") ? : "480"))@g' "${S}/main.c"
+ sed -i '/lv_linux_fbdev_set_file/ d' "${S}/main.c"
+ fi
+}
+
+do_install:append() {
+ install -d ${D}${bindir}
+ install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl
+}
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb
deleted file mode 100644
index 2523680610..0000000000
--- a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.11.bb
+++ /dev/null
@@ -1,44 +0,0 @@
-# SPDX-FileCopyrightText: Huawei Inc.
-#
-# SPDX-License-Identifier: MIT
-
-HOMEPAGE = "https://lvgl.io/"
-DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
-SUMMARY = "Light and Versatile Graphics Library"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
-
-SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
-SRCREV = "74d0a816a440eea53e030c4f1af842a94f7ce3d3"
-
-inherit cmake
-
-EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
-S = "${WORKDIR}/git"
-
-ALLOW_EMPTY:${PN} = "1"
-
-LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
-LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
-
-# Upstream does not support a default configuration
-# but propose a default "disabled" template, which is used as reference
-# More configuration can be done using external configuration variables
-do_configure:prepend() {
- [ -r "${S}/lv_conf.h" ] \
- || sed -e 's|#if 0 .*Set it to "1" to enable .*|#if 1 // Enabled|g' \
- -e "s|\(#define LV_COLOR_DEPTH \).*|\1 ${LVGL_CONFIG_LV_COLOR_DEPTH}|g" \
- \
- -e "s|\(#define LV_MEM_CUSTOM .*\)0|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|g" \
- \
- -e "s|\(#define LV_TICK_CUSTOM \).*|\1 1|g" \
- -e "s|\(#define LV_TICK_CUSTOM_INCLUDE \).*|\1 <stdint.h>|g" \
- -e "s|\(#define LV_TICK_CUSTOM_SYS_TIME_EXPR \).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|g" \
- \
- < "${S}/lv_conf_template.h" > "${S}/lv_conf.h"
-}
-
-FILES:${PN}-dev += "\
- ${includedir}/${PN}/ \
- ${includedir}/${PN}/lvgl/ \
- "
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb
new file mode 100644
index 0000000000..d8ed4ec810
--- /dev/null
+++ b/meta-oe/recipes-graphics/lvgl/lvgl_9.0.0.bb
@@ -0,0 +1,28 @@
+# SPDX-FileCopyrightText: Huawei Inc.
+#
+# SPDX-License-Identifier: MIT
+
+HOMEPAGE = "https://lvgl.io/"
+DESCRIPTION = "LVGL is an OSS graphics library to create embedded GUI"
+SUMMARY = "Light and Versatile Graphics Library"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
+
+SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=master"
+SRCREV = "e29d35b43c509b6d7189f5dac87139441669ae66"
+PV .= "+git${SRCPV}"
+
+inherit cmake
+
+EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
+S = "${WORKDIR}/git"
+
+ALLOW_EMPTY:${PN} = "1"
+
+PACKAGECONFIG ??= "drm"
+require lv-drivers.inc
+
+FILES:${PN}-dev += "\
+ ${includedir}/${PN}/ \
+ ${includedir}/${PN}/lvgl/ \
+ "