There are no reasons to build the demos and examples for the dynamic
lvgl library.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Generating a configuration fragment for a feature can now be done using:
bitbake lvgl -c menuconfig && bitbake lvgl -c diffconfig
While this uses the standard cml1.bbclass, it expects that "make" is
used to run menuconfig etc. This is not true for lvgl, so unfortunately
the whole do_menuconfig() function had to be copied to be able to remove
the use of "make".
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This switches the recipe from manipulating the lv_conf.h file directly,
to instead using Kconfig to configure lvgl-demo-fb.
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This switches the recipe from manipulating the lv_conf.h file directly,
to instead using Kconfig to configure lvgl.
* Drop configuration of LV_TICK_CUSTOM* as they were removed in 9.0.0.
* Drop configuration options that match their defaults.
Co-authored-by: Adam x Nilsson <adam.x.nilsson@axis.com>
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add +git to PV since there is no v9.4.0 tag for the
lv_port_linux_frame_buffer repository.
* Do not run the default do_install() as it will install all of lvgl.
* Remove the hack in do_configure:prepend() for SDL2_image as cmake
(with a little help from pkg-config) now finds SDL2_image correctly.
License-Update: Copyright year updated to 2025
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop manual installation of lv_conf.h. It has not been needed since at
least 9.2.2.
License-Update: Copyright year updated to 2025
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Please see
https://git.yoctoproject.org/poky/commit/?id=4dd321f8b83afecd962393101b2a6861275b5265
for what changes are needed, and sed commands that can be used to make them en masse.
I've verified that bitbake -c patch world works with these, but did not run a world
build; the majority of recipes shouldn't need further fixups, but if there are
some that still fall out, they can be fixed in followups.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop backported patches
Enable dependent options needed for thorvg packageconfig
Add packageconfig knob for lottie and its relationship with thorvg
Reviewed-by: Marek Vasut <marex@denx.de>
Cc: Marek Vasut <marex@denx.de>
Cc: Jaeyoon Jung <jaeyoon.jung@lge.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fixes:
http://errors.yoctoproject.org/Errors/Details/848488/
which is triggered only when thorvg PACKAGECONFIG is enabled
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
All patches have been integrated meanwhile and should appear in the next
release.
Signed-off-by: Christian Eggers <ceggers@arri.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The version in the patch file needs to be updated.
Fixes: 0c19e65a0969 ("lvgl: Update to 9.1.0")
Signed-off-by: Christian Eggers <ceggers@arri.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* with multilib lib32-lvgl installs all headers except lv_conf.h into:
${includedir}/lvgl only lv_conf.h ends in ${includedir}/lib32-lvgl/
which is wrong and not included in any includepaths:
$ cat lib32-lvgl/9.1.0/image/usr/lib32/pkgconfig/lvgl.pc
prefix="/usr"
includedir="${prefix}/include/lvgl"
libdir=${prefix}/lib
Name: lvgl
Description: Light and Versatile Graphics Library
URL: https://lvgl.io/
Version: 9.1.0
Cflags: -I${includedir}
Libs: -L${libdir} -llvgl
Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Some packages require to activate LVGL_CONFIG_LV_USE_GRIDNAV, so let
configure it.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
It fixes an issue where the fbdev driver fails to set up a buffer due to
buffer size mismatch. It happens when the actual screen resolution is
smaller than the default one 800x480 because the actual resolution was
being set after lv_display_set_buffers.
Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Move the default PACKAGECONFIG setting from both recipes into
lv-conf.inc to avoid duplication. No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The PV has been appended because the source has been pulled from
git as of specific revision past 9.0.1 release of LVGL. The current
source is pulled as of tagged release 9.1.0, drop the extra git
suffix.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This ALLOW_EMPTY was a workaround for LVGL built as static library.
The lvgl is now built as shared library, drop this remnant.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Update LVGL to final 9.1.0 . Drop the XRGB8888 fix which
is part of the release.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The LVGL demo is configured slightly differently than the LVGL itself.
Logging and printing is enabled, memory size is higher and compressed
fonts are enabled. Reinstate the settings, otherwise the demo keeps
crashing at least with SDL2 backend.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
* use [[:space:]] instead of [ \t]
* remove global replace, as there is only one instance to replace for
each expression
* use extended regular expressions and remove escape characters
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The libdrm include is only needed when "drm" is selected in
PACKAGECONFIG.
In addition, move the TARGET_CFLAG addition to lv-conf.inc, where the
DRM configuration is actually selected for LVGL.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Use [ \t] to detect optionnal spaces at the beginning of each
line, and after the define.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
When DRM is activated for LVGL, it adds a dependency on drm.h.
As for lvgl-demo-fb, add an include path to fix this usecase.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Acked-by: Martin Jansa <martin.jansa@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
As it can be usefull to customize these other variables, let's
add them in lv-conf.inc.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Use back reference instead of repeating the search pattern. Later on
this could lead to a more generic way of replacing values in the .h file.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
As ${includedir}${PN} is already listed in FILES, there is no
need to add one of its subdirectories.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add an install append to copy the generated lv_conf.h as part of the
lvgl package, so that it will be found and used by the recipes that
want to use lvgl.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Fix a typo in the first sed instruction, where the #if 0 is
never changed to #if 1 at the beginning of lv_conf.h.
Signed-off-by: Christophe Chapuis <chris.chapuis@gmail.com>
Reviewed-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Add missing version suffix to shared libraries. Currently the filename of
generated shared libraries is only liblvgl.so, which prevents coexistence
of different versions of LVGL on the same system. Set VERSION and SOVERSION
to make cmake add the version suffix to generated shared libraries. That
changes the filename to liblvgl.so.9.0.0 and includes symlink with major
ABI version, i.e. liblvgl.so.9 .
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Replace the current awful sed hacking with real patches bound for upstream.
The sed hacking was simply not maintainable anymore.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Build LVGL as shared library instead of static library. In case
there are multiple applications linking against LVGL, this is more
efficient, and it also makes it possible to update only the LVGL
library separately from the applications.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The ARGB8888 framebuffer format for base canvas makes little sense
as the base canvas is unlikely to be transparent and require alpha.
Use XRGB8888 framebuffer format which is more widely supported by
DRM drivers as base plane pixel format.
This is identical to upstream fix for this issue which already landed:
c71e5f84bb
The upstream fix just never made it into the LVGL 9.0.0 for some reason,
an repeated upstream fix is being worked in now.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Configure all the LVGL assertions to enabled or disabled based on OE
DEBUG_BUILD variable. This way, debug builds come with assertions
which are expensive, while regular builds do not.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Expose SDL2 fullscreen mode as configuration option. The default
is disabled, which matches the SDL2 backend configuration in LVGL.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The lv-conf.inc is much more fitting name, since there is now only one
configuration file and that is called lv_conf.h . No functional change.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade LVGL and matching recipes to LVGL 9 series. Use latest git HEAD
instead of 9.0.0 release to pull in fixes which landed after the 9.0.0
release and which are of interest to Linux deployments.
There are significant breaking changes, which are listed below.
The lv-drivers and lv-lib-png PNG library seem to be part of the main LVGL
repository, drop the now unnecessary recipes.
Configuration is now done in lv_conf.h only, there is no more lv_drv_conf.h,
rework lv-drivers.inc accordingly. USE_SDL_GPU support has been renamed to
LV_USE_DRAW_SDL and newly depends on libsdl2-image, SDL_DOUBLE_BUFFERED to
LV_SDL_BUF_COUNT=2 .
All configuration options from lvgl_%.bb, LV_COLOR_DEPTH, LV_MEM_CUSTOM as
well as LV_TICK_CUSTOM, LV_TICK_CUSTOM_INCLUDE, LV_TICK_CUSTOM_SYS_TIME_EX
are all moved into lv-drivers.inc , so the configuration is done in one
place, using the same set of configuration options.
Wayland support is gone, drop it from lv-drivers.inc. Evdev input device
selection via EVDEV_NAME is also gone, the selection is now done using
API call lv_evdev_create(). DRM card selection via DRM_CARD is also gone,
the selection is now done using API call lv_linux_drm_set_file(). Move
LVGL_CONFIG_DRM_CARD into lvgl-demo-fb, which calls lv_linux_drm_set_file().
The lvgl-demo-fb recipe is adjusted to be compatible with LVGL 9 again,
this makes some of the sed adjustments really awful, so this part will
be replaced by upstream patches in a separate commit to avoid growing
this commit even more.
The lvgl-demo-fb recipe is also no longer using git submodules, but
instead fetches both its source and LVGL using git fetcher separately.
This is needed to build the SDL backend successfully, which requires
newer LVGL than what the repository points to via its submodule.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This recipe is barely compatible with LVGL 8.3, the repository
seems to be unreachable now, drop the recipe.
Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
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>
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>
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>