From patchwork Tue May 9 02:43:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23635 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A7E3AC7EE2C for ; Tue, 9 May 2023 02:44:19 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web11.6843.1683600256757956902 for ; Mon, 08 May 2023 19:44:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=iXyeN98+; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 9853184791; Tue, 9 May 2023 04:44:13 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600254; bh=MsFo5T1rlFMuVBE+HZAcWJrL/xLYp6Vcv+WroOo0WvA=; h=From:To:Cc:Subject:Date:From; b=iXyeN98+/zrvPBbRKCdDU28aw+X7cdwWvzv9eIhhiOzb4isghAWi2wufSpQ+/40jN Zr9DUaW9XAuJY1Fmv5fevkPkZYoXC2nrJ0mKAh5DoXgfelBX6Dzal0dVyLM9jKyfRz 0sELOVANqsBpuIjwVvcnH/eWvVtZGGxpG/Im79EerX/1D4lt24BKgYfj2kqRtzhOp1 Hb7JvF940leyCoElwkX6C6xDnE+i5EfZ6lsF2vSXLall7KaRCBdqiJGtIOQKNIarI4 ASwI73L1M+jMy6vUDjIwYM59V0S8EVGJhepV0USOeCWEcKeVkydcwr/nRjWpbdTbgD Sce0oxcpPwEcg== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 1/7] lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0 Date: Tue, 9 May 2023 04:43:49 +0200 Message-Id: <20230509024355.79006-1-marex@denx.de> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102455 Both the LVGL and lv-drivers are now available in 8.3.y release, upgrade both to latest 8.3.y release version in lock step. Also, lvgl contains no submodules, drop the gitsm fetcher use. Signed-off-by: Marek Vasut --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: No change --- .../lvgl/{lv-drivers_7.11.0.bb => lv-drivers_8.3.0.bb} | 5 ++--- .../recipes-graphics/lvgl/{lvgl_8.1.0.bb => lvgl_8.3.7.bb} | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) rename meta-oe/recipes-graphics/lvgl/{lv-drivers_7.11.0.bb => lv-drivers_8.3.0.bb} (89%) rename meta-oe/recipes-graphics/lvgl/{lvgl_8.1.0.bb => lvgl_8.3.7.bb} (89%) diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb similarity index 89% rename from meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb rename to meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb index cf33c6904..d9cde497c 100644 --- a/meta-oe/recipes-graphics/lvgl/lv-drivers_7.11.0.bb +++ b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb @@ -8,9 +8,8 @@ DESCRIPTION = "Collection of drivers: SDL, framebuffer, wayland and more..." LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2" -# TODO: Pin upstream release (current v7.11.0-80-g419a757) -SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;nobranch=1" -SRCREV = "419a757c23aaa67c676fe3a2196d64808fcf2254" +SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3" +SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1" DEPENDS = "libxkbcommon lvgl wayland" diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_8.1.0.bb b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb similarity index 89% rename from meta-oe/recipes-graphics/lvgl/lvgl_8.1.0.bb rename to meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb index ea74c5918..a82ab3b74 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl_8.1.0.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb @@ -8,8 +8,8 @@ SUMMARY = "Light and Versatile Graphics Library" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" -SRC_URI = "gitsm://github.com/lvgl/lvgl;protocol=https;nobranch=1" -SRCREV = "d38eb1e689fa5a64c25e677275172d9c8a4ab2f0" +SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3" +SRCREV = "2b56e04205481daa6575bd5f7ab5df59d11676eb" REQUIRED_DISTRO_FEATURES = "wayland" From patchwork Tue May 9 02:43:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23637 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 950E1C7EE22 for ; Tue, 9 May 2023 02:44:19 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web11.6844.1683600257221950646 for ; Mon, 08 May 2023 19:44:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=NDqhi16J; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 4E6CC84792; Tue, 9 May 2023 04:44:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600254; bh=JNNhoSFndvikrmwVIHpLDRBwMvuDkuAGmQoAETZzjq4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NDqhi16JFyIydg0AVSwoWka+YkQW7bxMjWGz7qy5bUoBXYZR0/iU8HAIM8tKvV4F0 r6s+i6/pDUzVFe+JZAJ7dTBVvzVqMgQE0ktTK2K5a3FwRebFR8ZakZJWoWLA0eA4m8 bKvNQGYUn6+vOfPcVK2L1IGuE0Hk7DpYI0Rn29gzyRdseN6e4FMpmHOgxh5XlFVDOv epyZFEXuPt8HAnhldHK218cvXDDvBHsoWj5FN1m235dtxlyf5XCesw0+DIkWUZImSL TK0zSDZemRxK96m1D6T+IWBZsGQ9KMJz9k3bl2iy5PsO9PoQoq3LQelrE4EwDnYa+X XkTU0xhHUjZkw== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 2/7] lvgl: Activate custom tick implementation Date: Tue, 9 May 2023 04:43:50 +0200 Message-Id: <20230509024355.79006-2-marex@denx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509024355.79006-1-marex@denx.de> References: <20230509024355.79006-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102454 Use a custom tick source that tells the elapsed time in milliseconds. It removes the need to manually update the tick with `lv_tick_inc()`. This is the behavior which ought to be used for LVGL running on Linux compared to LVGL running on microcontroller. Signed-off-by: Marek Vasut --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: No change --- meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb | 5 +++++ 1 file changed, 5 insertions(+) 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 a82ab3b74..5f3fc44cf 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb @@ -28,6 +28,11 @@ 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_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 |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" } From patchwork Tue May 9 02:43:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23636 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id A8805C7EE2D for ; Tue, 9 May 2023 02:44:19 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web11.6845.1683600257280305146 for ; Mon, 08 May 2023 19:44:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=SG9mtzbi; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id A9EE78479B; Tue, 9 May 2023 04:44:14 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600254; bh=lSelbQBWlzAFbm6gheZVDb8OwvCEhBW0uaNngkAn7NU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=SG9mtzbi6JJveD0IddNTh6Ai0HzxCwerB4vaM6cDBiowo8wHlb9E+nMQzDhyrSJQ1 V4Q0yrJBsveRyyL3+e0T60ZiQfL6CYH7rOTEAE1Jj8cVcPht+bsFGgV9K5vbRqzIeE BIomIEjeIRl7b7GfbxObAXiKfBYVAcJMcyjNlO4aAz3ZV0bR2f5kjDR+SofWEICQq+ ioMSFs71SaO0aeGCvSKg7ilw3pFkACwkJfUiJrPIxhlaaFkqdfY4HvBkB1AqmDaW2b G1goXTd/KplIs+/1wmaC1UIJflgeVUpOcXAYowueerVs1lQaPw/tLymRCjM9CUFPb8 EdfQnvDtHbGxQ== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 3/7] lvgl: Add configurable color depth, default to 32bpp Date: Tue, 9 May 2023 04:43:51 +0200 Message-Id: <20230509024355.79006-3-marex@denx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509024355.79006-1-marex@denx.de> References: <20230509024355.79006-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102456 Make color depth configurable and default to 32bpp . Signed-off-by: Marek Vasut --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: No change --- meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb | 3 +++ 1 file changed, 3 insertions(+) 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 5f3fc44cf..a3fd7e04c 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb @@ -20,6 +20,7 @@ EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}" S = "${WORKDIR}/git" 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 @@ -27,6 +28,8 @@ LVGL_CONFIG_LV_MEM_CUSTOM ?= "0" 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" \ From patchwork Tue May 9 02:43:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23634 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98050C7EE25 for ; Tue, 9 May 2023 02:44:19 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web10.6992.1683600256897231792 for ; Mon, 08 May 2023 19:44:18 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=jnFsi3Zn; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 0F90E8479C; Tue, 9 May 2023 04:44:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600255; bh=8kyotzs9VAWrVJoj/FzuppPhpe/Sd5rLKNeLDHYKLxg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=jnFsi3Zn5Hhe7HLys8oiLyNfwsiKzBdSxdkHx5qnhmMro5m/jxS5FR+rLUSIGbB0O 8CK2jTbAcyGkwcc2ZmhRrQCkC7MK4O5A4JmVUdzuwpIcjVwJgylbRN/0FVgoob4akC rR+ihD9gADSgkkY+yhaXzHsiLZ5+tgExAvvsxvnCYzab/ithtbWpbYbD0se5jNTB5c F2AuaMGxu+Xe/I/+1CEecepSqTzlIlPk+T4DvWvIRxodzmpcHnKb1Ct8KIabvPcJ+u AgU54vJjoWaDndnOvlEv/bf9lvyFWUqN8FmH0yMmXi31W20Lv0LwPfrK13Zy2sYmdM Z8sSz3UZixrWQ== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 4/7] lvgl: Support both fbdev and wayland backends Date: Tue, 9 May 2023 04:43:52 +0200 Message-Id: <20230509024355.79006-4-marex@denx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509024355.79006-1-marex@denx.de> References: <20230509024355.79006-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102457 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 --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: No change --- 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 d9cde497c..a0a2ee0aa 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 a3fd7e04c..860ee7a33 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" From patchwork Tue May 9 02:43:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23638 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 98B08C7EE26 for ; Tue, 9 May 2023 02:44:19 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web11.6846.1683600257323744781 for ; Mon, 08 May 2023 19:44:17 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=oQBRcScf; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 6A4ED8479D; Tue, 9 May 2023 04:44:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600255; bh=auS28xqNLL2TtVP9dnMFHTyMGTM925KWIO32fuIYejs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oQBRcScfE7LBElAY/MFKRcLJKSOLD7T5r8LrCD2H+Asy0vQtTIdo04mhjfwqS+TO8 HToY2zIpGzELu3zOrnxfCGUErK/gp8Of+/lMX5prAPgj+ZyJY+6jf1ESLYXbm5nnue KL+1k++9qR4YRfzIjkijbUDzujniufYUck+ajT410+oyNFJpoLu9PizTgD2DirlneC OKYOD1ghEdYdC0dEeDwiwXkzWlW3c1P890eLz34aHU23LXWg5Q1UZEkOWvziYy7Hlg fGWv0XKyKqwrohwgpgVSFedLapD9fyeWklLm9qd+9IaMjzgBNLduaTMTHGxeQyqUvt qmweLfp7/mDiA== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 5/7] lvgl: Update lvgl-demo-fb to 8.3.0 Date: Tue, 9 May 2023 04:43:53 +0200 Message-Id: <20230509024355.79006-5-marex@denx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509024355.79006-1-marex@denx.de> References: <20230509024355.79006-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:19 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102453 The lvgl-demo-fb depends on specific configuration of LVGL which includes demo widgets, which as far as I can tell are not needed for regular LVGL application development. Currently lvgl-demo-fb contains its own copy of lvgl and lv-drivers, for which meta-oe already contains its own recipes, but so far we cannot reuse them. Upgrade the lvgl-demo-fb to 8.3.0 to at least match the lvgl and lv-drivers . Signed-off-by: Marek Vasut --- NOTE: I am almost tempted to drop this recipe, it basically builds two files against LVGL configured in specific way. And it seems the LVGL has no modularity support, so we cannot deal with packaging the extra widgets easily. --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: New patch --- .../lvgl/{lvgl-demo-fb.bb => lvgl-demo-fb_8.3.0.bb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename meta-oe/recipes-graphics/lvgl/{lvgl-demo-fb.bb => lvgl-demo-fb_8.3.0.bb} (91%) diff --git a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb.bb b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb similarity index 91% rename from meta-oe/recipes-graphics/lvgl/lvgl-demo-fb.bb rename to meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb index 3430c2491..d86d6ff9c 100644 --- a/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb.bb +++ b/meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=802d3d83ae80ef5f343050bf96cce3a4 \ file://lvgl/LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a" SRC_URI = "gitsm://github.com/lvgl/lv_port_linux_frame_buffer.git;branch=master;protocol=https" -SRCREV = "dd010430b959f40b8f25a51c76bc920cbc2550cc" +SRCREV = "adf2c4490e17a1b9ec1902cc412a24b3b8235c8e" S = "${WORKDIR}/git" From patchwork Tue May 9 02:43:54 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23639 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7359BC7EE22 for ; Tue, 9 May 2023 02:44:29 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web11.6847.1683600259711281856 for ; Mon, 08 May 2023 19:44:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=XGD+XdlK; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id C61FC8479E; Tue, 9 May 2023 04:44:15 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600256; bh=zWrpwEbGQrzeKg4vnxcK6U+9og1bGfX9jOzKtcMVutA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XGD+XdlKXEfKC5Ecb26temNQTOAorT4CZxLR3j+WjvGjYDrrIUTBxAN7jcsikq9kV A5Mk+oqQNTHaEXSeC8oZ/0GsbD/E0ogQY+hDZPDt7JfR8FLsUFSh6YOJCEJO5b/4tN uKeh8HRlWgoMiSrEwbgIXXE+XcHiI1tIrK5nbRQrzq8SGi6VmKcgrWh4fGV0/AYL8N 5kKquY1A+55lcC0tiBFRybYcTZQ3ZHPBP18mJvnX/+PzO01Pim3OEtUmZWeQgcl7Zv MeBVui0A8a1V3V6zADixuRIqcTQ4T7u2XUmw6A9JgKP9d3bN6FAM62t2vk8BIIPrt+ 9l8+8DvUpYZ3g== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 6/7] lvgl: Upgrade dialog-lvgl to next/main version Date: Tue, 9 May 2023 04:43:54 +0200 Message-Id: <20230509024355.79006-6-marex@denx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509024355.79006-1-marex@denx.de> References: <20230509024355.79006-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102459 The dialog-lvgl has been unmaintained and stuck at LVGL v8.1.0 in its now archived repository branch main. There is subsequent effort in next/main branch which updates the code base to LVGL v8.2.0 that is almost compatible enough to still build against LVGL v8.3.7. Upgrade to this next/main branch which contains three additional commits on top of the main branch, which implement the update to newer LVGL. Add two more fixes to build against system timer provided tick and another fix for WL callback data type. Since there is no upstream, track the patches here for now. Signed-off-by: Marek Vasut --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: New patch --- ...-wayland-Switch-to-custom-timer-tick.patch | 72 +++++++++++++++++++ .../0002-wayland-Fix-callback-data-type.patch | 30 ++++++++ .../recipes-graphics/lvgl/dialog-lvgl_git.bb | 7 +- 3 files changed, 107 insertions(+), 2 deletions(-) create mode 100644 meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch create mode 100644 meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch diff --git a/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch b/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch new file mode 100644 index 000000000..5149002ff --- /dev/null +++ b/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0001-wayland-Switch-to-custom-timer-tick.patch @@ -0,0 +1,72 @@ +From 1d92e1854c19c06c553243d29170bb4d1a9e3863 Mon Sep 17 00:00:00 2001 +From: Marek Vasut +Date: Tue, 9 May 2023 02:57:30 +0200 +Subject: [PATCH 1/2] wayland: Switch to custom timer tick + +The OE LVGL is configured to obtain timer tick from system timer +instead of using ad-hoc mechanisms to emulate timer tick using +threads or such. Use system timer to provide the tick. + +The tick handling implementation comes from: +https://github.com/lvgl/lv_port_linux_frame_buffer.git +as of commit adf2c4490e17a1b9ec1902cc412a24b3b8235c8e + +Upstream-Status: Inappropriate [Upstream repo is archived] +Signed-off-by: Marek Vasut +--- + src/drivers/wayland.c | 24 ++++++++++++++++-------- + 1 file changed, 16 insertions(+), 8 deletions(-) + +diff --git a/src/drivers/wayland.c b/src/drivers/wayland.c +index 633dc18..bcebf4d 100644 +--- a/src/drivers/wayland.c ++++ b/src/drivers/wayland.c +@@ -6,6 +6,7 @@ + #if defined(USE_WAYLAND) && USE_WAYLAND + + #include ++#include + #include + + #include +@@ -18,13 +19,22 @@ + #define WAYLAND_VER_RES 320 + #endif + +-static void * tick_thread(void * data) ++uint32_t custom_tick_get(void) + { +- (void) data; +- while(true) { +- usleep(5 * 1000); +- lv_tick_inc(5); +- } ++ static uint64_t start_ms = 0; ++ if(start_ms == 0) { ++ struct timeval tv_start; ++ gettimeofday(&tv_start, NULL); ++ start_ms = (tv_start.tv_sec * 1000000 + tv_start.tv_usec) / 1000; ++ } ++ ++ struct timeval tv_now; ++ gettimeofday(&tv_now, NULL); ++ uint64_t now_ms; ++ now_ms = (tv_now.tv_sec * 1000000 + tv_now.tv_usec) / 1000; ++ ++ uint32_t time_ms = now_ms - start_ms; ++ return time_ms; + } + + +@@ -47,8 +57,6 @@ void hal_init(void) + + lv_group_t * g = lv_group_create(); + lv_group_set_default(g); +- static pthread_t hal_thread; +- pthread_create(&hal_thread, NULL, tick_thread, NULL); + } + + #endif +-- +2.39.2 + diff --git a/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch b/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch new file mode 100644 index 000000000..8919a1a2a --- /dev/null +++ b/meta-oe/recipes-graphics/lvgl/dialog-lvgl/0002-wayland-Fix-callback-data-type.patch @@ -0,0 +1,30 @@ +From b7af695d79820adf53e7d612120bda12ed2886e2 Mon Sep 17 00:00:00 2001 +From: Marek Vasut +Date: Tue, 9 May 2023 02:57:38 +0200 +Subject: [PATCH 2/2] wayland: Fix callback data type + +The LVGL 8.3.y changed the callback data type, update it accordingly. + +Upstream-Status: Inappropriate [Upstream repo is archived] +Signed-off-by: Marek Vasut +--- + src/drivers/wayland.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/src/drivers/wayland.c b/src/drivers/wayland.c +index bcebf4d..cfefa88 100644 +--- a/src/drivers/wayland.c ++++ b/src/drivers/wayland.c +@@ -37,8 +37,7 @@ uint32_t custom_tick_get(void) + return time_ms; + } + +- +-static lv_wayland_display_close_f_t close_cb() ++static bool close_cb(lv_disp_t * disp) + { + } + +-- +2.39.2 + diff --git a/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb b/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb index 7e24c51f2..9e820d0db 100644 --- a/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb +++ b/meta-oe/recipes-graphics/lvgl/dialog-lvgl_git.bb @@ -1,8 +1,11 @@ # SPDX-FileCopyrightText: Huawei Inc. # SPDX-License-Identifier: MIT -SRC_URI = "gitsm://git.ostc-eu.org/rzr/dialog-lvgl;destsuffix=${S};protocol=https;nobranch=1" -SRCREV = "5d2121457a6988c97cacb0790594440693fc3d29" +SRC_URI = "git://git.ostc-eu.org/rzr/dialog-lvgl;destsuffix=${S};protocol=https;nobranch=1 \ + file://0001-wayland-Switch-to-custom-timer-tick.patch \ + file://0002-wayland-Fix-callback-data-type.patch \ + " +SRCREV = "cdf8d38acca87e871c3a488fd07f1e4779590f8e" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=8ce0a84e5276f01364119c873b712c4f" From patchwork Tue May 9 02:43:55 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Marek Vasut X-Patchwork-Id: 23640 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 735D0C7EE25 for ; Tue, 9 May 2023 02:44:29 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) by mx.groups.io with SMTP id smtpd.web10.6994.1683600259688840936 for ; Mon, 08 May 2023 19:44:20 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@denx.de header.s=phobos-20191101 header.b=zk8+n01N; spf=pass (domain: denx.de, ip: 85.214.62.61, mailfrom: marex@denx.de) Received: from tr.lan (ip-86-49-120-218.bb.vodafone.cz [86.49.120.218]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: marex@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id 2E8B48479F; Tue, 9 May 2023 04:44:16 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1683600256; bh=oXRZgULX7Q15l9jMkB39/1bEfvfcagXmgnCmgoqgDxI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=zk8+n01NpMoOqxwwEIKDVGWQxkVihsi2wTLQYwMFXhnZIZDo9EanxBv1orZlJ2wgb FWToMQnoFurH8lqC/lR8tFuPF72RYzZzCX7fpP4VslmAtW5ZgkdqgUHSPClXEp7ItH voj3SZPfxzb6vc0BY2jwsW6zU6WSKZP8wrcVVDk+zNfPDYLLw8NuSaRL5KGvtU3DjL FUw9Jd9uIYLALw/+qEsGwmCIzIDl7fAQZ+1281PkWFPrL+akJN4LgXbciMFyR8vAkl oAbxBhULjh5ch0Xob2q9+8OkeLsLDAJqaH/oFrDpP1Vv0cbPyw5VWx15Qza+weLMjL P43OAHB29n73w== From: Marek Vasut To: openembedded-devel@lists.openembedded.org Cc: Marek Vasut , Fabio Estevam , Khem Raj , Martin Jansa , Philippe Coval , Philippe Coval Subject: [meta-oe][PATCH v2 7/7] lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES Date: Tue, 9 May 2023 04:43:55 +0200 Message-Id: <20230509024355.79006-7-marex@denx.de> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20230509024355.79006-1-marex@denx.de> References: <20230509024355.79006-1-marex@denx.de> MIME-Version: 1.0 X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 09 May 2023 02:44:29 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-devel/message/102458 This recipe hard depends on fbdev, since it specifically targets systems using it. Add the DISTRO_FEATURES dependency to indicate it. Signed-off-by: Marek Vasut --- Cc: Fabio Estevam Cc: Khem Raj Cc: Martin Jansa Cc: Philippe Coval Cc: Philippe Coval --- V2: New patch --- meta-oe/recipes-graphics/lvgl/lvgl-demo-fb_8.3.0.bb | 2 ++ 1 file changed, 2 insertions(+) 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 index d86d6ff9c..8e0b91cac 100644 --- 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 @@ -10,6 +10,8 @@ SRCREV = "adf2c4490e17a1b9ec1902cc412a24b3b8235c8e" S = "${WORKDIR}/git" +REQUIRED_DISTRO_FEATURES = "fbdev" + EXTRA_OEMAKE = "DESTDIR=${D}" do_install() {