The lvgl main package is empty, since all the headers end up in
the -dev variant and static library archive ends up in -staticdev
variant. Mark the main package as ALLOW_EMPTY.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit 7c97b49180fe55f3116d13c40384fc3d326853e0)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
The lv-drivers main package is empty, since all the headers end up
in the -dev variant and static library archive ends up in -staticdev
variant. Mark the main package as ALLOW_EMPTY.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
(cherry picked from commit f2ab5e1ac3f7c8ff63eb96d797f10555dde8fd7d)
Signed-off-by: Armin Kuster <akuster808@gmail.com>
The usage of nobranch=1 in SRC_URI allows using unprotected branches.
This change updates the real branch name in place of nobranch=1 for these components.
Signed-off-by: Sourav Kumar Pramanik <pramanik.souravkumar@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
No longer used in generating packages
Also creates a possible confusion with the recipe maintainer
name.
Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add the ability to override default touch input device hard-coded into LVGL.
The current default in the code is "/dev/input/event10" for whatever reason,
let user override this. Pick "/dev/input/touchscreen" as the OE default, as
that is more likely to be present on embedded hardware.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The configuration of lv_drivers is the same in lv-drivers and lvgl-demo-fb,
the later just pulls in its own already preconfigured variant of lv-drivers
as git submodule. Pull out the lv-drivers configuration into separate file
lv-drivers.inc, so it can be shared by lv-drivers and lvgl-demo-fb recipes.
Furthermore, as the configuration support in both recipes diverged already,
merge support for both sets of configuration options. This way, lv-drivers
grows support for DRM and SDL backend, and lvgl-demo-fb for WL backend. The
PACKAGECONFIG of each recipe is left unchanged so far to avoid breaking of
existing users.
Note that LVGL_CONFIG_USE_EVDEV is new and activated for both fbdev and drm,
since both of those backends need EVDEV support right now. The libinput input
support is not available yet.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Switch the build of this recipe to CMake from the horrible Makefile
which is still part of the source tree and which blatantly encodes
various CFLAGS and co.
Add support for use of DRM and SDL backends and make this configurable.
The FBDEV is deprecated for close to two decades, so provide modern
alternatives -- DRM and SDL.
The DRM uses modern DRM API, but there is no GPU acceleration.
The SDL provides GPU support abstracted via the libSDL2 API and
can use multiple backends, DRM and WL included.
Default to the DRM backend, because FBDEV is just bad for any modern system.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
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>
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>
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>
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>
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>
* 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>
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>