Commit Graph

23 Commits

Author SHA1 Message Date
Fabio Estevam
ecefb3a75d lvgl: lvgl-demo-fb: Inherit features_check
Inherit features_check to fix the following QA error:

ERROR: QA Issue: lvgl-demo-fb: recipe doesn't inherit features_check [unhandled-features-check]

Reported-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-14 22:15:01 -07:00
Marek Vasut
c7504645e2 lvgl: Add dependency on fbdev into lvgl-demo-fb DISTRO_FEATURES
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 <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Marek Vasut
fcbe242276 lvgl: Upgrade dialog-lvgl to next/main version
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 <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Marek Vasut
387200af7c lvgl: Update lvgl-demo-fb to 8.3.0
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 <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Marek Vasut
dbf8086926 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 <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Marek Vasut
1278e8cfca lvgl: Add configurable color depth, default to 32bpp
Make color depth configurable and default to 32bpp .

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Marek Vasut
6a2fb1f751 lvgl: Activate custom tick implementation
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 <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Marek Vasut
6491067312 lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0
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 <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-05-09 10:12:44 -07:00
Martin Jansa
faa9d6a7b1 lvgl,lv-lib-png,lv-drivers: fix installed-vs-shipped QA issue with multilib
* with multilib BASELIB is just "lib" while baselib is "lib64"
  and libdir is "/usr/lib64".
* fixes:
  ERROR: QA Issue: lvgl: Files/directories were installed but not shipped in any package:
    /usr/lib
    /usr/lib/liblvgl.a
  Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
  lvgl: 2 installed and not shipped files. [installed-vs-shipped]

* lowercase baselib should work for ppc64 as well (I hope)
  # $baselib [3 operations]
  #   set oe-core/meta/conf/bitbake.conf:10
  #     "${BASELIB}"
  #   set oe-core/meta/conf/bitbake.conf:11
  #     [vardepvalue] "${baselib}"
  #   set oe-core/meta/conf/multilib.conf:2
  #     "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
  # pre-expansion value:
  #   "${@d.getVar('BASE_LIB:tune-' + (d.getVar('DEFAULTTUNE') or 'INVALID')) or d.getVar('BASELIB')}"
  baselib="lib64"

* simplify destsuffix/S setting
* I was surprised that ${WORKDIR}/${PN}-${PV} works in multilib build
  but then I've noticed that it's because destsuffix is set to S which
  is a bit uncommon, so drop that and use default "git"

* use ${STAGING_INCDIR} instead of ${RECIPE_SYSROOT}/${includedir}

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-04-07 16:58:15 -07:00
Fabio Estevam
c3f4c702ae lvgl-demo-fb: Add recipe
Add a recipe for the LVGL framebuffer GUI demo.

This allows to quickly test the LVGL framebuffer GUI demo application
by running the "demo" binary.

Signed-off-by: Fabio Estevam <festevam@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-01-17 08:27:45 -08:00
Philippe Coval
8d75eff6af lvgl: Add dialog-lvgl recipe as demo example
This example was written just to validate lvgl on wayland,
Feel free to get inspiration from.

Origin: https://github.com/astrolabe-coop/meta-openembedded
Forwarded: https://github.com/openembedded/meta-openembedded/pull/601
Relate-to: https://git.ostc-eu.org/rzr/dialog-lvgl/-/issues/5
Relate-to: https://git.ostc-eu.org/rzr/dialog-lvgl/-/wikis/
Signed-off-by: Philippe Coval <philippe.coval.ext@huawei.com>
2022-09-06 08:43:34 -07:00
Khem Raj
ed2cb1735a lvgl,lv-lib-png,lv-drivers: Pass libdir via LIB_INSTALL_DIR to cmake
Ensures it packages correclty on all platforms e.g. pp64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2022-03-21 08:25:11 -07:00
Philippe Coval
b6738f86f3 lvgl: Update to 8.1.0
Forwarded: https://github.com/openembedded/meta-openembedded/pull/489
Origin: https://booting.oniroproject.org/rzr/oniro/-/tree/sandbox/rzr/devel/master
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-22 10:15:00 -08:00
Philippe Coval
d4f9519079 lvgl: Support external wayland config
This part should be reverted once xdg-shell is supported in lvgl

Relate-to: https://github.com/lvgl/lvgl/issues/2534
Forwarded: https://github.com/openembedded/meta-openembedded/pull/483
Origin: https://git.ostc-eu.org/distro/oniro/-/merge_requests/355
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-15 08:57:25 -08:00
Philippe Coval
4aa6b803ed lvgl: Add hints about using configuration variables
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Forwarded: https://github.com/openembedded/meta-openembedded/pull/479
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-11 06:36:53 -08:00
Philippe Coval
243c83334a lvgl: Introduce global variable for configuration
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Forwarded: https://github.com/openembedded/meta-openembedded/pull/473
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-06 12:54:03 -07:00
Philippe Coval
b44f288522 lv-lib-png: Lint recipe
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-03 06:57:48 -07:00
Philippe Coval
e86355f2a2 lv-drivers: Lint recipe
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-11-01 05:45:17 -07:00
Philippe Coval
69fe208d2e lvgl: Lint recipe
Forwarded: https://github.com/openembedded/meta-openembedded/pull/461
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-25 10:40:50 -07:00
Martin Jansa
fc282987d2 lv-lib-png: add wayland to REQUIRED_DISTRO_FEATURES
* fixes:
ERROR: Nothing PROVIDES 'lvgl' (but meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb DEPENDS on or otherwise requires it)
lvgl was skipped: missing required distro feature 'wayland' (not in DISTRO_FEATURES)
ERROR: Nothing RPROVIDES 'lv-lib-png-dev' (but meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'lv-lib-png-dev'
NOTE: Runtime target 'lv-lib-png-dev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['lv-lib-png-dev']
ERROR: Nothing RPROVIDES 'lv-lib-png' (but meta-oe/recipes-graphics/lvgl/lv-lib-png_8.0.2.bb RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'lv-lib-png'
NOTE: Runtime target 'lv-lib-png' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['lv-lib-png']

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-20 12:33:31 -07:00
Philippe Coval
74d38f9a31 lv-lib-png: Add recipe for LVGL for handling PNG format
Note that this lib will be part of next lvgl release,
meanwhile we build it without touching lvgl default config.

Relate-to: https://git.ostc-eu.org/OSTC/planning/core-os/-/issues/233
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Forwarded: https://github.com/openembedded/meta-openembedded/pull/454
Change-Id: I2e467caae8e70577e5c9a93f92efc6588cf3bfa2
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-10-19 09:23:08 -07:00
Philippe Coval
5f69cfea69 lv-drivers: Add recipe for lvgl lib
Wayland driver is supported.

Change-Id: If734c0f1037a1feeb08a2a67fa76e3142ae35af0
Forwarded: https://github.com/openembedded/meta-openembedded/pull/447
Origin: https://git.ostc-eu.org/OSTC/planning/core-os/-/issues/233
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
2021-10-06 08:59:14 -07:00
Philippe Coval
21580d65af lvgl: Add recipe for Lightweight Graphics Library
Note, this requires lv-drivers for wayland rendering.

Change-Id: I920679891d0c7b5079537af77ff4d21094178cce
Forwarded: https://github.com/openembedded/meta-openembedded/pull/447
Relate-to: https://github.com/lvgl/lvgl/issues/2534
Origin: https://git.ostc-eu.org/OSTC/planning/core-os/-/issues/233
Signed-off-by: Philippe Coval <philippe.coval@huawei.com>
2021-10-06 08:59:14 -07:00