Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
From 5b7f657e8ad656e0854f2252b3bd482b966d650c Mon Sep 17 00:00:00 2001
|
||||
From: Marek Vasut <marex@denx.de>
|
||||
Date: Wed, 13 Mar 2024 02:12:30 +0100
|
||||
Subject: [PATCH 2/2] fix(sdl): handle both LV_IMAGE_SRC_FILE and
|
||||
LV_IMAGE_SRC_VARIABLE
|
||||
|
||||
The SDL image draw code currently assumes that the image source is a
|
||||
filename and attempts to open that filename. This is not necessarily
|
||||
the case, e.g. the lv_demo_fb uses encoded images which are of type
|
||||
LV_IMAGE_SRC_VARIABLE and instead of filename, come with a buffer of
|
||||
pixels. Handle the later using SDL_CreateRGBSurfaceFrom().
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/5852]
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
---
|
||||
src/draw/sdl/lv_draw_sdl.c | 30 +++++++++++++++++++++++++++---
|
||||
1 file changed, 27 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/draw/sdl/lv_draw_sdl.c b/src/draw/sdl/lv_draw_sdl.c
|
||||
index cbb555d94..5eee5b725 100644
|
||||
--- a/src/draw/sdl/lv_draw_sdl.c
|
||||
+++ b/src/draw/sdl/lv_draw_sdl.c
|
||||
@@ -224,10 +224,34 @@ static bool draw_to_texture(lv_draw_sdl_unit_t * u, cache_data_t * data)
|
||||
break;
|
||||
case LV_DRAW_TASK_TYPE_IMAGE: {
|
||||
lv_draw_image_dsc_t * image_dsc = task->draw_dsc;
|
||||
- const char * path = image_dsc->src;
|
||||
- SDL_Surface * surface = IMG_Load(&path[2]);
|
||||
+ lv_image_src_t type = lv_image_src_get_type(image_dsc->src);
|
||||
+ SDL_Surface * surface = NULL;
|
||||
+ if(type == LV_IMAGE_SRC_FILE) {
|
||||
+ const char * path = image_dsc->src;
|
||||
+ surface = IMG_Load(&path[2]);
|
||||
+ }
|
||||
+ else if(type == LV_IMAGE_SRC_VARIABLE) {
|
||||
+ lv_image_dsc_t * lvd = image_dsc->src;
|
||||
+ surface = SDL_CreateRGBSurfaceFrom(lvd->data,
|
||||
+ lvd->header.w, lvd->header.h,
|
||||
+ LV_COLOR_FORMAT_GET_BPP(lvd->header.cf),
|
||||
+ lvd->header.stride,
|
||||
+#if SDL_BYTEORDER == SDL_LIL_ENDIAN
|
||||
+ 0x00FF0000,
|
||||
+ 0x0000FF00,
|
||||
+ 0x000000FF,
|
||||
+ 0xFF000000
|
||||
+#else
|
||||
+ 0x0000FF00,
|
||||
+ 0x00FF0000,
|
||||
+ 0xFF000000,
|
||||
+ 0x000000FF
|
||||
+#endif
|
||||
+ );
|
||||
+ }
|
||||
+
|
||||
if(surface == NULL) {
|
||||
- fprintf(stderr, "could not load image: %s\n", IMG_GetError());
|
||||
+ fprintf(stderr, "could not load image\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 85d90749a10b5f91741d37b75825935bf7cc4fb3 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Vasut <marex@denx.de>
|
||||
Date: Tue, 12 Mar 2024 03:00:37 +0100
|
||||
Subject: [PATCH 3/6] Make fbdev device node runtime configurable via
|
||||
environment variable
|
||||
|
||||
Test whether $LV_VIDEO_CARD environment variable is non-NULL and in
|
||||
case it is, use it as the video card file in lv_linux_fbdev_set_file().
|
||||
Otherwise fall back to /dev/fb0, i.e. the current behavior. This way,
|
||||
it is possible to test LVGL on systems with multiple fbdev devices.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
---
|
||||
main.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/main.c b/main.c
|
||||
index 9775b9c..b64a098 100644
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -4,13 +4,19 @@
|
||||
#include <pthread.h>
|
||||
#include <time.h>
|
||||
|
||||
+static const char *lv_linux_get_video_card_node(const char *videocard_default)
|
||||
+{
|
||||
+ return getenv("LV_VIDEO_CARD") ? : videocard_default;
|
||||
+}
|
||||
+
|
||||
int main(void)
|
||||
{
|
||||
+ const char *videocard = lv_linux_get_video_card_node("/dev/fb0");
|
||||
lv_init();
|
||||
|
||||
/*Linux frame buffer device init*/
|
||||
lv_display_t * disp = lv_linux_fbdev_create();
|
||||
- lv_linux_fbdev_set_file(disp, "/dev/fb0");
|
||||
+ lv_linux_fbdev_set_file(disp, videocard);
|
||||
|
||||
/*Create a Demo*/
|
||||
lv_demo_widgets();
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
From 593da8e11cc5029773ad330b5d7633ee9f2fba95 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Vasut <marex@denx.de>
|
||||
Date: Tue, 12 Mar 2024 18:09:42 +0100
|
||||
Subject: [PATCH 4/6] Factor out fbdev initialization code
|
||||
|
||||
Pull fbdev initialization code into separate function and add ifdef
|
||||
around it, so it can be conditionally compiled in. This is done in
|
||||
preparation for addition of other backend initialization example
|
||||
code.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
---
|
||||
main.c | 18 ++++++++++++++----
|
||||
1 file changed, 14 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/main.c b/main.c
|
||||
index b64a098..288519c 100644
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -9,14 +9,24 @@ static const char *lv_linux_get_video_card_node(const char *videocard_default)
|
||||
return getenv("LV_VIDEO_CARD") ? : videocard_default;
|
||||
}
|
||||
|
||||
-int main(void)
|
||||
+#if LV_USE_LINUX_FBDEV
|
||||
+static void lv_linux_disp_init(void)
|
||||
{
|
||||
const char *videocard = lv_linux_get_video_card_node("/dev/fb0");
|
||||
- lv_init();
|
||||
-
|
||||
- /*Linux frame buffer device init*/
|
||||
lv_display_t * disp = lv_linux_fbdev_create();
|
||||
+
|
||||
lv_linux_fbdev_set_file(disp, videocard);
|
||||
+}
|
||||
+#else
|
||||
+#error Unsupported configuration
|
||||
+#endif
|
||||
+
|
||||
+int main(void)
|
||||
+{
|
||||
+ lv_init();
|
||||
+
|
||||
+ /*Linux display device init*/
|
||||
+ lv_linux_disp_init();
|
||||
|
||||
/*Create a Demo*/
|
||||
lv_demo_widgets();
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From dabf40559428733413432afa29598bc145aa6636 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Vasut <marex@denx.de>
|
||||
Date: Tue, 12 Mar 2024 03:08:13 +0100
|
||||
Subject: [PATCH 5/6] Add DRM/KMS example support
|
||||
|
||||
Extend the main.c to support both legacy fbdev and DRM/KMS initialization.
|
||||
|
||||
To use legacy fbdev support, adjust lv_conf.h as follows:
|
||||
LV_USE_LINUX_FBDEV=1
|
||||
LV_USE_LINUX_DRM=0
|
||||
|
||||
To use DRM/KMS support, adjust lv_conf.h as follows:
|
||||
LV_USE_LINUX_FBDEV=0
|
||||
LV_USE_LINUX_DRM=1
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
---
|
||||
CMakeLists.txt | 5 ++++-
|
||||
main.c | 8 ++++++++
|
||||
2 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index d91b196..c1cfb7f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -12,6 +12,9 @@ target_include_directories(lvgl PUBLIC ${PROJECT_SOURCE_DIR})
|
||||
|
||||
add_executable(main main.c mouse_cursor_icon.c)
|
||||
|
||||
-target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} m pthread)
|
||||
+include(${CMAKE_CURRENT_LIST_DIR}/lvgl/tests/FindLibDRM.cmake)
|
||||
+include_directories(${Libdrm_INCLUDE_DIRS})
|
||||
+
|
||||
+target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
|
||||
add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
|
||||
|
||||
diff --git a/main.c b/main.c
|
||||
index 288519c..ab4e936 100644
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -17,6 +17,14 @@ static void lv_linux_disp_init(void)
|
||||
|
||||
lv_linux_fbdev_set_file(disp, videocard);
|
||||
}
|
||||
+#elif LV_USE_LINUX_DRM
|
||||
+static void lv_linux_disp_init(void)
|
||||
+{
|
||||
+ const char *videocard = lv_linux_get_video_card_node("/dev/dri/card0");
|
||||
+ lv_display_t * disp = lv_linux_drm_create();
|
||||
+
|
||||
+ lv_linux_drm_set_file(disp, videocard, -1);
|
||||
+}
|
||||
#else
|
||||
#error Unsupported configuration
|
||||
#endif
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
From b202ce51f7b68c460fcd1b6d9c3ffa8aaf2baaf6 Mon Sep 17 00:00:00 2001
|
||||
From: Marek Vasut <marex@denx.de>
|
||||
Date: Tue, 12 Mar 2024 19:05:38 +0100
|
||||
Subject: [PATCH 6/6] Add SDL2 example support
|
||||
|
||||
Extend the main.c to support both legacy fbdev, DRM/KMS, SDL2 initialization.
|
||||
The SDL2 window resolution can be configured using environment variables
|
||||
LV_VIDEO_WIDTH and LV_VIDEO_HEIGHT and defaults to 800 x 480 .
|
||||
|
||||
To use legacy fbdev support, adjust lv_conf.h as follows:
|
||||
LV_USE_LINUX_FBDEV=1
|
||||
LV_USE_LINUX_DRM=0
|
||||
LV_USE_SDL=0
|
||||
|
||||
To use DRM/KMS support, adjust lv_conf.h as follows:
|
||||
LV_USE_LINUX_FBDEV=0
|
||||
LV_USE_LINUX_DRM=1
|
||||
LV_USE_SDL=0
|
||||
|
||||
To use SDL2 support, adjust lv_conf.h as follows:
|
||||
LV_USE_LINUX_FBDEV=0
|
||||
LV_USE_LINUX_DRM=0
|
||||
LV_USE_SDL=1
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lv_port_linux_frame_buffer/pull/47]
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
---
|
||||
CMakeLists.txt | 6 +++++-
|
||||
main.c | 8 ++++++++
|
||||
2 files changed, 13 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index c1cfb7f..658193f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -15,6 +15,10 @@ add_executable(main main.c mouse_cursor_icon.c)
|
||||
include(${CMAKE_CURRENT_LIST_DIR}/lvgl/tests/FindLibDRM.cmake)
|
||||
include_directories(${Libdrm_INCLUDE_DIRS})
|
||||
|
||||
-target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
|
||||
+find_package(SDL2)
|
||||
+find_package(SDL2_image)
|
||||
+include_directories(${SDL2_INCLUDE_DIRS} ${SDL2_IMAGE_INCLUDE_DIRS})
|
||||
+
|
||||
+target_link_libraries(main lvgl lvgl::examples lvgl::demos lvgl::thorvg ${SDL2_LIBRARIES} ${SDL2_IMAGE_LIBRARIES} ${Libdrm_LIBRARIES} m pthread)
|
||||
add_custom_target (run COMMAND ${EXECUTABLE_OUTPUT_PATH}/main DEPENDS main)
|
||||
|
||||
diff --git a/main.c b/main.c
|
||||
index ab4e936..4b66ebc 100644
|
||||
--- a/main.c
|
||||
+++ b/main.c
|
||||
@@ -25,6 +25,14 @@ static void lv_linux_disp_init(void)
|
||||
|
||||
lv_linux_drm_set_file(disp, videocard, -1);
|
||||
}
|
||||
+#elif LV_USE_SDL
|
||||
+static void lv_linux_disp_init(void)
|
||||
+{
|
||||
+ const int width = atoi(getenv("LV_VIDEO_WIDTH") ? : "800");
|
||||
+ const int height = atoi(getenv("LV_VIDEO_HEIGHT") ? : "480");
|
||||
+
|
||||
+ lv_sdl_window_create(width, height);
|
||||
+}
|
||||
#else
|
||||
#error Unsupported configuration
|
||||
#endif
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
From 40657a770baadfff30abfecf7638e7b1c340db4d Mon Sep 17 00:00:00 2001
|
||||
From: Marek Vasut <marex@denx.de>
|
||||
Date: Thu, 14 Mar 2024 03:23:10 +0100
|
||||
Subject: [PATCH] fix(cmake): generate versioned shared libraries
|
||||
|
||||
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 .
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/5865]
|
||||
Signed-off-by: Marek Vasut <marex@denx.de>
|
||||
---
|
||||
env_support/cmake/custom.cmake | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/env_support/cmake/custom.cmake b/env_support/cmake/custom.cmake
|
||||
index 9800468eb..6f33f1cc8 100644
|
||||
--- a/env_support/cmake/custom.cmake
|
||||
+++ b/env_support/cmake/custom.cmake
|
||||
@@ -1,3 +1,6 @@
|
||||
+set(LVGL_VERSION "9.0.0")
|
||||
+set(LVGL_SOVERSION "9")
|
||||
+
|
||||
# Option to define LV_LVGL_H_INCLUDE_SIMPLE, default: ON
|
||||
option(LV_LVGL_H_INCLUDE_SIMPLE
|
||||
"Use #include \"lvgl.h\" instead of #include \"../../lvgl.h\"" ON)
|
||||
@@ -119,6 +122,8 @@ install(
|
||||
set_target_properties(
|
||||
lvgl
|
||||
PROPERTIES OUTPUT_NAME lvgl
|
||||
+ VERSION ${LVGL_VERSION}
|
||||
+ SOVERSION ${LVGL_SOVERSION}
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
@@ -137,6 +142,8 @@ if(NOT LV_CONF_BUILD_DISABLE_THORVG_INTERNAL)
|
||||
set_target_properties(
|
||||
lvgl_thorvg
|
||||
PROPERTIES OUTPUT_NAME lvgl_thorvg
|
||||
+ VERSION ${LVGL_VERSION}
|
||||
+ SOVERSION ${LVGL_SOVERSION}
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
@@ -155,6 +162,8 @@ if(NOT LV_CONF_BUILD_DISABLE_DEMOS)
|
||||
set_target_properties(
|
||||
lvgl_demos
|
||||
PROPERTIES OUTPUT_NAME lvgl_demos
|
||||
+ VERSION ${LVGL_VERSION}
|
||||
+ SOVERSION ${LVGL_SOVERSION}
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
@@ -173,6 +182,8 @@ if(NOT LV_CONF_BUILD_DISABLE_EXAMPLES)
|
||||
set_target_properties(
|
||||
lvgl_examples
|
||||
PROPERTIES OUTPUT_NAME lvgl_examples
|
||||
+ VERSION ${LVGL_VERSION}
|
||||
+ SOVERSION ${LVGL_SOVERSION}
|
||||
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
|
||||
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin"
|
||||
--
|
||||
2.43.0
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From a6f822f75b3ba01b00c028608c93160d09a6ffd1 Mon Sep 17 00:00:00 2001
|
||||
From: Jaeyoon Jung <jaeyoon.jung@lge.com>
|
||||
Date: Mon, 1 Apr 2024 18:00:39 +0900
|
||||
Subject: [PATCH] fix(fbdev): set resolution prior to buffer
|
||||
|
||||
Otherwise it ends up with using the default value 800x480 and may fail
|
||||
at lv_display_set_buffers due to incorrect resolution.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/lvgl/lvgl/pull/6004]
|
||||
Signed-off-by: Jaeyoon Jung <jaeyoon.jung@lge.com>
|
||||
---
|
||||
|
||||
src/drivers/display/fb/lv_linux_fbdev.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/drivers/display/fb/lv_linux_fbdev.c b/src/drivers/display/fb/lv_linux_fbdev.c
|
||||
index b3cc89199..5fb4c5c9f 100644
|
||||
--- a/src/drivers/display/fb/lv_linux_fbdev.c
|
||||
+++ b/src/drivers/display/fb/lv_linux_fbdev.c
|
||||
@@ -233,8 +233,8 @@ void lv_linux_fbdev_set_file(lv_display_t * disp, const char * file)
|
||||
draw_buf_2 = malloc(draw_buf_size);
|
||||
}
|
||||
|
||||
- lv_display_set_buffers(disp, draw_buf, draw_buf_2, draw_buf_size, LV_LINUX_FBDEV_RENDER_MODE);
|
||||
lv_display_set_resolution(disp, hor_res, ver_res);
|
||||
+ lv_display_set_buffers(disp, draw_buf, draw_buf_2, draw_buf_size, LV_LINUX_FBDEV_RENDER_MODE);
|
||||
|
||||
if(width > 0) {
|
||||
lv_display_set_dpi(disp, DIV_ROUND_UP(hor_res * 254, width * 10));
|
||||
@@ -0,0 +1,76 @@
|
||||
PACKAGECONFIG ??= "drm"
|
||||
|
||||
PACKAGECONFIG[drm] = ",,libdrm"
|
||||
PACKAGECONFIG[fbdev] = ",,"
|
||||
PACKAGECONFIG[sdl] = ",,virtual/libsdl2 libsdl2-image"
|
||||
|
||||
# Add libdrm include if drm is selected in PACKAGECONFIG
|
||||
TARGET_CFLAGS += "${@bb.utils.contains('PACKAGECONFIG', 'drm', '-I${STAGING_INCDIR}/libdrm', '', d)}"
|
||||
|
||||
LVGL_CONFIG_USE_DRM = "${@bb.utils.contains('PACKAGECONFIG', 'drm', '1', '0', d)}"
|
||||
|
||||
LVGL_CONFIG_USE_EVDEV = "${@bb.utils.contains_any('PACKAGECONFIG', 'drm fbdev', '1', '0', d)}"
|
||||
|
||||
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_SDL_FULLSCREEN ?= "0"
|
||||
|
||||
LVGL_CONFIG_LV_MEM_CUSTOM ?= "0"
|
||||
LVGL_CONFIG_LV_MEM_SIZE ?= "(64 * 1024U)"
|
||||
LVGL_CONFIG_LV_COLOR_DEPTH ?= "32"
|
||||
|
||||
LVGL_CONFIG_LV_USE_LOG ?= "0"
|
||||
LVGL_CONFIG_LV_LOG_LEVEL ?= "LV_LOG_LEVEL_WARN"
|
||||
LVGL_CONFIG_LV_LOG_PRINTF ?= "0"
|
||||
|
||||
LVGL_CONFIG_LV_USE_FONT_COMPRESSED ?= "0"
|
||||
|
||||
LVGL_CONFIG_LV_THEME_DEFAULT_DARK ?= "0"
|
||||
|
||||
DEBUG_BUILD ??= "0"
|
||||
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
|
||||
EXTRA_OECMAKE += "-Dinstall:BOOL=ON -DLIB_INSTALL_DIR=${baselib}"
|
||||
|
||||
do_configure:append() {
|
||||
# If there is a configuration template, start from that
|
||||
[ -r "${S}/lv_conf_template.h" ] && cp -Lv "${S}/lv_conf_template.h" "${S}/lv_conf.h"
|
||||
|
||||
sed -r -e "s|#if 0 .*Set it to \"1\" to enable content.*|#if 1 // Enabled by ${PN}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_LINUX_DRM[[:space:]]).*|\1${LVGL_CONFIG_USE_DRM}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_LINUX_FBDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_FBDEV}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
|
||||
-e "s|^([[:space:]]*#define LV_USE_DRAW_SDL[[:space:]]).*|\1${LVGL_CONFIG_USE_SDL}|" \
|
||||
-e "s|^([[:space:]]*#define LV_SDL_BUF_COUNT[[:space:]]).*|\1 2|" \
|
||||
-e "s|^([[:space:]]*#define LV_SDL_FULLSCREEN[[:space:]]).*|\1${LVGL_CONFIG_SDL_FULLSCREEN}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_COLOR_DEPTH[[:space:]]).*|\1${LVGL_CONFIG_LV_COLOR_DEPTH}|" \
|
||||
-e "s|^([[:space:]]*#define LV_MEM_CUSTOM[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_CUSTOM}|" \
|
||||
-e "s|^([[:space:]]*#define LV_MEM_SIZE[[:space:]]).*|\1${LVGL_CONFIG_LV_MEM_SIZE}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_TICK_CUSTOM[[:space:]]).*|\1 1|" \
|
||||
-e "s|^([[:space:]]*#define LV_TICK_CUSTOM_INCLUDE[[:space:]]).*|\1 <stdint.h>|" \
|
||||
-e "s|^([[:space:]]*#define LV_TICK_CUSTOM_SYS_TIME_EXPR[[:space:]]).*|extern uint32_t custom_tick_get(void);\n\1 (custom_tick_get())|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_EVDEV[[:space:]]).*|\1${LVGL_CONFIG_USE_EVDEV}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_ASSERT_NULL[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||
-e "s|^([[:space:]]*#define LV_USE_ASSERT_MALLOC[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||
-e "s|^([[:space:]]*#define LV_USE_ASSERT_STYLE[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||
-e "s|^([[:space:]]*#define LV_USE_ASSERT_MEM_INTEGRITY[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||
-e "s|^([[:space:]]*#define LV_USE_ASSERT_OBJ[[:space:]]).*|\1${DEBUG_BUILD}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_LOG[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_LOG}|" \
|
||||
-e "s|^([[:space:]]*#define LV_LOG_LEVEL[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_LEVEL}|" \
|
||||
-e "s|^([[:space:]]*#define LV_LOG_PRINTF[[:space:]]).*|\1${LVGL_CONFIG_LV_LOG_PRINTF}|" \
|
||||
\
|
||||
-e "s|^([[:space:]]*#define LV_USE_FONT_COMPRESSED[[:space:]]).*|\1${LVGL_CONFIG_LV_USE_FONT_COMPRESSED}|" \
|
||||
-e "s|^([[:space:]]*#define LV_THEME_DEFAULT_DARK[[:space:]]).*|\1${LVGL_CONFIG_LV_THEME_DEFAULT_DARK}|" \
|
||||
\
|
||||
-i "${S}/lv_conf.h"
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
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 \
|
||||
file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch;patchdir=lvgl \
|
||||
file://0003-Make-fbdev-device-node-runtime-configurable-via-envi.patch \
|
||||
file://0004-Factor-out-fbdev-initialization-code.patch \
|
||||
file://0005-Add-DRM-KMS-example-support.patch \
|
||||
file://0006-Add-SDL2-example-support.patch \
|
||||
file://0007-fix-cmake-generate-versioned-shared-libraries.patch;patchdir=lvgl \
|
||||
file://0008-fix-fbdev-set-resolution-prior-to-buffer.patch;patchdir=lvgl \
|
||||
"
|
||||
SRCREV_demo = "dccc6a1ca48372aa993dbea7a8e17dec6f42df6a"
|
||||
SRCREV_lvgl = "e1c0b21b2723d391b885de4b2ee5cc997eccca91"
|
||||
SRCREV_FORMAT = "demo_lvgl"
|
||||
|
||||
EXTRA_OEMAKE = "DESTDIR=${D}"
|
||||
|
||||
LVGL_CONFIG_DRM_CARD ?= "/dev/dri/card0"
|
||||
LVGL_CONFIG_LV_USE_LOG = "1"
|
||||
LVGL_CONFIG_LV_LOG_PRINTF = "1"
|
||||
LVGL_CONFIG_LV_MEM_SIZE = "(256 * 1024U)"
|
||||
LVGL_CONFIG_LV_USE_FONT_COMPRESSED = "1"
|
||||
require lv-conf.inc
|
||||
|
||||
inherit cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
do_configure:prepend() {
|
||||
if [ "${LVGL_CONFIG_USE_SDL}" -eq 1 ] ; then
|
||||
# Add libsdl build dependency, SDL2_image has no cmake file
|
||||
sed -i '/^target_link_libraries/ s@pthread@& SDL2_image@' "${S}/CMakeLists.txt"
|
||||
fi
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${S}/bin/main ${D}${bindir}/lvgl
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
# 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 \
|
||||
file://0002-fix-sdl-handle-both-LV_IMAGE_SRC_FILE-and-LV_IMAGE_S.patch \
|
||||
file://0007-fix-cmake-generate-versioned-shared-libraries.patch \
|
||||
file://0008-fix-fbdev-set-resolution-prior-to-buffer.patch \
|
||||
"
|
||||
SRCREV = "e1c0b21b2723d391b885de4b2ee5cc997eccca91"
|
||||
|
||||
inherit cmake
|
||||
|
||||
EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib} -DBUILD_SHARED_LIBS=ON"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
require lv-conf.inc
|
||||
|
||||
do_install:append() {
|
||||
install -d "${D}${includedir}/${PN}"
|
||||
install -m 0644 "${S}/lv_conf.h" "${D}${includedir}/${PN}/lv_conf.h"
|
||||
}
|
||||
|
||||
FILES:${PN}-dev += "\
|
||||
${includedir}/${PN}/ \
|
||||
"
|
||||
Reference in New Issue
Block a user